Commit Graph

48 Commits

Author SHA1 Message Date
Doug 7ef1288628 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 b8e9179bbf Start implementing FTUE splash screens.
Present splash screens from AuthenticationViewController
2022-01-26 14:24:00 +00:00
Stefan Ceriu a9a0bd81c8 vector-im/element-ios/issues/5114 - Cleanup + rename PollTimeline to TimelinePoll. 2022-01-18 20:05:10 +02:00
Stefan Ceriu 37db201124 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 fb16d96ac1 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 61f5764cca 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 ee74bc16fb Add AnalyticsPrompt to SwiftUI target and replace old UIAlertController. 2021-12-16 17:01:22 +00:00
Stefan Ceriu 0f20fc54de 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 ac6561a3d3 vector-im/element-ios/issues/5114 - Polls in the timeline. 2021-12-09 09:37:02 +02:00
Stefan Ceriu ba9c40cf2d 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 d559c7fb46 #1098 - Avatar view model: stop requesting avatars for empty URIs. 2021-10-13 11:26:27 +03:00
Stefan Ceriu ccfdfa1fb8 #1098 - Generated UserSuggestion from template, got initial UI working and automatically updating. 2021-10-13 11:24:46 +03:00
Doug 5ce26e36ab Add FramePreferenceKey for use in ViewFrameReader. 2021-10-11 12:18:10 +01:00
David Langley 70b39f7cec Don't need to take modifiers as parameter to screenGroup. Fix example theming. 2021-09-24 17:21:33 +01:00
David Langley d560e513d4 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 0e62e9b80d 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 e22848dcda Add counter example to show viewActions modifying the state. 2021-09-20 17:05:54 +01:00
David Langley 84eb32a1e7 Fix Unit tests 2021-09-20 15:56:53 +01:00
David Langley a94969403c 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 a52604fc56 Cleanup, documentation and ui tests. 2021-09-20 08:47:28 +01:00
David Langley 36e4327a76 Improve scrolling behaviour and add name colors 2021-09-16 23:48:59 +01:00
David Langley cb7b591ff6 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 62c528ecc0 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 7442569c35 parameter not used in ThemePublisher.configure 2021-09-15 17:12:56 +01:00
David Langley cda4a354d1 Allow defer in xcAwait. simplify sending state actions from a publisher. Fix tests. 2021-09-15 16:09:41 +01:00
David Langley e01fd46b2e Improve StateStore documentation and naming. 2021-09-15 14:04:18 +01:00
David Langley f9e88680e2 Introduce StateStore with bindings example for Chat example. 2021-09-15 11:47:59 +01:00
David Langley 7ad3a001bd Add StateStoreViewModel and publisher extensions for convenienec. 2021-09-14 22:30:25 +01:00
David Langley da5fcd5d4f Add StateStoreViewModel and publisher extensions for convenienec. 2021-09-14 22:28:25 +01:00
David Langley 712dae357b Update RiotSwiftUI symbols to triple slash documentation style with function annotations. 2021-09-13 11:40:38 +01:00
David Langley 518dcbbd91 Fix Naming
Change userService name to templateUserProfileService for templating.
Remove test subclass from MockScreenTest
2021-09-13 11:40:38 +01:00
David Langley b51dbb1b63 Add chat example 2021-09-13 11:39:42 +01:00
David Langley 3d65fbd48f Update RiotSwiftUI symbols to triple slash documentation style with function annotations. 2021-09-13 11:36:33 +01:00
David Langley 886bb98eb1 Fix Naming
Change userService name to templateUserProfileService for templating.
Remove test subclass from MockScreenTest
2021-09-13 10:13:29 +01:00
David Langley a20b50028e move MockScreenTest to UI folder as should be excluded from Unit test target 2021-09-10 17:02:20 +01:00
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 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 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 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 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