Commit Graph

24 Commits

Author SHA1 Message Date
David Langley a87baa133a UITests and Mock Screens
Adds the test targets for Unit and UI tests
Adds mock screen data and utilities to render each mock screen for previews/ui tests.
Changes Published property in the service to CurrentValueSubject. we don't need the synthesized aspect of Published and property wrappers cannot be included in protocols.
2021-09-09 16:23:00 +01:00
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