Stefan Ceriu
3c387e66e1
#1098 - Avatar view model: stop requesting avatars for empty URIs.
2021-10-13 11:26:27 +03:00
Stefan Ceriu
ee9553fee5
#1098 - Generated UserSuggestion from template, got initial UI working and automatically updating.
2021-10-13 11:24:46 +03:00
Doug
c7fb38b1a8
Add FramePreferenceKey for use in ViewFrameReader.
2021-10-11 12:18:10 +01:00
David Langley
e0bddb58e3
Don't need to take modifiers as parameter to screenGroup. Fix example theming.
2021-09-24 17:21:33 +01:00
David Langley
9bf11fac0c
Address comments, show unencrypted rooms,
...
retain viewModel and services in ScreenSates so you can interact with Previews after the first state.
2021-09-23 23:57:54 +01:00
David Langley
dd9ae13119
Merge branch 'langleyd/4781_swiftui_template_examples' of https://github.com/vector-im/element-ios into langleyd/4781_swiftui_template_example2
2021-09-20 17:28:16 +01:00
David Langley
c690e450c3
Add counter example to show viewActions modifying the state.
2021-09-20 17:05:54 +01:00
David Langley
920a1fab58
Fix Unit tests
2021-09-20 15:56:53 +01:00
David Langley
3ffe69ffee
Merge branch 'develop' of https://github.com/vector-im/element-ios into langleyd/4781_swiftui_template_examples
2021-09-20 08:50:38 +01:00
David Langley
a21d3bfb51
Cleanup, documentation and ui tests.
2021-09-20 08:47:28 +01:00
David Langley
39adf6027d
Improve scrolling behaviour and add name colors
2021-09-16 23:48:59 +01:00
David Langley
a8708b6486
Use dynamicMembers for StoreState for single source of truth. Fix bubble grouping and add send message function.
2021-09-16 22:09:32 +01:00
David Langley
a9efe07b95
Merge branch 'langleyd/4781_swiftui_template_examples' of https://github.com/vector-im/element-ios into langleyd/4781_swiftui_template_example2
2021-09-15 17:32:19 +01:00
David Langley
66a99a01bb
parameter not used in ThemePublisher.configure
2021-09-15 17:12:56 +01:00
David Langley
4fb57b1f2c
Allow defer in xcAwait. simplify sending state actions from a publisher. Fix tests.
2021-09-15 16:09:41 +01:00
David Langley
c409e76403
Improve StateStore documentation and naming.
2021-09-15 14:04:18 +01:00
David Langley
23366974b3
Introduce StateStore with bindings example for Chat example.
2021-09-15 11:47:59 +01:00
David Langley
eea57a455d
Add StateStoreViewModel and publisher extensions for convenienec.
2021-09-14 22:30:25 +01:00
David Langley
981336b4af
Add StateStoreViewModel and publisher extensions for convenienec.
2021-09-14 22:28:25 +01:00
David Langley
c596a9f5ca
Update RiotSwiftUI symbols to triple slash documentation style with function annotations.
2021-09-13 11:40:38 +01:00
David Langley
ec9fef9e61
Fix Naming
...
Change userService name to templateUserProfileService for templating.
Remove test subclass from MockScreenTest
2021-09-13 11:40:38 +01:00
David Langley
5ba896ac89
Add chat example
2021-09-13 11:39:42 +01:00
David Langley
2d2c67a402
Update RiotSwiftUI symbols to triple slash documentation style with function annotations.
2021-09-13 11:36:33 +01:00
David Langley
25ee913ddd
Fix Naming
...
Change userService name to templateUserProfileService for templating.
Remove test subclass from MockScreenTest
2021-09-13 10:13:29 +01:00
David Langley
f31acff9f5
move MockScreenTest to UI folder as should be excluded from Unit test target
2021-09-10 17:02:20 +01:00
David Langley
c69bd99b5f
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
8c9a00b688
Add configurable logger for RiotSwiftUI
2021-09-09 22:42:00 +01:00
David Langley
6d2639d247
Update based on comments from Doug
2021-09-09 17:00:45 +01:00
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
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
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
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
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