Commit Graph

323 Commits

Author SHA1 Message Date
David Langley f4251c2104 Merge branch 'langleyd/4781_swiftui_template_examples' of https://github.com/vector-im/element-ios into langleyd/4781_swiftui_template_examples 2021-09-09 10:50:42 +01:00
David Langley 154c4d749b Make reducer static, pass viewState directly to reducer, log reducer. 2021-09-09 10:50:39 +01:00
David Langley a75bc04d46 Update RiotSwiftUI/Modules/Template/SimpleUserProfileExample/ViewModel/TemplateUserProfileViewModel.swift
Co-authored-by: manuroe <manuroe@users.noreply.github.com>
2021-09-09 10:34:25 +01:00
David Langley 778c07d6ae Apply documentation suggestions from code review
Co-authored-by: manuroe <manuroe@users.noreply.github.com>
2021-09-09 10:31:41 +01:00
David Langley 15e05c4066 fix build 2021-09-08 17:56:51 +01:00
David Langley 95949f026d Fix retain cycle 2021-09-08 16:37:56 +01:00
David Langley c5f104a016 Extract presence listener setup out to own function. 2021-09-08 16:28:08 +01:00
David Langley 20bc4f5494 CoordinatorParamters, Type -> Protocol, remove MX Prefix. 2021-09-08 15:47:24 +01:00
David Langley 40cec6cd81 Add template unit tests and publisher utility. 2021-09-08 15:32:41 +01:00
David Langley b4ce8ffc90 Fix ordering, add pragmas, fix visibility on a few functions, remove default param on state. 2021-09-08 11:43:57 +01:00
David Langley 01a172bd5d Correct preview name and create template script 2021-09-08 00:00:34 +01:00
David Langley e5843b2fd5 Improve folder name 2021-09-07 23:04:52 +01:00
David Langley a09028c4e5 Make naming of symbols consistent 2021-09-07 23:02:26 +01:00
David Langley 372da7cdde Remove unneeded protocol and methods on VectortHostingController 2021-09-07 22:49:11 +01:00
David Langley 7a297ef8c8 Add ViewActions and ViewModelActions for Coordinator
- also add Marks
2021-09-07 16:57:08 +01:00
David Langley 932ee0ac07 Add Simple Template Example
- Add a simple Template example that shows a user profile with avatar, displayName and presence.
- ScreenCoordinator: closure based with less protocols and delegates.
- Reducer: Reducer function that manages all state modifications.
- SwiftUI View: Decomposes UI into appropriate sub components.
- Uses Theme and Dependency Management Infrastructure
2021-09-06 17:12:31 +01:00
David Langley af672a4108 Merge branch 'langleyd/4776_extract_swiftui' of https://github.com/vector-im/element-ios into langleyd/4781_swiftui_template_examples 2021-09-02 14:23:39 +01:00
David Langley 007e0a8b6f Move complete room notification settings module to RiotSwiftUI and fix naming/directory structure. 2021-09-02 14:09:29 +01:00
David Langley 2a9c06fad1 move full module and reorganize folders 2021-09-02 10:00:59 +01:00
David Langley 9849534e81 Fix filename typo 2021-09-02 09:43:54 +01:00
David Langley fa6625776f Add simple example with profile header, avatar and name. 2021-09-02 09:37:37 +01:00
David Langley 7bdbdde2b2 Clean up and make an application target so that debug works in live preview. 2021-09-01 14:28:47 +01:00
David Langley f4cb404df0 Finish extraction
- Moves SwiftUI code out of Riot and into RiotSwiftUI which has no dependency on Matrix SDK.
- Git wasn't smart enough to see the file moves. Most feature function has remain unchanged. 1 change I did make was remove NotificationSettingsViewModel's dependence on MxPushRule, so that the view model could be moved into RiotSwiftUI.
- Add LocaleProvider to abstract VectorL10n's use of Matrix SDK language so it can be used in RiotSwiftUI.
- Split Theme into UKit/SwiftUI version to remove RiotSwiftUI's dependence on ThemeService and ThemeV1.
- Migrated from ThemeObserver to ThemePublisher. We push updates to ThemePublisher so that we can remove ThemeService as dependency.
- Add .DS_Store to .gitignore
2021-09-01 12:34:38 +01:00