Commit Graph

70 Commits

Author SHA1 Message Date
David Langley
4fb59260d4 Add utility to run UI tests for Screen states, add screen states for template and finish unit test. 2021-09-10 16:43:31 +01:00
David Langley
59a54654b1 Add configurable logger for RiotSwiftUI 2021-09-09 22:42:00 +01:00
David Langley
c80dfcd1d0 Update based on comments from Doug 2021-09-09 17:00:45 +01:00
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
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
3ef02af877 Add simple example with profile header, avatar and name. 2021-09-02 09:37:37 +01:00