Commit Graph

74 Commits

Author SHA1 Message Date
David Langley 2d212ddd8e 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 c7524fd16e 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 f3d9ea49f0 Make reducer static, pass viewState directly to reducer, log reducer. 2021-09-09 10:50:39 +01:00
David Langley 4af9b66f56 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 44abb7ecd4 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 0826ccdb31 fix build 2021-09-08 17:56:51 +01:00
David Langley ad287d8dea Fix retain cycle 2021-09-08 16:37:56 +01:00
David Langley 15a7b43423 Extract presence listener setup out to own function. 2021-09-08 16:28:08 +01:00
David Langley f965620bfe CoordinatorParamters, Type -> Protocol, remove MX Prefix. 2021-09-08 15:47:24 +01:00
David Langley 0131654e47 Add template unit tests and publisher utility. 2021-09-08 15:32:41 +01:00
David Langley a35feeba26 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 c890c831c5 Correct preview name and create template script 2021-09-08 00:00:34 +01:00
David Langley 8259b82fb7 Improve folder name 2021-09-07 23:04:52 +01:00
David Langley 72cfb688e5 Make naming of symbols consistent 2021-09-07 23:02:26 +01:00
David Langley bcc3b23b1c Remove unneeded protocol and methods on VectortHostingController 2021-09-07 22:49:11 +01:00
David Langley 2720050646 Add ViewActions and ViewModelActions for Coordinator
- also add Marks
2021-09-07 16:57:08 +01:00
David Langley d82ae75a0b 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 663f73b880 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 14169c6594 Move complete room notification settings module to RiotSwiftUI and fix naming/directory structure. 2021-09-02 14:09:29 +01:00
David Langley 667beca407 move full module and reorganize folders 2021-09-02 10:00:59 +01:00
David Langley 173e9f2220 Fix filename typo 2021-09-02 09:43:54 +01:00
David Langley 3ef02af877 Add simple example with profile header, avatar and name. 2021-09-02 09:37:37 +01:00
David Langley 5bad233b90 Clean up and make an application target so that debug works in live preview. 2021-09-01 14:28:47 +01:00
David Langley ada377dcf2 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