Commit graph

44 commits

Author SHA1 Message Date
Stefan Ceriu
64d0559b85 vector-im/element-ios/issues/5298 - Prevent the activity indicator modifier from reloading the whole view hierarchy. 2022-01-04 17:33:32 +02:00
Doug
932eca82cc Support link/html in analytics prompt strings.
Show the new prompt to everyone, even if they previously opted out.
Add docs to Analytics.
2021-12-16 17:01:22 +00:00
Doug
8eab27ab8e Add AnalyticsPrompt to SwiftUI target and replace old UIAlertController. 2021-12-16 17:01:22 +00:00
Stefan Ceriu
b9efd87ef7 Fixed SwiftUI UI tests not finding the right state to tap if not already displayed on screen. 2021-12-16 16:47:35 +02:00
Stefan Ceriu
d5982e813b vector-im/element-ios/issues/5114 - Polls in the timeline. 2021-12-09 09:37:02 +02:00
Stefan Ceriu
30ff8a65fb vector-im/element-ios/issues/5114 - Poll creation screen
- added input toolbar poll creation action.
- reordered input toolbar actions as per designs.
- added multiline text field and extracted common components.
2021-11-11 11:24:28 +02:00
Stefan Ceriu
1fad621b17 #1098 - Avatar view model: stop requesting avatars for empty URIs. 2021-10-13 11:26:27 +03:00
Stefan Ceriu
7de24ab628 #1098 - Generated UserSuggestion from template, got initial UI working and automatically updating. 2021-10-13 11:24:46 +03:00
Doug
bd1982adee Add FramePreferenceKey for use in ViewFrameReader. 2021-10-11 12:18:10 +01:00
David Langley
ef6fe71b12 Don't need to take modifiers as parameter to screenGroup. Fix example theming. 2021-09-24 17:21:33 +01:00
David Langley
80eea0633a 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
a020f1cabb 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
71e0886ef4 Add counter example to show viewActions modifying the state. 2021-09-20 17:05:54 +01:00
David Langley
a83891e754 Fix Unit tests 2021-09-20 15:56:53 +01:00
David Langley
98078b3466 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
d12eedc7e0 Cleanup, documentation and ui tests. 2021-09-20 08:47:28 +01:00
David Langley
50684fda0b Improve scrolling behaviour and add name colors 2021-09-16 23:48:59 +01:00
David Langley
2e952a6298 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
d7ed0cd292 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
3f32956776 parameter not used in ThemePublisher.configure 2021-09-15 17:12:56 +01:00
David Langley
ed82cec9f8 Allow defer in xcAwait. simplify sending state actions from a publisher. Fix tests. 2021-09-15 16:09:41 +01:00
David Langley
e1af8b6434 Improve StateStore documentation and naming. 2021-09-15 14:04:18 +01:00
David Langley
c16001a2d6 Introduce StateStore with bindings example for Chat example. 2021-09-15 11:47:59 +01:00
David Langley
3845d65f14 Add StateStoreViewModel and publisher extensions for convenienec. 2021-09-14 22:30:25 +01:00
David Langley
37c5b7e73b Add StateStoreViewModel and publisher extensions for convenienec. 2021-09-14 22:28:25 +01:00
David Langley
d3e4ae956e Update RiotSwiftUI symbols to triple slash documentation style with function annotations. 2021-09-13 11:40:38 +01:00
David Langley
9cd979a6b5 Fix Naming
Change userService name to templateUserProfileService for templating.
Remove test subclass from MockScreenTest
2021-09-13 11:40:38 +01:00
David Langley
65c7e5c661 Add chat example 2021-09-13 11:39:42 +01:00
David Langley
517d61b7ae Update RiotSwiftUI symbols to triple slash documentation style with function annotations. 2021-09-13 11:36:33 +01:00
David Langley
79cb0b2995 Fix Naming
Change userService name to templateUserProfileService for templating.
Remove test subclass from MockScreenTest
2021-09-13 10:13:29 +01:00
David Langley
2d6d9796ea move MockScreenTest to UI folder as should be excluded from Unit test target 2021-09-10 17:02:20 +01:00
David Langley
7c6023fdd7 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
fb203cce5e Add configurable logger for RiotSwiftUI 2021-09-09 22:42:00 +01:00
David Langley
ce7f015d91 Update based on comments from Doug 2021-09-09 17:00:45 +01:00
David Langley
158ef08eec 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
dd191c07d1
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
89bf79df7d CoordinatorParamters, Type -> Protocol, remove MX Prefix. 2021-09-08 15:47:24 +01:00
David Langley
0a7beb6744 Add template unit tests and publisher utility. 2021-09-08 15:32:41 +01:00
David Langley
2b2275d0d7 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
340ac5b3f6 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
aacbb799a5 Fix filename typo 2021-09-02 09:43:54 +01:00
David Langley
7813cdd40a Add simple example with profile header, avatar and name. 2021-09-02 09:37:37 +01:00
David Langley
23fdb7c2a2 Clean up and make an application target so that debug works in live preview. 2021-09-01 14:28:47 +01:00
David Langley
790301ccb6 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