Commit Graph

48 Commits

Author SHA1 Message Date
Doug 7deb71810d Updates following PR review.
Fix tests by moving constants out of Coordinator (as it is only part of the Riot target).
2022-01-27 15:19:54 +00:00
Doug 4ae76bd861 Start implementing FTUE splash screens.
Present splash screens from AuthenticationViewController
2022-01-26 14:24:00 +00:00
Stefan Ceriu fb07920235 vector-im/element-ios/issues/5114 - Cleanup + rename PollTimeline to TimelinePoll. 2022-01-18 20:05:10 +02:00
Stefan Ceriu cef0c4f2d4 vector-im/element-ios/issues/5298 - Implemented location sharing from the input toolbar action menu. 2022-01-04 17:33:32 +02:00
Stefan Ceriu 27d3a27c2f 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 b3194a0fe9 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 3bdf9b261a Add AnalyticsPrompt to SwiftUI target and replace old UIAlertController. 2021-12-16 17:01:22 +00:00
Stefan Ceriu 5aa59e87fe 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 dc574ab0a6 vector-im/element-ios/issues/5114 - Polls in the timeline. 2021-12-09 09:37:02 +02:00
Stefan Ceriu 1ea0308895 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 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