From aa30fe29e91618723c8b0592fd1830f93e536d89 Mon Sep 17 00:00:00 2001 From: Doug <6060466+pixlwave@users.noreply.github.com> Date: Fri, 23 Jun 2023 17:10:37 +0100 Subject: [PATCH] App polish part 5 (#1149) - Set launch/splash screens to default background colour. - Replace launch screen storyboard with info plist keys. - Remove useless layout components in bubble styler. - Fix lint error. - Rename all assets. - Update design of Analytics Prompt. --- ElementX.xcodeproj/project.pbxproj | 30 +- .../Contents.json | 0 .../background-color.colorset/Contents.json | 78 +++ .../AnalyticsTick.pdf | 123 ---- .../AnalyticsCheckmark.imageset/Contents.json | 16 - .../AnalyticsLogo.imageset/AnalyticsLogo.pdf | 641 ------------------ .../AnalyticsLogo.imageset/Contents.json | 15 - .../Images/Analytics/Contents.json | 6 - .../Contents.json | 0 .../authentication_server_selection_icon.svg | 0 .../Images/Encryption/Contents.json | 6 +- .../Contents.json | 0 .../encryption_normal.svg | 0 .../Contents.json | 0 .../encryption_trusted.svg | 0 .../Contents.json | 0 .../encryption_warning.svg | 0 .../Contents.json | 0 .../url_preview_close_dark.pdf | 0 .../Contents.json | 0 .../LaunchBackgroundPhone-squashed.png | Bin .../LaunchBackgroundTablet-squashed.png | Bin .../Contents.json | 0 .../LaunchLogo-dark.pdf | 0 .../LaunchLogo.pdf | 0 .../Contents.json | 0 .../send.svg | 0 ElementX/Sources/Generated/Assets.swift | 25 +- .../Sources/Other/ExpiringTaskRunner.swift | 2 +- .../AnalyticsPromptScreenModels.swift | 4 +- .../View/AnalyticsPromptScreen.swift | 35 +- .../AnalyticsPromptScreenCheckmarkItem.swift | 58 +- .../Other/SplashScreenCoordinator.swift | 5 +- .../Style/TimelineItemBubbledStylerView.swift | 29 +- .../Base.lproj/LaunchScreen.storyboard | 50 -- ElementX/SupportingFiles/Info.plist | 7 +- ElementX/SupportingFiles/target.yml | 3 +- project.yml | 2 +- 38 files changed, 188 insertions(+), 947 deletions(-) rename ElementX/Resources/Assets.xcassets/Colors/{AccentColor.colorset => accent-color.colorset}/Contents.json (100%) create mode 100644 ElementX/Resources/Assets.xcassets/Colors/background-color.colorset/Contents.json delete mode 100644 ElementX/Resources/Assets.xcassets/Images/Analytics/AnalyticsCheckmark.imageset/AnalyticsTick.pdf delete mode 100644 ElementX/Resources/Assets.xcassets/Images/Analytics/AnalyticsCheckmark.imageset/Contents.json delete mode 100644 ElementX/Resources/Assets.xcassets/Images/Analytics/AnalyticsLogo.imageset/AnalyticsLogo.pdf delete mode 100644 ElementX/Resources/Assets.xcassets/Images/Analytics/AnalyticsLogo.imageset/Contents.json delete mode 100644 ElementX/Resources/Assets.xcassets/Images/Analytics/Contents.json rename ElementX/Resources/Assets.xcassets/Images/Authentication/{Server Selection Icon.imageset => server-selection-icon.imageset}/Contents.json (100%) rename ElementX/Resources/Assets.xcassets/Images/Authentication/{Server Selection Icon.imageset => server-selection-icon.imageset}/authentication_server_selection_icon.svg (100%) rename ElementX/Resources/Assets.xcassets/Images/Encryption/{encryption_normal.imageset => encryption-normal.imageset}/Contents.json (100%) rename ElementX/Resources/Assets.xcassets/Images/Encryption/{encryption_normal.imageset => encryption-normal.imageset}/encryption_normal.svg (100%) rename ElementX/Resources/Assets.xcassets/Images/Encryption/{encryption_trusted.imageset => encryption-trusted.imageset}/Contents.json (100%) rename ElementX/Resources/Assets.xcassets/Images/Encryption/{encryption_trusted.imageset => encryption-trusted.imageset}/encryption_trusted.svg (100%) rename ElementX/Resources/Assets.xcassets/Images/Encryption/{encryption_warning.imageset => encryption-warning.imageset}/Contents.json (100%) rename ElementX/Resources/Assets.xcassets/Images/Encryption/{encryption_warning.imageset => encryption-warning.imageset}/encryption_warning.svg (100%) rename ElementX/Resources/Assets.xcassets/Images/{close_circle.imageset => close-circle.imageset}/Contents.json (100%) rename ElementX/Resources/Assets.xcassets/Images/{close_circle.imageset => close-circle.imageset}/url_preview_close_dark.pdf (100%) rename ElementX/Resources/Assets.xcassets/Images/{LaunchBackground.imageset => launch-background.imageset}/Contents.json (100%) rename ElementX/Resources/Assets.xcassets/Images/{LaunchBackground.imageset => launch-background.imageset}/LaunchBackgroundPhone-squashed.png (100%) rename ElementX/Resources/Assets.xcassets/Images/{LaunchBackground.imageset => launch-background.imageset}/LaunchBackgroundTablet-squashed.png (100%) rename ElementX/Resources/Assets.xcassets/Images/{LaunchLogo.imageset => launch-logo.imageset}/Contents.json (100%) rename ElementX/Resources/Assets.xcassets/Images/{LaunchLogo.imageset => launch-logo.imageset}/LaunchLogo-dark.pdf (100%) rename ElementX/Resources/Assets.xcassets/Images/{LaunchLogo.imageset => launch-logo.imageset}/LaunchLogo.pdf (100%) rename ElementX/Resources/Assets.xcassets/Images/{timelineComposerSendMessage.imageset => timeline-composer-send-message.imageset}/Contents.json (100%) rename ElementX/Resources/Assets.xcassets/Images/{timelineComposerSendMessage.imageset => timeline-composer-send-message.imageset}/send.svg (100%) delete mode 100644 ElementX/SupportingFiles/Base.lproj/LaunchScreen.storyboard diff --git a/ElementX.xcodeproj/project.pbxproj b/ElementX.xcodeproj/project.pbxproj index cca0f46a7..c0ffe6299 100644 --- a/ElementX.xcodeproj/project.pbxproj +++ b/ElementX.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 51; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -464,7 +464,6 @@ A9D349478F7D4A2B1E40CEF9 /* LegalInformationScreenViewModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8977176AB534AA41630395BC /* LegalInformationScreenViewModelProtocol.swift */; }; AA050DF4AEE54A641BA7CA22 /* RoomSummaryProviderProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10CC626F97AD70FF0420C115 /* RoomSummaryProviderProtocol.swift */; }; AAF0BBED840DF4A53EE85E77 /* MatrixRustSDK in Frameworks */ = {isa = PBXBuildFile; productRef = C2C69B8BA5A9702E7A8BC08F /* MatrixRustSDK */; }; - AB34401E4E1CAD5D2EC3072B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9760103CF316DF68698BCFE6 /* LaunchScreen.storyboard */; }; ABF3FAB234AD3565B214309B /* TimelineSenderAvatarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BC588051E6572A1AF51D738 /* TimelineSenderAvatarView.swift */; }; AC69B6DF15FC451AB2945036 /* UserSessionStoreProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = BEBA759D1347CFFB3D84ED1F /* UserSessionStoreProtocol.swift */; }; AC7AA215D60FBC307F984028 /* Consumable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 127A57D053CE8C87B5EFB089 /* Consumable.swift */; }; @@ -800,7 +799,7 @@ 1222DB76B917EB8A55365BA5 /* target.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = target.yml; sourceTree = ""; }; 127A57D053CE8C87B5EFB089 /* Consumable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Consumable.swift; sourceTree = ""; }; 127C8472672A5BA09EF1ACF8 /* CurrentValuePublisher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrentValuePublisher.swift; sourceTree = ""; }; - 1304D9191300873EADA52D6E /* IntegrationTests.xctestplan */ = {isa = PBXFileReference; path = IntegrationTests.xctestplan; sourceTree = ""; }; + 1304D9191300873EADA52D6E /* IntegrationTests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = IntegrationTests.xctestplan; sourceTree = ""; }; 130ED565A078F7E0B59D9D25 /* UNTextInputNotificationResponse+Creator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UNTextInputNotificationResponse+Creator.swift"; sourceTree = ""; }; 13802897C7AFA360EA74C0B0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = en; path = en.lproj/Localizable.stringsdict; sourceTree = ""; }; 1423AB065857FA546444DB15 /* NotificationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationManager.swift; sourceTree = ""; }; @@ -930,7 +929,7 @@ 47111410B6E659A697D472B5 /* RoomProxyProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomProxyProtocol.swift; sourceTree = ""; }; 471EB7D96AFEA8D787659686 /* EmoteRoomTimelineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmoteRoomTimelineView.swift; sourceTree = ""; }; 47873756E45B46683D97DC32 /* LegalInformationScreenModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegalInformationScreenModels.swift; sourceTree = ""; }; - 478BE8591BD13E908EF70C0C /* DesignKit */ = {isa = PBXFileReference; lastKnownFileType = folder; name = DesignKit; path = DesignKit; sourceTree = SOURCE_ROOT; }; + 478BE8591BD13E908EF70C0C /* DesignKit */ = {isa = PBXFileReference; lastKnownFileType = folder; path = DesignKit; sourceTree = SOURCE_ROOT; }; 4798B3B7A1E8AE3901CEE8C6 /* FramePreferenceKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FramePreferenceKey.swift; sourceTree = ""; }; 47EBB5D698CE9A25BB553A2D /* Strings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Strings.swift; sourceTree = ""; }; 47F29139BC2A804CE5E0757E /* MediaUploadPreviewScreenViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaUploadPreviewScreenViewModel.swift; sourceTree = ""; }; @@ -1081,7 +1080,6 @@ 86A6F283BC574FDB96ABBB07 /* DeveloperOptionsScreenViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeveloperOptionsScreenViewModel.swift; sourceTree = ""; }; 874A1842477895F199567BD7 /* TimelineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineView.swift; sourceTree = ""; }; 8872E9C5E91E9F2BFC4EBCCA /* AlignedScrollView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlignedScrollView.swift; sourceTree = ""; }; - 8888D13645C04AC9818F5778 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 892E29C98C4E8182C9037F84 /* TimelineStyler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineStyler.swift; sourceTree = ""; }; 893777A4997BBDB68079D4F5 /* ArrayTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArrayTests.swift; sourceTree = ""; }; 8977176AB534AA41630395BC /* LegalInformationScreenViewModelProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegalInformationScreenViewModelProtocol.swift; sourceTree = ""; }; @@ -1093,7 +1091,7 @@ 8D6094DEAAEB388E1AE118C6 /* MockRoomTimelineProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockRoomTimelineProvider.swift; sourceTree = ""; }; 8D8169443E5AC5FF71BFB3DB /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Localizable.strings; sourceTree = ""; }; 8DC2C9E0E15C79BBDA80F0A2 /* TimelineStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineStyle.swift; sourceTree = ""; }; - 8E088F2A1B9EC529D3221931 /* UITests.xctestplan */ = {isa = PBXFileReference; path = UITests.xctestplan; sourceTree = ""; }; + 8E088F2A1B9EC529D3221931 /* UITests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = UITests.xctestplan; sourceTree = ""; }; 8E1BBA73B611EDEEA6E20E05 /* InvitesScreenModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InvitesScreenModels.swift; sourceTree = ""; }; 8EC57A32ABC80D774CC663DB /* SettingsScreenUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsScreenUITests.swift; sourceTree = ""; }; 8F61A0DD8243B395499C99A2 /* InvitesScreenUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InvitesScreenUITests.swift; sourceTree = ""; }; @@ -1196,7 +1194,7 @@ B48B7AD4908C5C374517B892 /* MapAssets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = MapAssets.xcassets; sourceTree = ""; }; B590BD4507D4F0A377FDE01A /* LoadableAvatarImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadableAvatarImage.swift; sourceTree = ""; }; B5B243E7818E5E9F6A4EDC7A /* NoticeRoomTimelineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoticeRoomTimelineView.swift; sourceTree = ""; }; - B61C339A2FDDBD067FF6635C /* ConfettiScene.scn */ = {isa = PBXFileReference; path = ConfettiScene.scn; sourceTree = ""; }; + B61C339A2FDDBD067FF6635C /* ConfettiScene.scn */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; path = ConfettiScene.scn; sourceTree = ""; }; B6311F21F911E23BE4DF51B4 /* ReadMarkerRoomTimelineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReadMarkerRoomTimelineView.swift; sourceTree = ""; }; B6E89E530A8E92EC44301CA1 /* Bundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Bundle.swift; sourceTree = ""; }; B7AE92E7BFF71797BDE1D261 /* MapTilerStyleBuilder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapTilerStyleBuilder.swift; sourceTree = ""; }; @@ -1270,7 +1268,7 @@ CD6B0C4639E066915B5E6463 /* target.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = target.yml; sourceTree = ""; }; CDB3227C7A74B734924942E9 /* RoomSummaryProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomSummaryProvider.swift; sourceTree = ""; }; CEE0E6043EFCF6FD2A341861 /* TimelineReplyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineReplyView.swift; sourceTree = ""; }; - CEE41494C837AA403A06A5D9 /* UnitTests.xctestplan */ = {isa = PBXFileReference; path = UnitTests.xctestplan; sourceTree = ""; }; + CEE41494C837AA403A06A5D9 /* UnitTests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = UnitTests.xctestplan; sourceTree = ""; }; CF48AF076424DBC1615C74AD /* AuthenticationServiceProxy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthenticationServiceProxy.swift; sourceTree = ""; }; D071F86CD47582B9196C9D16 /* UserDiscoverySection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDiscoverySection.swift; sourceTree = ""; }; D09A267106B9585D3D0CFC0D /* ClientError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClientError.swift; sourceTree = ""; }; @@ -1339,7 +1337,7 @@ ECF79FB25E2D4BD6F50CE7C9 /* RoomMembersListScreenViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomMembersListScreenViewModel.swift; sourceTree = ""; }; ED044D00F2176681CC02CD54 /* HomeScreenRoomCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeScreenRoomCell.swift; sourceTree = ""; }; ED1D792EB82506A19A72C8DE /* RoomTimelineItemProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomTimelineItemProtocol.swift; sourceTree = ""; }; - ED482057AE39D5C6D9C5F3D8 /* message.caf */ = {isa = PBXFileReference; path = message.caf; sourceTree = ""; }; + ED482057AE39D5C6D9C5F3D8 /* message.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = message.caf; sourceTree = ""; }; ED983D4DCA5AFA6E1ED96099 /* StateRoomTimelineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StateRoomTimelineView.swift; sourceTree = ""; }; EDAA4472821985BF868CC21C /* ServerSelectionViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ServerSelectionViewModelTests.swift; sourceTree = ""; }; EE378083653EF0C9B5E9D580 /* EmoteRoomTimelineItemContent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmoteRoomTimelineItemContent.swift; sourceTree = ""; }; @@ -1558,7 +1556,6 @@ 3D4DD336905C72F95EAF34B7 /* ElementX-Bridging-Header.h */, 9C5E81214D27A6B898FC397D /* ElementX.entitlements */, 81B17DB1BC3B0C62AF84D230 /* Info.plist */, - 9760103CF316DF68698BCFE6 /* LaunchScreen.storyboard */, F012CB5EE3F2B67359F6CC52 /* target.yml */, ); path = SupportingFiles; @@ -3640,7 +3637,6 @@ 992F5E750F5030C4BA2D0D03 /* Assets.xcassets in Resources */, 2CA6ABBC9A88EB89EA52FCCB /* ConfettiScene.scn in Resources */, B6DA66EFC13A90846B625836 /* InfoPlist.strings in Resources */, - AB34401E4E1CAD5D2EC3072B /* LaunchScreen.storyboard in Resources */, 5F5488FBC9CFEB6F433D74A4 /* Localizable.strings in Resources */, 0EA6537A07E2DC882AEA5962 /* Localizable.stringsdict in Resources */, 6860721DB3091BE08164C132 /* MapAssets.xcassets in Resources */, @@ -4506,14 +4502,6 @@ name = InfoPlist.strings; sourceTree = ""; }; - 9760103CF316DF68698BCFE6 /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 8888D13645C04AC9818F5778 /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; D2F7194F440375338F8E2487 /* Untranslated.strings */ = { isa = PBXVariantGroup; children = ( @@ -4646,7 +4634,7 @@ APP_DISPLAY_NAME = "Element X"; APP_GROUP_IDENTIFIER = "group.$(BASE_APP_GROUP_IDENTIFIER)"; APP_NAME = ElementX; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = Colors/AccentColor; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = "colors/accent-color"; BASE_APP_GROUP_IDENTIFIER = io.element; BASE_BUNDLE_IDENTIFIER = io.element.elementx; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; @@ -4715,7 +4703,7 @@ APP_DISPLAY_NAME = "Element X"; APP_GROUP_IDENTIFIER = "group.$(BASE_APP_GROUP_IDENTIFIER)"; APP_NAME = ElementX; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = Colors/AccentColor; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = "colors/accent-color"; BASE_APP_GROUP_IDENTIFIER = io.element; BASE_BUNDLE_IDENTIFIER = io.element.elementx; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; diff --git a/ElementX/Resources/Assets.xcassets/Colors/AccentColor.colorset/Contents.json b/ElementX/Resources/Assets.xcassets/Colors/accent-color.colorset/Contents.json similarity index 100% rename from ElementX/Resources/Assets.xcassets/Colors/AccentColor.colorset/Contents.json rename to ElementX/Resources/Assets.xcassets/Colors/accent-color.colorset/Contents.json diff --git a/ElementX/Resources/Assets.xcassets/Colors/background-color.colorset/Contents.json b/ElementX/Resources/Assets.xcassets/Colors/background-color.colorset/Contents.json new file mode 100644 index 000000000..bf474caeb --- /dev/null +++ b/ElementX/Resources/Assets.xcassets/Colors/background-color.colorset/Contents.json @@ -0,0 +1,78 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "1.000", + "red" : "1.000" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.090", + "green" : "0.075", + "red" : "0.063" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "contrast", + "value" : "high" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "1.000", + "green" : "1.000", + "red" : "1.000" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + }, + { + "appearance" : "contrast", + "value" : "high" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.090", + "green" : "0.075", + "red" : "0.063" + } + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ElementX/Resources/Assets.xcassets/Images/Analytics/AnalyticsCheckmark.imageset/AnalyticsTick.pdf b/ElementX/Resources/Assets.xcassets/Images/Analytics/AnalyticsCheckmark.imageset/AnalyticsTick.pdf deleted file mode 100644 index 9696208e3..000000000 --- a/ElementX/Resources/Assets.xcassets/Images/Analytics/AnalyticsCheckmark.imageset/AnalyticsTick.pdf +++ /dev/null @@ -1,123 +0,0 @@ -%PDF-1.7 - -1 0 obj - << >> -endobj - -2 0 obj - << /Length 3 0 R >> -stream -/DeviceRGB CS -/DeviceRGB cs -q -1.000000 0.000000 -0.000000 1.000000 1.000000 -1.000000 cm -0.049479 0.742188 0.545395 scn -10.000000 23.000000 m -3.947715 23.000000 -1.000000 18.052284 -1.000000 12.000000 c -1.000000 12.000000 l -1.000000 16.947716 5.052285 21.000000 10.000000 21.000000 c -10.000000 23.000000 l -h --1.000000 12.000000 m --1.000000 5.947716 3.947715 1.000000 10.000000 1.000000 c -10.000000 3.000000 l -5.052285 3.000000 1.000000 7.052285 1.000000 12.000000 c --1.000000 12.000000 l -h -10.000000 1.000000 m -16.052284 1.000000 21.000000 5.947716 21.000000 12.000000 c -19.000000 12.000000 l -19.000000 7.052285 14.947715 3.000000 10.000000 3.000000 c -10.000000 1.000000 l -h -21.000000 12.000000 m -21.000000 18.052284 16.052284 23.000000 10.000000 23.000000 c -10.000000 21.000000 l -14.947715 21.000000 19.000000 16.947716 19.000000 12.000000 c -21.000000 12.000000 l -h -f -n -Q -q -1.000000 0.000000 -0.000000 1.000000 5.545532 4.655060 cm -0.049479 0.742188 0.545395 scn -0.717378 6.153159 m -0.332610 6.549356 -0.300487 6.558620 -0.696684 6.173852 c --1.092881 5.789084 -1.102146 5.155987 -0.717378 4.759790 c -0.717378 6.153159 l -h -3.257576 2.102139 m -2.540198 1.405455 l -2.728505 1.211555 2.987285 1.102139 3.257576 1.102139 c -3.527867 1.102139 3.786646 1.211555 3.974954 1.405455 c -3.257576 2.102139 l -h -11.626469 9.284243 m -12.011237 9.680439 12.001972 10.313537 11.605776 10.698304 c -11.209579 11.083073 10.576482 11.073808 10.191713 10.677610 c -11.626469 9.284243 l -h --0.717378 4.759790 m -2.540198 1.405455 l -3.974954 2.798823 l -0.717378 6.153159 l --0.717378 4.759790 l -h -3.974954 1.405455 m -11.626469 9.284243 l -10.191713 10.677610 l -2.540198 2.798823 l -3.974954 1.405455 l -h -f -n -Q - -endstream -endobj - -3 0 obj - 1679 -endobj - -4 0 obj - << /Annots [] - /Type /Page - /MediaBox [ 0.000000 0.000000 22.000000 22.000000 ] - /Resources 1 0 R - /Contents 2 0 R - /Parent 5 0 R - >> -endobj - -5 0 obj - << /Kids [ 4 0 R ] - /Count 1 - /Type /Pages - >> -endobj - -6 0 obj - << /Pages 5 0 R - /Type /Catalog - >> -endobj - -xref -0 7 -0000000000 65535 f -0000000010 00000 n -0000000034 00000 n -0000001769 00000 n -0000001792 00000 n -0000001965 00000 n -0000002039 00000 n -trailer -<< /ID [ (some) (id) ] - /Root 6 0 R - /Size 7 ->> -startxref -2098 -%%EOF \ No newline at end of file diff --git a/ElementX/Resources/Assets.xcassets/Images/Analytics/AnalyticsCheckmark.imageset/Contents.json b/ElementX/Resources/Assets.xcassets/Images/Analytics/AnalyticsCheckmark.imageset/Contents.json deleted file mode 100644 index 459589593..000000000 --- a/ElementX/Resources/Assets.xcassets/Images/Analytics/AnalyticsCheckmark.imageset/Contents.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "images" : [ - { - "filename" : "AnalyticsTick.pdf", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "preserves-vector-representation" : true, - "template-rendering-intent" : "template" - } -} diff --git a/ElementX/Resources/Assets.xcassets/Images/Analytics/AnalyticsLogo.imageset/AnalyticsLogo.pdf b/ElementX/Resources/Assets.xcassets/Images/Analytics/AnalyticsLogo.imageset/AnalyticsLogo.pdf deleted file mode 100644 index 096c22d4b..000000000 --- a/ElementX/Resources/Assets.xcassets/Images/Analytics/AnalyticsLogo.imageset/AnalyticsLogo.pdf +++ /dev/null @@ -1,641 +0,0 @@ -%PDF-1.7 - -1 0 obj - << /Type /XObject - /Length 2 0 R - /Group << /Type /Group - /S /Transparency - >> - /Subtype /Form - /Resources << /ExtGState << /E2 << /ca 0.400000 >> - /E1 << /ca 0.400000 >> - >> >> - /BBox [ 0.000000 0.000000 119.000000 93.000000 ] - >> -stream -/DeviceRGB CS -/DeviceRGB cs -q -1.000000 0.000000 -0.000000 1.000000 14.875000 -0.000015 cm -0.049479 0.742188 0.545395 scn -0.000000 44.521278 m -0.000000 69.109695 20.036579 89.042557 44.625000 89.042557 c -44.625000 89.042557 l -69.213417 89.042557 89.250000 69.109695 89.250000 44.521278 c -89.250000 44.521278 l -89.250000 19.932861 69.213417 0.000000 44.625000 0.000000 c -44.625000 0.000000 l -20.036579 0.000000 0.000000 19.932861 0.000000 44.521278 c -0.000000 44.521278 l -h -f -n -Q -q -1.000000 0.000000 -0.000000 1.000000 52.227402 46.594299 cm -1.000000 1.000000 1.000000 scn -0.000000 20.730219 m -0.000000 22.447567 1.395428 23.839752 3.116776 23.839752 c -14.592426 23.839752 23.895279 14.558517 23.895279 3.109533 c -23.895279 1.392185 22.499851 0.000000 20.778503 0.000000 c -19.057156 0.000000 17.661728 1.392185 17.661728 3.109533 c -17.661728 11.123821 11.149731 17.620686 3.116776 17.620686 c -1.395428 17.620686 0.000000 19.012871 0.000000 20.730219 c -h -f* -n -Q -q --1.000000 0.000000 -0.000000 -1.000000 66.772202 42.448242 cm -1.000000 1.000000 1.000000 scn -0.000000 20.730206 m -0.000000 22.447552 1.395429 23.839737 3.116779 23.839737 c -14.592443 23.839737 23.895306 14.558502 23.895306 3.109520 c -23.895306 1.392172 22.499878 -0.000011 20.778526 -0.000011 c -19.057177 -0.000011 17.661749 1.392172 17.661749 3.109520 c -17.661749 11.123808 11.149744 17.620672 3.116779 17.620672 c -1.395429 17.620672 0.000000 19.012857 0.000000 20.730206 c -h -f* -n -Q -q --0.000000 1.000000 -1.000000 -0.000000 57.366512 37.265598 cm -1.000000 1.000000 1.000000 scn -0.000000 20.722975 m -0.000000 22.444323 1.392186 23.839752 3.109534 23.839752 c -14.558520 23.839752 23.839758 14.536892 23.839758 3.061234 c -23.839758 1.339886 22.447573 -0.055544 20.730225 -0.055544 c -19.012875 -0.055544 17.620689 1.339886 17.620689 3.061234 c -17.620689 11.094195 11.123824 17.606197 3.109534 17.606197 c -1.392186 17.606197 0.000000 19.001625 0.000000 20.722975 c -h -f* -n -Q -q --0.000000 -1.000000 1.000000 -0.000000 61.633194 51.777008 cm -1.000000 1.000000 1.000000 scn -0.000000 20.722975 m -0.000000 22.444324 1.392186 23.839752 3.109534 23.839752 c -14.558520 23.839752 23.839758 14.536893 23.839758 3.061237 c -23.839758 1.339888 22.447573 -0.055540 20.730225 -0.055540 c -19.012875 -0.055540 17.620689 1.339888 17.620689 3.061237 c -17.620689 11.094196 11.123824 17.606197 3.109534 17.606197 c -1.392186 17.606197 0.000000 19.001627 0.000000 20.722975 c -h -f* -n -Q -q -1.000000 0.000000 -0.000000 1.000000 28.123089 16.695465 cm -1.000000 1.000000 1.000000 scn -10.448288 0.000008 m -11.057861 0.000008 11.560491 0.448122 11.646045 1.077618 c -12.576446 7.617959 13.464069 8.514189 19.795069 9.229038 c -20.436726 9.303724 20.917965 9.826525 20.917965 10.434681 c -20.917965 11.053506 20.447418 11.554968 19.805763 11.640323 c -13.506846 12.461866 12.694082 13.262072 11.646045 19.802414 c -11.539103 20.431910 11.057861 20.869354 10.448288 20.869354 c -9.849410 20.869354 9.346780 20.431910 9.250531 19.791744 c -8.330826 13.251402 7.443202 12.355172 1.112203 11.640323 c -0.470547 11.565637 0.000000 11.053506 0.000000 10.434681 c -0.000000 9.826525 0.459853 9.314394 1.112203 9.229038 c -7.411120 8.354148 8.191800 7.607290 9.250531 1.066948 c -9.368169 0.437452 9.860105 0.000008 10.448288 0.000008 c -h -f -n -Q -q -1.000000 0.000000 -0.000000 1.000000 28.123089 15.195465 cm -0.049479 0.742188 0.545395 scn -11.646045 2.577618 m -10.903506 2.683247 l -10.902877 2.678619 l -11.646045 2.577618 l -h -19.795069 10.729038 m -19.879219 9.983770 l -19.881781 9.984068 l -19.795069 10.729038 l -h -19.805763 13.140323 m -19.904661 13.883777 l -19.902761 13.884024 l -19.805763 13.140323 l -h -11.646045 21.302414 m -12.386630 21.421087 l -12.385450 21.428030 l -11.646045 21.302414 l -h -9.250531 21.291744 m -8.508834 21.403259 l -8.507838 21.396183 l -9.250531 21.291744 l -h -1.112203 13.140323 m -1.028052 13.885592 l -1.025491 13.885293 l -1.112203 13.140323 l -h -1.112203 10.729038 m -1.215387 11.471931 l -1.209505 11.472700 l -1.112203 10.729038 l -h -9.250531 2.566948 m -8.510169 2.447100 l -8.511623 2.438120 l -8.513294 2.429176 l -9.250531 2.566948 l -h -10.448288 0.750008 m -11.450765 0.750008 12.255557 1.493191 12.389213 2.476614 c -10.902877 2.678619 l -10.865425 2.403053 10.664957 2.250008 10.448288 2.250008 c -10.448288 0.750008 l -h -12.388570 2.471989 m -12.620602 4.103085 12.844038 5.334888 13.138243 6.288948 c -13.429995 7.235054 13.776924 7.858273 14.225985 8.307880 c -15.140809 9.223818 16.666159 9.620979 19.879219 9.983774 c -19.710920 11.474303 l -16.592981 11.122249 14.509018 10.713870 13.164680 9.367895 c -12.484159 8.686545 12.039045 7.814714 11.704848 6.730967 c -11.373105 5.655174 11.136688 4.322321 10.903521 2.683245 c -12.388570 2.471989 l -h -19.881781 9.984068 m -20.873766 10.099530 21.667965 10.918526 21.667965 11.934681 c -20.167965 11.934681 l -20.167965 11.734525 19.999683 11.507918 19.708359 11.474010 c -19.881781 9.984068 l -h -21.667965 11.934681 m -21.667965 12.966555 20.881077 13.753887 19.904659 13.883774 c -19.706867 12.396872 l -20.013762 12.356048 20.167965 12.140457 20.167965 11.934681 c -21.667965 11.934681 l -h -19.902761 13.884024 m -18.330524 14.089085 17.151228 14.287123 16.235826 14.561028 c -15.331247 14.831694 14.731587 15.163220 14.286853 15.607450 c -13.840208 16.053589 13.492528 16.670565 13.191763 17.611713 c -12.888441 18.560867 12.648228 19.788363 12.386598 21.421082 c -10.905493 21.183746 l -11.167881 19.546295 11.422276 18.221136 11.762950 17.155106 c -12.106180 16.081072 12.551881 15.220337 13.226795 14.546188 c -13.903622 13.870131 14.753702 13.438795 15.805837 13.123979 c -16.847151 12.812399 18.131544 12.602333 19.708765 12.396622 c -19.902761 13.884024 l -h -12.385450 21.428030 m -12.223795 22.379583 11.461336 23.119354 10.448288 23.119354 c -10.448288 21.619354 l -10.654386 21.619354 10.854410 21.484234 10.906639 21.176800 c -12.385450 21.428030 l -h -10.448288 23.119354 m -9.455997 23.119354 8.656921 22.387987 8.508867 21.403254 c -9.992196 21.180237 l -10.036638 21.475830 10.242823 21.619354 10.448288 21.619354 c -10.448288 23.119354 l -h -8.507838 21.396183 m -8.278477 19.765110 8.056973 18.533388 7.764218 17.579443 c -7.473907 16.633463 7.127907 16.010515 6.679636 15.561167 c -5.766263 14.645599 4.241331 14.248406 1.028053 13.885587 c -1.196352 12.395059 l -4.314074 12.747088 6.398453 13.155437 7.741569 14.501781 c -8.421542 15.183390 8.865580 16.055490 9.198210 17.139366 c -9.528394 18.215273 9.762733 19.548208 9.993224 21.187307 c -8.507838 21.396183 l -h -1.025491 13.885293 m -0.028613 13.769261 -0.750000 12.956783 -0.750000 11.934681 c -0.750000 11.934681 l -0.750000 12.150229 0.912482 12.362013 1.198914 12.395352 c -1.025491 13.885293 l -h --0.750000 11.934681 m --0.750000 10.922595 0.016880 10.115961 1.014900 9.985377 c -1.209505 11.472700 l -0.902826 11.512827 0.750000 11.730454 0.750000 11.934681 c --0.750000 11.934681 l -h -1.009022 9.986170 m -2.582546 9.767614 3.760892 9.563175 4.675031 9.286510 c -5.578484 9.013078 6.174878 8.682938 6.616406 8.241908 c -7.059544 7.799271 7.404263 7.187467 7.703608 6.250257 c -8.005574 5.304842 8.245770 4.080437 8.510169 2.447100 c -9.990894 2.686794 l -9.725928 4.323629 9.471515 5.645210 9.132493 6.706642 c -8.790851 7.776280 8.348207 8.632186 7.676467 9.303166 c -7.003119 9.975756 6.157125 10.405144 5.109545 10.722197 c -4.072651 11.036015 2.791318 11.253017 1.215384 11.471908 c -1.009022 9.986170 l -h -8.513294 2.429176 m -8.688872 1.489628 9.455215 0.750008 10.448288 0.750008 c -10.448288 2.250008 l -10.264993 2.250008 10.047464 2.385277 9.987769 2.704720 c -8.513294 2.429176 l -h -f -n -Q -q -1.000000 0.000000 -0.000000 1.000000 72.573807 58.608093 cm -1.000000 1.000000 1.000000 scn -8.619835 -0.000011 m -9.122732 -0.000011 9.537402 0.373419 9.607985 0.897997 c -10.375565 6.348283 11.107853 7.095141 16.330927 7.690849 c -16.860292 7.753087 17.257317 8.188755 17.257317 8.695551 c -17.257317 9.211239 16.869114 9.629124 16.339748 9.700253 c -11.143145 10.384872 10.472614 11.051710 9.607985 16.501997 c -9.519756 17.026575 9.122732 17.391113 8.619835 17.391113 c -8.125761 17.391113 7.711091 17.026575 7.631686 16.493105 c -6.872929 11.042820 6.140640 10.295961 0.917567 9.700253 c -0.388201 9.638015 0.000000 9.211239 0.000000 8.695551 c -0.000000 8.188755 0.379379 7.761978 0.917567 7.690849 c -6.114172 6.961774 6.758233 6.339392 7.631686 0.889107 c -7.728737 0.364527 8.134583 -0.000011 8.619835 -0.000011 c -h -f -n -Q -q -1.000000 0.000000 -0.000000 1.000000 72.573807 57.608093 cm -0.049479 0.742188 0.545395 scn -9.607985 1.897997 m -9.112861 1.967726 l -9.112450 1.964672 l -9.607985 1.897997 l -h -16.330927 8.690849 m -16.387587 8.194067 l -16.389311 8.194269 l -16.330927 8.690849 l -h -16.339748 10.700253 m -16.406334 11.195801 l -16.405056 11.195970 l -16.339748 10.700253 l -h -9.607985 17.501997 m -10.101830 17.580339 l -10.101059 17.584925 l -9.607985 17.501997 l -h -7.631686 17.493105 m -7.137113 17.566721 l -7.136462 17.562048 l -7.631686 17.493105 l -h -0.917567 10.700253 m -0.860907 11.197035 l -0.859183 11.196833 l -0.917567 10.700253 l -h -0.917567 8.690849 m -0.987038 9.186015 l -0.983079 9.186539 l -0.917567 8.690849 l -h -7.631686 1.889107 m -7.137843 1.809963 l -7.140029 1.798147 l -7.631686 1.889107 l -h -8.619835 0.499989 m -9.388696 0.499989 10.001672 1.074373 10.103518 1.831324 c -9.112450 1.964672 l -9.073133 1.672462 8.856770 1.499989 8.619835 1.499989 c -8.619835 0.499989 l -h -10.103099 1.828268 m -10.294624 3.188222 10.480069 4.223436 10.725984 5.028956 c -10.970345 5.829387 11.264832 6.369568 11.654185 6.763333 c -12.442908 7.560994 13.744701 7.892640 16.387587 8.194070 c -16.274267 9.187629 l -13.694078 8.893350 12.018190 8.553713 10.943106 7.466446 c -10.400556 6.917747 10.041607 6.212054 9.769561 5.320940 c -9.499068 4.434915 9.305134 3.332915 9.112870 1.967726 c -10.103099 1.828268 l -h -16.389311 8.194269 m -17.155991 8.284410 17.757317 8.920855 17.757317 9.695551 c -16.757317 9.695551 l -16.757317 9.456655 16.564592 9.221766 16.272543 9.187428 c -16.389311 8.194269 l -h -17.757317 9.695551 m -17.757317 10.482604 17.162529 11.094193 16.406334 11.195800 c -16.273165 10.204706 l -16.575699 10.164056 16.757317 9.939874 16.757317 9.695551 c -17.757317 9.695551 l -h -16.405056 11.195970 m -15.107601 11.366901 14.126670 11.532858 13.361839 11.764020 c -12.604449 11.992933 12.090017 12.277006 11.704502 12.665974 c -11.317406 13.056538 11.022324 13.591100 10.770527 14.386979 c -10.517109 15.187984 10.317721 16.219311 10.101810 17.580338 c -9.114160 17.423656 l -9.330563 16.059540 9.539227 14.963654 9.817105 14.085340 c -10.096603 13.201900 10.456060 12.505035 10.994250 11.962027 c -11.534022 11.417421 12.215625 11.065775 13.072525 10.806786 c -13.921983 10.550046 14.973595 10.375915 16.274443 10.204536 c -16.405056 11.195970 l -h -10.101059 17.584925 m -9.977288 18.320837 9.395552 18.891113 8.619835 18.891113 c -8.619835 17.891113 l -8.849913 17.891113 9.062225 17.732313 9.114909 17.419067 c -10.101059 17.584925 l -h -8.619835 18.891113 m -7.859531 18.891113 7.250215 18.326427 7.137135 17.566717 c -8.126238 17.419493 l -8.171968 17.726725 8.391990 17.891113 8.619835 17.891113 c -8.619835 18.891113 l -h -7.136462 17.562048 m -6.947139 16.202108 6.763302 15.166948 6.518592 14.361504 c -6.275430 13.561155 5.981721 13.021152 5.592998 12.627558 c -4.805452 11.830145 3.503936 11.498478 0.860908 11.197033 c -0.974226 10.203474 l -3.554271 10.497736 5.230436 10.837353 6.304493 11.924868 c -6.846570 12.473737 7.204643 13.179608 7.475406 14.070805 c -7.744622 14.956905 7.936855 16.058958 8.126910 17.424164 c -7.136462 17.562048 l -h -0.859183 11.196833 m -0.089259 11.106312 -0.500000 10.475979 -0.500000 9.695551 c -0.500000 9.695551 l -0.500000 9.946500 0.687143 10.169718 0.975950 10.203673 c -0.859183 11.196833 l -h --0.500000 9.695551 m --0.500000 8.923503 0.079786 8.297226 0.852054 8.195160 c -0.983079 9.186539 l -0.678971 9.226731 0.500000 9.454006 0.500000 9.695551 c --0.500000 9.695551 l -h -0.848098 8.195699 m -2.146421 8.013546 3.126409 7.842214 3.889960 7.608789 c -4.646159 7.377612 5.157835 7.094736 5.540681 6.708459 c -5.924912 6.320785 6.217544 5.790504 6.468155 4.997945 c -6.720429 4.200129 6.919805 3.171420 7.137986 1.809986 c -8.125387 1.968225 l -7.906841 3.331934 7.698164 4.424881 7.421624 5.299438 c -7.143422 6.179253 6.786478 6.872063 6.250936 7.412404 c -5.714010 7.954142 5.035716 8.304206 4.182313 8.565100 c -3.336262 8.823746 2.287016 9.003614 0.987036 9.186000 c -0.848098 8.195699 l -h -7.140029 1.798147 m -7.274719 1.070122 7.860904 0.499989 8.619835 0.499989 c -8.619835 1.499989 l -8.408263 1.499989 8.182755 1.658932 8.123343 1.980066 c -7.140029 1.798147 l -h -f -n -Q -q -1.000000 0.000000 -0.000000 1.000000 107.227104 75.129669 cm -0.049479 0.742188 0.545395 scn -5.619252 -0.000010 m -5.947090 -0.000010 6.217412 0.238985 6.263425 0.574716 c -6.763808 4.062898 7.241186 4.540888 10.646096 4.922141 c -10.991189 4.961974 11.250008 5.240800 11.250008 5.565150 c -11.250008 5.895190 10.996941 6.162637 10.651848 6.208159 c -7.264192 6.646316 6.827075 7.073092 6.263425 10.561275 c -6.205909 10.897006 5.947090 11.130310 5.619252 11.130310 c -5.297166 11.130310 5.026845 10.897006 4.975080 10.555585 c -4.480448 7.067402 4.003070 6.589413 0.598160 6.208159 c -0.253068 6.168327 0.000000 5.895190 0.000000 5.565150 c -0.000000 5.240800 0.247316 4.967664 0.598160 4.922141 c -3.985816 4.455533 4.405678 4.057208 4.975080 0.569025 c -5.038347 0.233294 5.302918 -0.000010 5.619252 -0.000010 c -h -f -n -Q -q -1.000000 0.000000 -0.000000 1.000000 103.008408 84.868683 cm -0.049479 0.742188 0.545395 scn -3.160831 -0.000001 m -3.345240 -0.000001 3.497297 0.134433 3.523178 0.323282 c -3.804644 2.285384 4.073170 2.554254 5.988433 2.768708 c -6.182547 2.791114 6.328133 2.947954 6.328133 3.130401 c -6.328133 3.316049 6.185782 3.466487 5.991668 3.492094 c -4.086111 3.738557 3.840232 3.978619 3.523178 5.940721 c -3.490826 6.129570 3.345240 6.260803 3.160831 6.260803 c -2.979658 6.260803 2.827601 6.129570 2.798484 5.937521 c -2.520254 3.975418 2.251728 3.706549 0.336465 3.492094 c -0.142351 3.469688 0.000000 3.316049 0.000000 3.130401 c -0.000000 2.947954 0.139115 2.794315 0.336465 2.768708 c -2.242023 2.506241 2.478195 2.282184 2.798484 0.320081 c -2.834072 0.131233 2.982893 -0.000001 3.160831 -0.000001 c -h -f -n -Q -q -1.000000 0.000000 -0.000000 1.000000 103.711479 69.564484 cm -0.049479 0.742188 0.545395 scn -3.863233 0.000004 m -4.088622 0.000004 4.274468 0.164312 4.306101 0.395127 c -4.650115 2.793253 4.978312 3.121871 7.319186 3.383983 c -7.556437 3.411368 7.734375 3.603061 7.734375 3.826052 c -7.734375 4.052955 7.560391 4.236824 7.323141 4.268121 c -4.994129 4.569354 4.693611 4.862762 4.306101 7.260888 c -4.266560 7.491703 4.088622 7.652100 3.863233 7.652100 c -3.641799 7.652100 3.455953 7.491703 3.420365 7.256976 c -3.080306 4.858850 2.752109 4.530232 0.411235 4.268121 c -0.173984 4.240736 0.000000 4.052955 0.000000 3.826052 c -0.000000 3.603061 0.170030 3.415280 0.411235 3.383983 c -2.740246 3.063190 3.028902 2.789341 3.420365 0.391215 c -3.463861 0.160400 3.645753 0.000004 3.863233 0.000004 c -h -f -n -Q -q -1.000000 0.000000 -0.000000 1.000000 -0.070938 78.607880 cm -0.049479 0.742188 0.545395 scn -5.268045 -0.000012 m -5.575393 -0.000012 5.828820 0.224045 5.871957 0.538792 c -6.341066 3.808963 6.788608 4.257079 9.980709 4.614503 c -10.304233 4.651846 10.546875 4.913247 10.546875 5.217325 c -10.546875 5.526737 10.309625 5.777468 9.986101 5.820146 c -6.810176 6.230918 6.400379 6.631021 5.871957 9.901192 c -5.818036 10.215940 5.575393 10.434662 5.268045 10.434662 c -4.966090 10.434662 4.712663 10.215940 4.664135 9.895857 c -4.200418 6.625686 3.752876 6.177571 0.560775 5.820146 c -0.237251 5.782803 0.000000 5.526737 0.000000 5.217325 c -0.000000 4.913247 0.231859 4.657181 0.560775 4.614503 c -3.736700 4.177058 4.130321 3.803629 4.664135 0.533457 c -4.723447 0.218710 4.971482 -0.000012 5.268045 -0.000012 c -h -f -n -Q -q -/E1 gs -1.000000 0.000000 -0.000000 1.000000 9.772858 88.346924 cm -0.049479 0.742188 0.545395 scn -2.458421 -0.000008 m -2.601850 -0.000008 2.720115 0.104552 2.740246 0.251434 c -2.959164 1.777514 3.168016 1.986634 4.657663 2.153433 c -4.808641 2.170859 4.921874 2.292846 4.921874 2.434749 c -4.921874 2.579142 4.811157 2.696150 4.660179 2.716066 c -3.178081 2.907759 2.986843 3.094474 2.740246 4.620554 c -2.715083 4.767436 2.601850 4.869507 2.458421 4.869507 c -2.317508 4.869507 2.199242 4.767436 2.176596 4.618064 c -1.960194 3.091985 1.751342 2.882864 0.261695 2.716066 c -0.110717 2.698639 0.000000 2.579142 0.000000 2.434749 c -0.000000 2.292846 0.108201 2.173349 0.261695 2.153433 c -1.743793 1.949291 1.927482 1.775024 2.176596 0.248944 c -2.204275 0.102062 2.320024 -0.000008 2.458421 -0.000008 c -h -f -n -Q -q -/E2 gs -1.000000 0.000000 -0.000000 1.000000 13.288479 82.086121 cm -0.049479 0.742188 0.545395 scn -2.458421 -0.000008 m -2.601850 -0.000008 2.720116 0.104552 2.740247 0.251434 c -2.959164 1.777514 3.168017 1.986634 4.657664 2.153433 c -4.808642 2.170859 4.921875 2.292846 4.921875 2.434749 c -4.921875 2.579142 4.811158 2.696150 4.660181 2.716066 c -3.178082 2.907759 2.986844 3.094474 2.740247 4.620554 c -2.715084 4.767436 2.601850 4.869507 2.458421 4.869507 c -2.317509 4.869507 2.199243 4.767436 2.176596 4.618064 c -1.960195 3.091985 1.751342 2.882864 0.261695 2.716066 c -0.110717 2.698639 0.000000 2.579142 0.000000 2.434749 c -0.000000 2.292846 0.108201 2.173349 0.261695 2.153433 c -1.743793 1.949291 1.927483 1.775024 2.176596 0.248944 c -2.204276 0.102062 2.320025 -0.000008 2.458421 -0.000008 c -h -f -n -Q - -endstream -endobj - -2 0 obj - 17245 -endobj - -3 0 obj - << /Type /XObject - /Length 4 0 R - /Group << /Type /Group - /S /Transparency - >> - /Subtype /Form - /Resources << >> - /BBox [ 0.000000 0.000000 119.000000 93.000000 ] - >> -stream -/DeviceRGB CS -/DeviceRGB cs -q -1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm -0.000000 0.000000 0.000000 scn -0.000000 93.000000 m -119.000000 93.000000 l -119.000000 0.000000 l -0.000000 0.000000 l -0.000000 93.000000 l -h -f -n -Q - -endstream -endobj - -4 0 obj - 234 -endobj - -5 0 obj - << /XObject << /X1 1 0 R >> - /ExtGState << /E1 << /SMask << /Type /Mask - /G 3 0 R - /S /Alpha - >> - /Type /ExtGState - >> >> - >> -endobj - -6 0 obj - << /Length 7 0 R >> -stream -/DeviceRGB CS -/DeviceRGB cs -q -/E1 gs -/X1 Do -Q - -endstream -endobj - -7 0 obj - 46 -endobj - -8 0 obj - << /Annots [] - /Type /Page - /MediaBox [ 0.000000 0.000000 119.000000 93.000000 ] - /Resources 5 0 R - /Contents 6 0 R - /Parent 9 0 R - >> -endobj - -9 0 obj - << /Kids [ 8 0 R ] - /Count 1 - /Type /Pages - >> -endobj - -10 0 obj - << /Pages 9 0 R - /Type /Catalog - >> -endobj - -xref -0 11 -0000000000 65535 f -0000000010 00000 n -0000017630 00000 n -0000017654 00000 n -0000018137 00000 n -0000018159 00000 n -0000018457 00000 n -0000018559 00000 n -0000018580 00000 n -0000018754 00000 n -0000018828 00000 n -trailer -<< /ID [ (some) (id) ] - /Root 10 0 R - /Size 11 ->> -startxref -18888 -%%EOF \ No newline at end of file diff --git a/ElementX/Resources/Assets.xcassets/Images/Analytics/AnalyticsLogo.imageset/Contents.json b/ElementX/Resources/Assets.xcassets/Images/Analytics/AnalyticsLogo.imageset/Contents.json deleted file mode 100644 index 7d49fc335..000000000 --- a/ElementX/Resources/Assets.xcassets/Images/Analytics/AnalyticsLogo.imageset/Contents.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "images" : [ - { - "filename" : "AnalyticsLogo.pdf", - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - }, - "properties" : { - "preserves-vector-representation" : true - } -} diff --git a/ElementX/Resources/Assets.xcassets/Images/Analytics/Contents.json b/ElementX/Resources/Assets.xcassets/Images/Analytics/Contents.json deleted file mode 100644 index 73c00596a..000000000 --- a/ElementX/Resources/Assets.xcassets/Images/Analytics/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/ElementX/Resources/Assets.xcassets/Images/Authentication/Server Selection Icon.imageset/Contents.json b/ElementX/Resources/Assets.xcassets/Images/Authentication/server-selection-icon.imageset/Contents.json similarity index 100% rename from ElementX/Resources/Assets.xcassets/Images/Authentication/Server Selection Icon.imageset/Contents.json rename to ElementX/Resources/Assets.xcassets/Images/Authentication/server-selection-icon.imageset/Contents.json diff --git a/ElementX/Resources/Assets.xcassets/Images/Authentication/Server Selection Icon.imageset/authentication_server_selection_icon.svg b/ElementX/Resources/Assets.xcassets/Images/Authentication/server-selection-icon.imageset/authentication_server_selection_icon.svg similarity index 100% rename from ElementX/Resources/Assets.xcassets/Images/Authentication/Server Selection Icon.imageset/authentication_server_selection_icon.svg rename to ElementX/Resources/Assets.xcassets/Images/Authentication/server-selection-icon.imageset/authentication_server_selection_icon.svg diff --git a/ElementX/Resources/Assets.xcassets/Images/Encryption/Contents.json b/ElementX/Resources/Assets.xcassets/Images/Encryption/Contents.json index da4a164c9..73c00596a 100644 --- a/ElementX/Resources/Assets.xcassets/Images/Encryption/Contents.json +++ b/ElementX/Resources/Assets.xcassets/Images/Encryption/Contents.json @@ -1,6 +1,6 @@ { "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/ElementX/Resources/Assets.xcassets/Images/Encryption/encryption_normal.imageset/Contents.json b/ElementX/Resources/Assets.xcassets/Images/Encryption/encryption-normal.imageset/Contents.json similarity index 100% rename from ElementX/Resources/Assets.xcassets/Images/Encryption/encryption_normal.imageset/Contents.json rename to ElementX/Resources/Assets.xcassets/Images/Encryption/encryption-normal.imageset/Contents.json diff --git a/ElementX/Resources/Assets.xcassets/Images/Encryption/encryption_normal.imageset/encryption_normal.svg b/ElementX/Resources/Assets.xcassets/Images/Encryption/encryption-normal.imageset/encryption_normal.svg similarity index 100% rename from ElementX/Resources/Assets.xcassets/Images/Encryption/encryption_normal.imageset/encryption_normal.svg rename to ElementX/Resources/Assets.xcassets/Images/Encryption/encryption-normal.imageset/encryption_normal.svg diff --git a/ElementX/Resources/Assets.xcassets/Images/Encryption/encryption_trusted.imageset/Contents.json b/ElementX/Resources/Assets.xcassets/Images/Encryption/encryption-trusted.imageset/Contents.json similarity index 100% rename from ElementX/Resources/Assets.xcassets/Images/Encryption/encryption_trusted.imageset/Contents.json rename to ElementX/Resources/Assets.xcassets/Images/Encryption/encryption-trusted.imageset/Contents.json diff --git a/ElementX/Resources/Assets.xcassets/Images/Encryption/encryption_trusted.imageset/encryption_trusted.svg b/ElementX/Resources/Assets.xcassets/Images/Encryption/encryption-trusted.imageset/encryption_trusted.svg similarity index 100% rename from ElementX/Resources/Assets.xcassets/Images/Encryption/encryption_trusted.imageset/encryption_trusted.svg rename to ElementX/Resources/Assets.xcassets/Images/Encryption/encryption-trusted.imageset/encryption_trusted.svg diff --git a/ElementX/Resources/Assets.xcassets/Images/Encryption/encryption_warning.imageset/Contents.json b/ElementX/Resources/Assets.xcassets/Images/Encryption/encryption-warning.imageset/Contents.json similarity index 100% rename from ElementX/Resources/Assets.xcassets/Images/Encryption/encryption_warning.imageset/Contents.json rename to ElementX/Resources/Assets.xcassets/Images/Encryption/encryption-warning.imageset/Contents.json diff --git a/ElementX/Resources/Assets.xcassets/Images/Encryption/encryption_warning.imageset/encryption_warning.svg b/ElementX/Resources/Assets.xcassets/Images/Encryption/encryption-warning.imageset/encryption_warning.svg similarity index 100% rename from ElementX/Resources/Assets.xcassets/Images/Encryption/encryption_warning.imageset/encryption_warning.svg rename to ElementX/Resources/Assets.xcassets/Images/Encryption/encryption-warning.imageset/encryption_warning.svg diff --git a/ElementX/Resources/Assets.xcassets/Images/close_circle.imageset/Contents.json b/ElementX/Resources/Assets.xcassets/Images/close-circle.imageset/Contents.json similarity index 100% rename from ElementX/Resources/Assets.xcassets/Images/close_circle.imageset/Contents.json rename to ElementX/Resources/Assets.xcassets/Images/close-circle.imageset/Contents.json diff --git a/ElementX/Resources/Assets.xcassets/Images/close_circle.imageset/url_preview_close_dark.pdf b/ElementX/Resources/Assets.xcassets/Images/close-circle.imageset/url_preview_close_dark.pdf similarity index 100% rename from ElementX/Resources/Assets.xcassets/Images/close_circle.imageset/url_preview_close_dark.pdf rename to ElementX/Resources/Assets.xcassets/Images/close-circle.imageset/url_preview_close_dark.pdf diff --git a/ElementX/Resources/Assets.xcassets/Images/LaunchBackground.imageset/Contents.json b/ElementX/Resources/Assets.xcassets/Images/launch-background.imageset/Contents.json similarity index 100% rename from ElementX/Resources/Assets.xcassets/Images/LaunchBackground.imageset/Contents.json rename to ElementX/Resources/Assets.xcassets/Images/launch-background.imageset/Contents.json diff --git a/ElementX/Resources/Assets.xcassets/Images/LaunchBackground.imageset/LaunchBackgroundPhone-squashed.png b/ElementX/Resources/Assets.xcassets/Images/launch-background.imageset/LaunchBackgroundPhone-squashed.png similarity index 100% rename from ElementX/Resources/Assets.xcassets/Images/LaunchBackground.imageset/LaunchBackgroundPhone-squashed.png rename to ElementX/Resources/Assets.xcassets/Images/launch-background.imageset/LaunchBackgroundPhone-squashed.png diff --git a/ElementX/Resources/Assets.xcassets/Images/LaunchBackground.imageset/LaunchBackgroundTablet-squashed.png b/ElementX/Resources/Assets.xcassets/Images/launch-background.imageset/LaunchBackgroundTablet-squashed.png similarity index 100% rename from ElementX/Resources/Assets.xcassets/Images/LaunchBackground.imageset/LaunchBackgroundTablet-squashed.png rename to ElementX/Resources/Assets.xcassets/Images/launch-background.imageset/LaunchBackgroundTablet-squashed.png diff --git a/ElementX/Resources/Assets.xcassets/Images/LaunchLogo.imageset/Contents.json b/ElementX/Resources/Assets.xcassets/Images/launch-logo.imageset/Contents.json similarity index 100% rename from ElementX/Resources/Assets.xcassets/Images/LaunchLogo.imageset/Contents.json rename to ElementX/Resources/Assets.xcassets/Images/launch-logo.imageset/Contents.json diff --git a/ElementX/Resources/Assets.xcassets/Images/LaunchLogo.imageset/LaunchLogo-dark.pdf b/ElementX/Resources/Assets.xcassets/Images/launch-logo.imageset/LaunchLogo-dark.pdf similarity index 100% rename from ElementX/Resources/Assets.xcassets/Images/LaunchLogo.imageset/LaunchLogo-dark.pdf rename to ElementX/Resources/Assets.xcassets/Images/launch-logo.imageset/LaunchLogo-dark.pdf diff --git a/ElementX/Resources/Assets.xcassets/Images/LaunchLogo.imageset/LaunchLogo.pdf b/ElementX/Resources/Assets.xcassets/Images/launch-logo.imageset/LaunchLogo.pdf similarity index 100% rename from ElementX/Resources/Assets.xcassets/Images/LaunchLogo.imageset/LaunchLogo.pdf rename to ElementX/Resources/Assets.xcassets/Images/launch-logo.imageset/LaunchLogo.pdf diff --git a/ElementX/Resources/Assets.xcassets/Images/timelineComposerSendMessage.imageset/Contents.json b/ElementX/Resources/Assets.xcassets/Images/timeline-composer-send-message.imageset/Contents.json similarity index 100% rename from ElementX/Resources/Assets.xcassets/Images/timelineComposerSendMessage.imageset/Contents.json rename to ElementX/Resources/Assets.xcassets/Images/timeline-composer-send-message.imageset/Contents.json diff --git a/ElementX/Resources/Assets.xcassets/Images/timelineComposerSendMessage.imageset/send.svg b/ElementX/Resources/Assets.xcassets/Images/timeline-composer-send-message.imageset/send.svg similarity index 100% rename from ElementX/Resources/Assets.xcassets/Images/timelineComposerSendMessage.imageset/send.svg rename to ElementX/Resources/Assets.xcassets/Images/timeline-composer-send-message.imageset/send.svg diff --git a/ElementX/Sources/Generated/Assets.swift b/ElementX/Sources/Generated/Assets.swift index e03d53072..5b9b6d0c5 100644 --- a/ElementX/Sources/Generated/Assets.swift +++ b/ElementX/Sources/Generated/Assets.swift @@ -25,21 +25,20 @@ internal typealias AssetImageTypeAlias = ImageAsset.Image // swiftlint:disable identifier_name line_length nesting type_body_length type_name internal enum Asset { internal enum Colors { - internal static let accentColor = ColorAsset(name: "Colors/AccentColor") + internal static let accentColor = ColorAsset(name: "colors/accent-color") + internal static let backgroundColor = ColorAsset(name: "colors/background-color") } internal enum Images { - internal static let analyticsCheckmark = ImageAsset(name: "Images/AnalyticsCheckmark") - internal static let analyticsLogo = ImageAsset(name: "Images/AnalyticsLogo") - internal static let serverSelectionIcon = ImageAsset(name: "Images/Server Selection Icon") - internal static let encryptionNormal = ImageAsset(name: "Images/encryption_normal") - internal static let encryptionTrusted = ImageAsset(name: "Images/encryption_trusted") - internal static let encryptionWarning = ImageAsset(name: "Images/encryption_warning") - internal static let launchBackground = ImageAsset(name: "Images/LaunchBackground") - internal static let launchLogo = ImageAsset(name: "Images/LaunchLogo") - internal static let appLogo = ImageAsset(name: "Images/app-logo") - internal static let closeCircle = ImageAsset(name: "Images/close_circle") - internal static let locationPin = ImageAsset(name: "Images/location-pin") - internal static let timelineComposerSendMessage = ImageAsset(name: "Images/timelineComposerSendMessage") + internal static let encryptionNormal = ImageAsset(name: "images/encryption-normal") + internal static let encryptionTrusted = ImageAsset(name: "images/encryption-trusted") + internal static let encryptionWarning = ImageAsset(name: "images/encryption-warning") + internal static let appLogo = ImageAsset(name: "images/app-logo") + internal static let serverSelectionIcon = ImageAsset(name: "images/server-selection-icon") + internal static let closeCircle = ImageAsset(name: "images/close-circle") + internal static let launchBackground = ImageAsset(name: "images/launch-background") + internal static let launchLogo = ImageAsset(name: "images/launch-logo") + internal static let locationPin = ImageAsset(name: "images/location-pin") + internal static let timelineComposerSendMessage = ImageAsset(name: "images/timeline-composer-send-message") } } // swiftlint:enable identifier_name line_length nesting type_body_length type_name diff --git a/ElementX/Sources/Other/ExpiringTaskRunner.swift b/ElementX/Sources/Other/ExpiringTaskRunner.swift index e93a2f6aa..e28a16082 100644 --- a/ElementX/Sources/Other/ExpiringTaskRunner.swift +++ b/ElementX/Sources/Other/ExpiringTaskRunner.swift @@ -34,7 +34,7 @@ actor ExpiringTaskRunner { continuation = $0 Task { - try await Task.sleep(for: timeout) + try? await Task.sleep(for: timeout) continuation?.resume(with: .failure(ExpiringTaskRunnerError.timeout)) continuation = nil } diff --git a/ElementX/Sources/Screens/AnalyticsPromptScreen/AnalyticsPromptScreenModels.swift b/ElementX/Sources/Screens/AnalyticsPromptScreen/AnalyticsPromptScreenModels.swift index d6fe3d4ba..fa2bb8bd7 100644 --- a/ElementX/Sources/Screens/AnalyticsPromptScreen/AnalyticsPromptScreenModels.swift +++ b/ElementX/Sources/Screens/AnalyticsPromptScreen/AnalyticsPromptScreenModels.swift @@ -38,8 +38,8 @@ struct AnalyticsPromptScreenViewState: BindableState { /// A collection of strings for the UI that need to be parsed from HTML struct AnalyticsPromptScreenStrings { let optInContent: AttributedString - let point1 = AttributedStringBuilder().fromHTML(L10n.screenAnalyticsPromptDataUsage)?.replacingFontWithPresentationIntent() ?? AttributedString(L10n.screenAnalyticsPromptDataUsage) - let point2 = AttributedStringBuilder().fromHTML(L10n.screenAnalyticsPromptThirdPartySharing)?.replacingFontWithPresentationIntent() ?? AttributedString(L10n.screenAnalyticsPromptThirdPartySharing) + let point1 = L10n.screenAnalyticsPromptDataUsage + let point2 = L10n.screenAnalyticsPromptThirdPartySharing let point3 = L10n.screenAnalyticsPromptSettings init(termsURL: URL) { diff --git a/ElementX/Sources/Screens/AnalyticsPromptScreen/View/AnalyticsPromptScreen.swift b/ElementX/Sources/Screens/AnalyticsPromptScreen/View/AnalyticsPromptScreen.swift index 8b4d5167f..e856e0581 100644 --- a/ElementX/Sources/Screens/AnalyticsPromptScreen/View/AnalyticsPromptScreen.swift +++ b/ElementX/Sources/Screens/AnalyticsPromptScreen/View/AnalyticsPromptScreen.swift @@ -34,40 +34,39 @@ struct AnalyticsPromptScreen: View { /// The main content of the screen that is shown inside the scroll view. private var mainContent: some View { - VStack { - Image(uiImage: Asset.Images.analyticsLogo.image) - .padding(.bottom, 24) + VStack(spacing: 40) { + header + checkmarkList + } + } + + private var header: some View { + VStack(spacing: 8) { + AuthenticationIconImage(image: Image(systemName: "chart.bar")) + .symbolVariant(.fill) + .padding(.bottom, 8) Text(L10n.screenAnalyticsPromptTitle(InfoPlistReader.main.bundleDisplayName)) .font(.compound.headingMDBold) .multilineTextAlignment(.center) .foregroundColor(.compound.textPrimary) - .padding(.bottom, 2) .accessibilityIdentifier(A11yIdentifiers.analyticsPromptScreen.title) Text(context.viewState.strings.optInContent) - .font(.compound.bodyLG) + .font(.compound.bodyMD) .multilineTextAlignment(.center) .foregroundColor(.compound.textSecondary) - - Divider() - .overlay { Color.compound.borderDisabled } - .padding(.vertical, 20) - - checkmarkList } } /// The list of re-assurances about analytics. private var checkmarkList: some View { - VStack(alignment: .leading, spacing: 8) { - AnalyticsPromptScreenCheckmarkItem(attributedString: context.viewState.strings.point1) - AnalyticsPromptScreenCheckmarkItem(attributedString: context.viewState.strings.point2) - AnalyticsPromptScreenCheckmarkItem(string: context.viewState.strings.point3) + VStack(alignment: .leading, spacing: 4) { + AnalyticsPromptScreenCheckmarkItem(title: context.viewState.strings.point1, listPosition: .top) + AnalyticsPromptScreenCheckmarkItem(title: context.viewState.strings.point2, listPosition: .middle) + AnalyticsPromptScreenCheckmarkItem(title: context.viewState.strings.point3, listPosition: .bottom) } .fixedSize(horizontal: false, vertical: true) - .font(.compound.bodyLG) - .foregroundColor(.compound.textSecondary) .frame(maxWidth: .infinity) } @@ -75,7 +74,7 @@ struct AnalyticsPromptScreen: View { private var buttons: some View { VStack(spacing: 16) { Button { context.send(viewAction: .enable) } label: { - Text(L10n.actionEnable) + Text(L10n.actionOk) .font(.compound.bodyLGSemibold) } .buttonStyle(.elementAction(.xLarge)) diff --git a/ElementX/Sources/Screens/AnalyticsPromptScreen/View/AnalyticsPromptScreenCheckmarkItem.swift b/ElementX/Sources/Screens/AnalyticsPromptScreen/View/AnalyticsPromptScreenCheckmarkItem.swift index f3b966ed7..2116f1a85 100644 --- a/ElementX/Sources/Screens/AnalyticsPromptScreen/View/AnalyticsPromptScreenCheckmarkItem.swift +++ b/ElementX/Sources/Screens/AnalyticsPromptScreen/View/AnalyticsPromptScreenCheckmarkItem.swift @@ -17,21 +17,50 @@ import SwiftUI struct AnalyticsPromptScreenCheckmarkItem: View { - private let attributedString: AttributedString - - init(attributedString: AttributedString) { - self.attributedString = attributedString + /// Represents the position of a checkmark item in a list. + enum ListPosition { + case top, middle, bottom + + /// The corners that should be rounded for this position. + var roundedCorners: UIRectCorner { + switch self { + case .top: + return [.topLeft, .topRight] + case .middle: + return [] + case .bottom: + return [.bottomLeft, .bottomRight] + } + } } - init(string: String) { - attributedString = AttributedString(string) - } + let title: String + let listPosition: ListPosition var body: some View { - Label { Text(attributedString) } icon: { + Label { Text(title) } icon: { Image(systemName: "checkmark.circle") - .foregroundColor(.compound.iconPrimary) + .symbolVariant(.fill) + .symbolRenderingMode(.palette) + .foregroundStyle(Color.compound.iconAccentTertiary, Color.compound.textOnSolidPrimary) } + .labelStyle(CheckmarkLabelStyle()) + .padding(.horizontal, 20) + .padding(.vertical, 12) + .frame(maxWidth: .infinity, alignment: .leading) + .background(Color.compound.bgSubtleSecondary, in: RoundedCornerShape(radius: 16, corners: listPosition.roundedCorners)) + } +} + +private struct CheckmarkLabelStyle: LabelStyle { + func makeBody(configuration: Configuration) -> some View { + HStack(alignment: .firstTextBaseline, spacing: 16) { + configuration.icon + .font(.compound.bodyLGSemibold) + configuration.title + .font(.compound.bodyMDSemibold) + } + .foregroundColor(.compound.textPrimary) } } @@ -41,11 +70,12 @@ struct AnalyticsPromptScreenCheckmarkItem_Previews: PreviewProvider { static let strings = AnalyticsPromptScreenStrings(termsURL: ServiceLocator.shared.settings.analyticsConfiguration.termsURL) static var previews: some View { - VStack(alignment: .leading) { - AnalyticsPromptScreenCheckmarkItem(attributedString: strings.point1) - AnalyticsPromptScreenCheckmarkItem(attributedString: strings.point2) - AnalyticsPromptScreenCheckmarkItem(attributedString: AttributedString("This is a short string.")) - AnalyticsPromptScreenCheckmarkItem(attributedString: AttributedString("This is a very long string that will be used to test the layout over multiple lines of text to ensure everything is correct.")) + VStack(alignment: .leading, spacing: 4) { + AnalyticsPromptScreenCheckmarkItem(title: strings.point1, listPosition: .top) + AnalyticsPromptScreenCheckmarkItem(title: strings.point2, listPosition: .middle) + AnalyticsPromptScreenCheckmarkItem(title: "This is a short string.", listPosition: .middle) + AnalyticsPromptScreenCheckmarkItem(title: "This is a very long string that will be used to test the layout over multiple lines of text to ensure everything is correct.", + listPosition: .bottom) } .padding() } diff --git a/ElementX/Sources/Screens/Other/SplashScreenCoordinator.swift b/ElementX/Sources/Screens/Other/SplashScreenCoordinator.swift index fa6c334d4..743e36690 100644 --- a/ElementX/Sources/Screens/Other/SplashScreenCoordinator.swift +++ b/ElementX/Sources/Screens/Other/SplashScreenCoordinator.swift @@ -27,10 +27,7 @@ class SplashScreenCoordinator: CoordinatorProtocol { /// these 2 screens are matched. struct SplashScreen: View { var body: some View { - Image(asset: Asset.Images.launchLogo) - .accessibilityHidden(true) - .frame(maxWidth: .infinity, maxHeight: .infinity) - .background { OnboardingBackgroundImage() } + Color.compound.bgCanvasDefault.ignoresSafeArea() } } diff --git a/ElementX/Sources/Screens/RoomScreen/View/Style/TimelineItemBubbledStylerView.swift b/ElementX/Sources/Screens/RoomScreen/View/Style/TimelineItemBubbledStylerView.swift index 4fde35c45..f38af73e6 100644 --- a/ElementX/Sources/Screens/RoomScreen/View/Style/TimelineItemBubbledStylerView.swift +++ b/ElementX/Sources/Screens/RoomScreen/View/Style/TimelineItemBubbledStylerView.swift @@ -68,23 +68,20 @@ struct TimelineItemBubbledStylerView: View { @ViewBuilder private var header: some View { if shouldShowSenderDetails { - VStack { - Spacer() - .frame(height: 8) - HStack(alignment: .top, spacing: 4) { - TimelineSenderAvatarView(timelineItem: timelineItem) - .accessibilityHidden(true) - Text(timelineItem.sender.displayName ?? timelineItem.sender.id) - .font(.compound.bodySMSemibold) - .foregroundColor(.compound.textPrimary) - .lineLimit(1) - .padding(.vertical, senderNameVerticalPadding) - } - .accessibilityElement(children: .combine) - .onTapGesture { - context.send(viewAction: .tappedOnUser(userID: timelineItem.sender.id)) - } + HStack(alignment: .top, spacing: 4) { + TimelineSenderAvatarView(timelineItem: timelineItem) + .accessibilityHidden(true) + Text(timelineItem.sender.displayName ?? timelineItem.sender.id) + .font(.compound.bodySMSemibold) + .foregroundColor(.compound.textPrimary) + .lineLimit(1) + .padding(.vertical, senderNameVerticalPadding) } + .accessibilityElement(children: .combine) + .onTapGesture { + context.send(viewAction: .tappedOnUser(userID: timelineItem.sender.id)) + } + .padding(.top, 8) } } diff --git a/ElementX/SupportingFiles/Base.lproj/LaunchScreen.storyboard b/ElementX/SupportingFiles/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index c31ed649a..000000000 --- a/ElementX/SupportingFiles/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ElementX/SupportingFiles/Info.plist b/ElementX/SupportingFiles/Info.plist index b634c4bdf..9c7933379 100644 --- a/ElementX/SupportingFiles/Info.plist +++ b/ElementX/SupportingFiles/Info.plist @@ -42,8 +42,11 @@ fetch - UILaunchStoryboardName - LaunchScreen + UILaunchScreen + + UIColorName + colors/background-color + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait diff --git a/ElementX/SupportingFiles/target.yml b/ElementX/SupportingFiles/target.yml index 377439154..f9bb9aa1d 100644 --- a/ElementX/SupportingFiles/target.yml +++ b/ElementX/SupportingFiles/target.yml @@ -45,7 +45,8 @@ targets: info: path: ../SupportingFiles/Info.plist properties: - UILaunchStoryboardName: LaunchScreen + UILaunchScreen: + UIColorName: colors/background-color CFBundleDisplayName: $(APP_DISPLAY_NAME) CFBundleShortVersionString: $(MARKETING_VERSION) CFBundleVersion: $(CURRENT_PROJECT_VERSION) diff --git a/project.yml b/project.yml index f9a9fc01e..5d1074ca6 100644 --- a/project.yml +++ b/project.yml @@ -21,7 +21,7 @@ options: settings: CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED: YES - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME: "Colors/AccentColor" + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME: "colors/accent-color" ENABLE_BITCODE: NO BASE_APP_GROUP_IDENTIFIER: io.element APP_GROUP_IDENTIFIER: group.$(BASE_APP_GROUP_IDENTIFIER)