From c03db4085931dfe83e45be2961bf1a0f582f3676 Mon Sep 17 00:00:00 2001
From: Doug <6060466+pixlwave@users.noreply.github.com>
Date: Wed, 10 Apr 2024 14:56:41 +0100
Subject: [PATCH] Add more flexible background support to FullscreenDialog
(#2675)
Hide the background when the main content extends underneath the bottom content.
---
.../Contents.json | 15 +++
.../join-room-background.svg | 9 ++
ElementX/Sources/Generated/Assets.swift | 1 +
.../SwiftUI/Layout/FullscreenDialog.swift | 127 ++++++++++++++----
.../AppLockScreen/View/AppLockScreen.swift | 2 +-
.../View/ServerConfirmationScreen.swift | 2 +-
.../View/AnalyticsPromptScreen.swift | 4 +-
.../View/IdentityConfirmationScreen.swift | 2 +-
.../View/IdentityConfirmedScreen.swift | 2 +-
.../View/NotificationPermissionsScreen.swift | 4 +-
.../View/SessionVerificationScreen.swift | 2 +-
.../Other/PlaceholderScreenCoordinator.swift | 2 +-
.../View/QRCodeLoginScreen.swift | 2 +-
.../View/ResetRecoveryKeyScreen.swift | 2 +-
.../View/SecureBackupKeyBackupScreen.swift | 2 +-
...SecureBackupLogoutConfirmationScreen.swift | 2 +-
.../View/SecureBackupRecoveryKeyScreen.swift | 2 +-
...est_analyticsPromptScreen-iPad-en-GB.1.png | 4 +-
...st_analyticsPromptScreen-iPad-pseudo.1.png | 4 +-
...nalyticsPromptScreen-iPhone-15-en-GB.1.png | 4 +-
...alyticsPromptScreen-iPhone-15-pseudo.1.png | 4 +-
.../test_appLockScreen-iPad-en-GB.1.png | 4 +-
.../test_appLockScreen-iPad-pseudo.1.png | 4 +-
...test_fullscreenDialog-iPad-en-GB.Bloom.png | 3 +
...t_fullscreenDialog-iPad-en-GB.Gradient.png | 3 +
...est_fullscreenDialog-iPad-en-GB.Plain.png} | 0
...est_fullscreenDialog-iPad-pseudo.Bloom.png | 3 +
..._fullscreenDialog-iPad-pseudo.Gradient.png | 3 +
...st_fullscreenDialog-iPad-pseudo.Plain.png} | 0
...fullscreenDialog-iPhone-15-en-GB.Bloom.png | 3 +
...lscreenDialog-iPhone-15-en-GB.Gradient.png | 3 +
...ullscreenDialog-iPhone-15-en-GB.Plain.png} | 0
...ullscreenDialog-iPhone-15-pseudo.Bloom.png | 3 +
...screenDialog-iPhone-15-pseudo.Gradient.png | 3 +
...llscreenDialog-iPhone-15-pseudo.Plain.png} | 0
...dentityConfirmationScreen-iPad-en-GB.1.png | 4 +-
...entityConfirmationScreen-iPad-pseudo.1.png | 4 +-
...t_identityConfirmedScreen-iPad-en-GB.1.png | 4 +-
..._identityConfirmedScreen-iPad-pseudo.1.png | 4 +-
...ficationPermissionsScreen-iPad-en-GB.1.png | 4 +-
...icationPermissionsScreen-iPad-pseudo.1.png | 4 +-
...ionPermissionsScreen-iPhone-15-en-GB.1.png | 4 +-
...onPermissionsScreen-iPhone-15-pseudo.1.png | 4 +-
...ackupKeyBackupScreen-iPad-en-GB.Set-up.png | 4 +-
...ckupKeyBackupScreen-iPad-pseudo.Set-up.png | 4 +-
...pLogoutConfirmationScreen-iPad-en-GB.1.png | 4 +-
...LogoutConfirmationScreen-iPad-pseudo.1.png | 4 +-
...ecoveryKeyScreen-iPad-en-GB.Incomplete.png | 4 +-
...ecoveryKeyScreen-iPad-en-GB.Not-set-up.png | 4 +-
...kupRecoveryKeyScreen-iPad-en-GB.Set-up.png | 4 +-
...upRecoveryKeyScreen-iPad-en-GB.Unknown.png | 4 +-
...coveryKeyScreen-iPad-pseudo.Incomplete.png | 4 +-
...coveryKeyScreen-iPad-pseudo.Not-set-up.png | 4 +-
...upRecoveryKeyScreen-iPad-pseudo.Set-up.png | 4 +-
...pRecoveryKeyScreen-iPad-pseudo.Unknown.png | 4 +-
.../test_waitingDialog-iPad-en-GB.1.png | 4 +-
.../test_waitingDialog-iPad-pseudo.1.png | 4 +-
...test_waitlistScreen-iPad-en-GB.Success.png | 4 +-
...test_waitlistScreen-iPad-en-GB.Waiting.png | 4 +-
...est_waitlistScreen-iPad-pseudo.Success.png | 4 +-
...est_waitlistScreen-iPad-pseudo.Waiting.png | 4 +-
61 files changed, 230 insertions(+), 104 deletions(-)
create mode 100644 ElementX/Resources/Assets.xcassets/images/join-room-background.imageset/Contents.json
create mode 100644 ElementX/Resources/Assets.xcassets/images/join-room-background.imageset/join-room-background.svg
create mode 100644 PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-en-GB.Bloom.png
create mode 100644 PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-en-GB.Gradient.png
rename PreviewTests/__Snapshots__/PreviewTests/{test_fullscreenDialog-iPad-en-GB.1.png => test_fullscreenDialog-iPad-en-GB.Plain.png} (100%)
create mode 100644 PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-pseudo.Bloom.png
create mode 100644 PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-pseudo.Gradient.png
rename PreviewTests/__Snapshots__/PreviewTests/{test_fullscreenDialog-iPad-pseudo.1.png => test_fullscreenDialog-iPad-pseudo.Plain.png} (100%)
create mode 100644 PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-en-GB.Bloom.png
create mode 100644 PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-en-GB.Gradient.png
rename PreviewTests/__Snapshots__/PreviewTests/{test_fullscreenDialog-iPhone-15-en-GB.1.png => test_fullscreenDialog-iPhone-15-en-GB.Plain.png} (100%)
create mode 100644 PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-pseudo.Bloom.png
create mode 100644 PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-pseudo.Gradient.png
rename PreviewTests/__Snapshots__/PreviewTests/{test_fullscreenDialog-iPhone-15-pseudo.1.png => test_fullscreenDialog-iPhone-15-pseudo.Plain.png} (100%)
diff --git a/ElementX/Resources/Assets.xcassets/images/join-room-background.imageset/Contents.json b/ElementX/Resources/Assets.xcassets/images/join-room-background.imageset/Contents.json
new file mode 100644
index 000000000..8dfc8b699
--- /dev/null
+++ b/ElementX/Resources/Assets.xcassets/images/join-room-background.imageset/Contents.json
@@ -0,0 +1,15 @@
+{
+ "images" : [
+ {
+ "filename" : "join-room-background.svg",
+ "idiom" : "universal"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "properties" : {
+ "preserves-vector-representation" : true
+ }
+}
diff --git a/ElementX/Resources/Assets.xcassets/images/join-room-background.imageset/join-room-background.svg b/ElementX/Resources/Assets.xcassets/images/join-room-background.imageset/join-room-background.svg
new file mode 100644
index 000000000..6bdccf6d5
--- /dev/null
+++ b/ElementX/Resources/Assets.xcassets/images/join-room-background.imageset/join-room-background.svg
@@ -0,0 +1,9 @@
+
diff --git a/ElementX/Sources/Generated/Assets.swift b/ElementX/Sources/Generated/Assets.swift
index 2d45e58b7..5e21a8033 100644
--- a/ElementX/Sources/Generated/Assets.swift
+++ b/ElementX/Sources/Generated/Assets.swift
@@ -38,6 +38,7 @@ internal enum Asset {
internal static let composerAttachment = ImageAsset(name: "images/composer-attachment")
internal static let stopRecording = ImageAsset(name: "images/stop-recording")
internal static let settingsIconWithBadge = ImageAsset(name: "images/settings-icon-with-badge")
+ internal static let joinRoomBackground = ImageAsset(name: "images/join-room-background")
internal static let launchBackground = ImageAsset(name: "images/launch-background")
internal static let locationMarkerShape = ImageAsset(name: "images/location-marker-shape")
internal static let mediaPause = ImageAsset(name: "images/media-pause")
diff --git a/ElementX/Sources/Other/SwiftUI/Layout/FullscreenDialog.swift b/ElementX/Sources/Other/SwiftUI/Layout/FullscreenDialog.swift
index 08804e9bd..3649ea933 100644
--- a/ElementX/Sources/Other/SwiftUI/Layout/FullscreenDialog.swift
+++ b/ElementX/Sources/Other/SwiftUI/Layout/FullscreenDialog.swift
@@ -25,6 +25,7 @@ import SwiftUI
/// environment value, so make sure to set this to match the screen's background.
struct FullscreenDialog: View {
@Environment(\.dynamicTypeSize) private var dynamicTypeSize
+ @Environment(\.backgroundStyle) private var backgroundStyle
/// Padding applied to the top of the content automatically. Use `UIConstants` for preset values.
var topPadding: CGFloat = UIConstants.titleTopPaddingToNavigationBar
@@ -33,18 +34,41 @@ struct FullscreenDialog: View {
/// The spacing between the content and the buttons.
var spacing: CGFloat = 16
- var showBackgroundGradient = false
+ /// The type of background that should be shown behind the content. This
+ /// will be hidden if the main content extends behind the bottom content.
+ var background: FullscreenDialogBackground?
/// The main content shown at the top of the layout.
@ViewBuilder var content: () -> Content
/// The content shown at the bottom of the layout.
@ViewBuilder var bottomContent: () -> BottomContent
- var body: some View {
- if dynamicTypeSize < .accessibility1 {
- standardLayout
+ /// Whether or not the screen should show its background.
+ @State private var showsBackground = true
+ /// The background style given to the bottom content.
+ private var bottomContentBackgroundStyle: AnyShapeStyle? {
+ if background != nil, showsBackground {
+ AnyShapeStyle(Color.clear)
} else {
- accessibilityLayout
+ backgroundStyle
+ }
+ }
+
+ var body: some View {
+ ZStack {
+ if let background, showsBackground {
+ Color.clear
+ .background(alignment: .bottom) {
+ background.image
+ }
+ .ignoresSafeArea()
+ }
+
+ if dynamicTypeSize < .accessibility1 {
+ standardLayout
+ } else {
+ accessibilityLayout
+ }
}
}
@@ -64,28 +88,20 @@ struct FullscreenDialog: View {
}
.scrollBounceBehavior(.basedOnSize)
.safeAreaInset(edge: .bottom) {
- if showBackgroundGradient {
- adjustedBottomContent(geometry: geometry)
- .background(Asset.Images.backgroundBottom.swiftUIImage.resizable().ignoresSafeArea())
- } else {
- adjustedBottomContent(geometry: geometry)
- .background()
+ VStack(spacing: 0) {
+ bottomContent()
+ .readableFrame()
+ .padding(.horizontal, horizontalPadding)
+ .padding(.top, spacing)
+ .padding(.bottom, UIConstants.actionButtonBottomPadding)
+
+ Spacer()
+ .frame(height: UIConstants.spacerHeight(in: geometry))
}
+ .background(bottomContentBackgroundStyle ?? AnyShapeStyle(Color.clear))
}
}
- }
-
- private func adjustedBottomContent(geometry: GeometryProxy) -> some View {
- VStack(spacing: 0) {
- bottomContent()
- .readableFrame()
- .padding(.horizontal, horizontalPadding)
- .padding(.top, spacing)
- .padding(.bottom, UIConstants.actionButtonBottomPadding)
-
- Spacer()
- .frame(height: UIConstants.spacerHeight(in: geometry))
- }
+ .introspect(.scrollView, on: .supportedVersions, customize: updateBackgroundVisibility)
}
/// A continuously scrolling layout used for accessibility font sizes.
@@ -116,6 +132,48 @@ struct FullscreenDialog: View {
.scrollBounceBehavior(.basedOnSize)
}
}
+
+ func updateBackgroundVisibility(scrollView: UIScrollView) {
+ guard dynamicTypeSize < .accessibility1 else {
+ showsBackground = true
+ return
+ }
+ let insetHeight = scrollView.adjustedContentInset.top + scrollView.adjustedContentInset.bottom
+ let availableHeight = scrollView.frame.height - insetHeight
+ showsBackground = scrollView.contentSize.height < availableHeight
+ }
+}
+
+/// The different types of background supported by the `FullscreenDialog` view.
+enum FullscreenDialogBackground {
+ /// The bottom gradient from the FTUE flow.
+ case gradient
+ /// The subtle bloom from the room discovery and permalink flows.
+ case bloom
+
+ private var asset: ImageAsset {
+ switch self {
+ case .gradient:
+ Asset.Images.backgroundBottom
+ case .bloom:
+ Asset.Images.joinRoomBackground
+ }
+ }
+
+ private var capInsets: EdgeInsets {
+ switch self {
+ case .gradient:
+ EdgeInsets(top: 0, leading: 0, bottom: 250, trailing: 0)
+ case .bloom:
+ EdgeInsets() // This one covers the entire screen.
+ }
+ }
+
+ /// The image that represents the background.
+ var image: Image {
+ Image(asset: asset)
+ .resizable(capInsets: capInsets)
+ }
}
struct FullscreenDialog_Previews: PreviewProvider, TestablePreview {
@@ -126,7 +184,26 @@ struct FullscreenDialog_Previews: PreviewProvider, TestablePreview {
buttons
}
.background()
- .environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
+ .backgroundStyle(.compound.bgCanvasDefault)
+ .previewDisplayName("Plain")
+
+ FullscreenDialog(topPadding: UIConstants.iconTopPaddingToNavigationBar, background: .gradient) {
+ content
+ } bottomContent: {
+ buttons
+ }
+ .background()
+ .backgroundStyle(.compound.bgCanvasDefault)
+ .previewDisplayName("Gradient")
+
+ FullscreenDialog(topPadding: UIConstants.iconTopPaddingToNavigationBar, background: .bloom) {
+ content
+ } bottomContent: {
+ buttons
+ }
+ .background()
+ .backgroundStyle(.compound.bgCanvasDefault)
+ .previewDisplayName("Bloom")
}
private static var content: some View {
diff --git a/ElementX/Sources/Screens/AppLock/AppLockScreen/View/AppLockScreen.swift b/ElementX/Sources/Screens/AppLock/AppLockScreen/View/AppLockScreen.swift
index 381afcaae..6bb4bc705 100644
--- a/ElementX/Sources/Screens/AppLock/AppLockScreen/View/AppLockScreen.swift
+++ b/ElementX/Sources/Screens/AppLock/AppLockScreen/View/AppLockScreen.swift
@@ -55,7 +55,7 @@ struct AppLockScreen: View {
.font(.compound.bodyMDSemibold)
}
.background()
- .environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
+ .backgroundStyle(.compound.bgCanvasDefault)
.disabled(context.viewState.forcedLogoutIndicator != nil)
.overlay {
context.viewState.forcedLogoutIndicator.map(UserIndicatorModalView.init)
diff --git a/ElementX/Sources/Screens/Authentication/ServerConfirmationScreen/View/ServerConfirmationScreen.swift b/ElementX/Sources/Screens/Authentication/ServerConfirmationScreen/View/ServerConfirmationScreen.swift
index 3dbcf00c8..57cca4815 100644
--- a/ElementX/Sources/Screens/Authentication/ServerConfirmationScreen/View/ServerConfirmationScreen.swift
+++ b/ElementX/Sources/Screens/Authentication/ServerConfirmationScreen/View/ServerConfirmationScreen.swift
@@ -26,7 +26,7 @@ struct ServerConfirmationScreen: View {
buttons
}
.background()
- .environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
+ .backgroundStyle(.compound.bgCanvasDefault)
.introspect(.window, on: .supportedVersions) { window in
context.send(viewAction: .updateWindow(window))
}
diff --git a/ElementX/Sources/Screens/Onboarding/AnalyticsPromptScreen/View/AnalyticsPromptScreen.swift b/ElementX/Sources/Screens/Onboarding/AnalyticsPromptScreen/View/AnalyticsPromptScreen.swift
index ade52f248..a56242eee 100644
--- a/ElementX/Sources/Screens/Onboarding/AnalyticsPromptScreen/View/AnalyticsPromptScreen.swift
+++ b/ElementX/Sources/Screens/Onboarding/AnalyticsPromptScreen/View/AnalyticsPromptScreen.swift
@@ -21,13 +21,13 @@ struct AnalyticsPromptScreen: View {
@ObservedObject var context: AnalyticsPromptScreenViewModel.Context
var body: some View {
- FullscreenDialog(topPadding: UIConstants.startScreenBreakerScreenTopPadding, showBackgroundGradient: true) {
+ FullscreenDialog(topPadding: UIConstants.startScreenBreakerScreenTopPadding, background: .gradient) {
mainContent
} bottomContent: {
buttons
}
.background()
- .environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
+ .backgroundStyle(.compound.bgCanvasDefault)
.navigationBarHidden(true)
.navigationBarBackButtonHidden(true)
.interactiveDismissDisabled()
diff --git a/ElementX/Sources/Screens/Onboarding/IdentityConfirmationScreen/View/IdentityConfirmationScreen.swift b/ElementX/Sources/Screens/Onboarding/IdentityConfirmationScreen/View/IdentityConfirmationScreen.swift
index 1f677f32b..5d11ee220 100644
--- a/ElementX/Sources/Screens/Onboarding/IdentityConfirmationScreen/View/IdentityConfirmationScreen.swift
+++ b/ElementX/Sources/Screens/Onboarding/IdentityConfirmationScreen/View/IdentityConfirmationScreen.swift
@@ -35,7 +35,7 @@ struct IdentityConfirmationScreen: View {
actionButtons
}
.background()
- .environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
+ .backgroundStyle(.compound.bgCanvasDefault)
.navigationBarHidden(true)
.navigationBarBackButtonHidden(true)
.interactiveDismissDisabled()
diff --git a/ElementX/Sources/Screens/Onboarding/IdentityConfirmedScreen/View/IdentityConfirmedScreen.swift b/ElementX/Sources/Screens/Onboarding/IdentityConfirmedScreen/View/IdentityConfirmedScreen.swift
index e5f0924c5..09af79712 100644
--- a/ElementX/Sources/Screens/Onboarding/IdentityConfirmedScreen/View/IdentityConfirmedScreen.swift
+++ b/ElementX/Sources/Screens/Onboarding/IdentityConfirmedScreen/View/IdentityConfirmedScreen.swift
@@ -27,7 +27,7 @@ struct IdentityConfirmedScreen: View {
actionButtons
}
.background()
- .environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
+ .backgroundStyle(.compound.bgCanvasDefault)
.navigationBarHidden(true)
.navigationBarBackButtonHidden(true)
.interactiveDismissDisabled()
diff --git a/ElementX/Sources/Screens/Onboarding/NotificationPermissionsScreen/View/NotificationPermissionsScreen.swift b/ElementX/Sources/Screens/Onboarding/NotificationPermissionsScreen/View/NotificationPermissionsScreen.swift
index 7e5cafc91..ed5348bc3 100644
--- a/ElementX/Sources/Screens/Onboarding/NotificationPermissionsScreen/View/NotificationPermissionsScreen.swift
+++ b/ElementX/Sources/Screens/Onboarding/NotificationPermissionsScreen/View/NotificationPermissionsScreen.swift
@@ -21,13 +21,13 @@ struct NotificationPermissionsScreen: View {
@ObservedObject var context: NotificationPermissionsScreenViewModel.Context
var body: some View {
- FullscreenDialog(topPadding: UIConstants.startScreenBreakerScreenTopPadding, showBackgroundGradient: true) {
+ FullscreenDialog(topPadding: UIConstants.startScreenBreakerScreenTopPadding, background: .gradient) {
mainContent
} bottomContent: {
buttons
}
.background()
- .environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
+ .backgroundStyle(.compound.bgCanvasDefault)
.navigationBarHidden(true)
.navigationBarBackButtonHidden(true)
.interactiveDismissDisabled()
diff --git a/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/View/SessionVerificationScreen.swift b/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/View/SessionVerificationScreen.swift
index f1aefbc07..d9fd95918 100644
--- a/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/View/SessionVerificationScreen.swift
+++ b/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/View/SessionVerificationScreen.swift
@@ -30,7 +30,7 @@ struct SessionVerificationScreen: View {
actionButtons
}
.background()
- .environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
+ .backgroundStyle(.compound.bgCanvasDefault)
.interactiveDismissDisabled()
}
diff --git a/ElementX/Sources/Screens/Other/PlaceholderScreenCoordinator.swift b/ElementX/Sources/Screens/Other/PlaceholderScreenCoordinator.swift
index c71005c18..14a5b324a 100644
--- a/ElementX/Sources/Screens/Other/PlaceholderScreenCoordinator.swift
+++ b/ElementX/Sources/Screens/Other/PlaceholderScreenCoordinator.swift
@@ -41,7 +41,7 @@ struct PlaceholderScreen: View {
}
}
.background()
- .environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
+ .backgroundStyle(.compound.bgCanvasDefault)
.ignoresSafeArea(edges: .top) // Remain vertically centred even if there's a navigation bar.
.ignoresSafeArea(.keyboard) // Specifically for the lock screen, but make sense everywhere.
}
diff --git a/ElementX/Sources/Screens/QRCodeLoginScreen/View/QRCodeLoginScreen.swift b/ElementX/Sources/Screens/QRCodeLoginScreen/View/QRCodeLoginScreen.swift
index 57173078f..72f63dec3 100644
--- a/ElementX/Sources/Screens/QRCodeLoginScreen/View/QRCodeLoginScreen.swift
+++ b/ElementX/Sources/Screens/QRCodeLoginScreen/View/QRCodeLoginScreen.swift
@@ -27,7 +27,7 @@ struct QRCodeLoginScreen: View {
.toolbar { toolbar }
.toolbar(.visible, for: .navigationBar)
.background()
- .environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgSubtleSecondary))
+ .backgroundStyle(.compound.bgSubtleSecondary)
.interactiveDismissDisabled()
}
}
diff --git a/ElementX/Sources/Screens/SecureBackup/ResetKeyScreen/View/ResetRecoveryKeyScreen.swift b/ElementX/Sources/Screens/SecureBackup/ResetKeyScreen/View/ResetRecoveryKeyScreen.swift
index 079db805d..c1abf497c 100644
--- a/ElementX/Sources/Screens/SecureBackup/ResetKeyScreen/View/ResetRecoveryKeyScreen.swift
+++ b/ElementX/Sources/Screens/SecureBackup/ResetKeyScreen/View/ResetRecoveryKeyScreen.swift
@@ -30,7 +30,7 @@ struct ResetRecoveryKeyScreen: View {
.toolbar { toolbar }
.toolbar(.visible, for: .navigationBar)
.background()
- .environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgSubtleSecondary))
+ .backgroundStyle(.compound.bgSubtleSecondary)
.interactiveDismissDisabled()
}
}
diff --git a/ElementX/Sources/Screens/SecureBackup/SecureBackupKeyBackupScreen/View/SecureBackupKeyBackupScreen.swift b/ElementX/Sources/Screens/SecureBackup/SecureBackupKeyBackupScreen/View/SecureBackupKeyBackupScreen.swift
index 10e5d8652..9662ebcb8 100644
--- a/ElementX/Sources/Screens/SecureBackup/SecureBackupKeyBackupScreen/View/SecureBackupKeyBackupScreen.swift
+++ b/ElementX/Sources/Screens/SecureBackup/SecureBackupKeyBackupScreen/View/SecureBackupKeyBackupScreen.swift
@@ -33,7 +33,7 @@ struct SecureBackupKeyBackupScreen: View {
.buttonStyle(.compound(.primary))
}
.background()
- .environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
+ .backgroundStyle(.compound.bgCanvasDefault)
.interactiveDismissDisabled()
.toolbar { toolbar }
.alert(item: $context.alertInfo)
diff --git a/ElementX/Sources/Screens/SecureBackup/SecureBackupLogoutConfirmationScreen/View/SecureBackupLogoutConfirmationScreen.swift b/ElementX/Sources/Screens/SecureBackup/SecureBackupLogoutConfirmationScreen/View/SecureBackupLogoutConfirmationScreen.swift
index 817f5eeff..19cb7465e 100644
--- a/ElementX/Sources/Screens/SecureBackup/SecureBackupLogoutConfirmationScreen/View/SecureBackupLogoutConfirmationScreen.swift
+++ b/ElementX/Sources/Screens/SecureBackup/SecureBackupLogoutConfirmationScreen/View/SecureBackupLogoutConfirmationScreen.swift
@@ -33,7 +33,7 @@ struct SecureBackupLogoutConfirmationScreen: View {
}
.toolbar { toolbar }
.background()
- .environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
+ .backgroundStyle(.compound.bgCanvasDefault)
.alert(item: $context.alertInfo)
}
diff --git a/ElementX/Sources/Screens/SecureBackup/SecureBackupRecoveryKeyScreen/View/SecureBackupRecoveryKeyScreen.swift b/ElementX/Sources/Screens/SecureBackup/SecureBackupRecoveryKeyScreen/View/SecureBackupRecoveryKeyScreen.swift
index 370d8196c..2d880ff27 100644
--- a/ElementX/Sources/Screens/SecureBackup/SecureBackupRecoveryKeyScreen/View/SecureBackupRecoveryKeyScreen.swift
+++ b/ElementX/Sources/Screens/SecureBackup/SecureBackupRecoveryKeyScreen/View/SecureBackupRecoveryKeyScreen.swift
@@ -39,7 +39,7 @@ struct SecureBackupRecoveryKeyScreen: View {
.toolbar { toolbar }
.toolbar(.visible, for: .navigationBar)
.background()
- .environment(\.backgroundStyle, AnyShapeStyle(Color.compound.bgCanvasDefault))
+ .backgroundStyle(.compound.bgCanvasDefault)
.interactiveDismissDisabled()
.alert(item: $context.alertInfo)
}
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_analyticsPromptScreen-iPad-en-GB.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_analyticsPromptScreen-iPad-en-GB.1.png
index 2c2fac715..059cb22f3 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_analyticsPromptScreen-iPad-en-GB.1.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_analyticsPromptScreen-iPad-en-GB.1.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:0a46cd7cf5e0e13a6d7c60300a9fcb6311c20bb2bae22778a2783a2f0afc7c0e
-size 415851
+oid sha256:9d9f4fd014234c687d03c529490fe08e5ba11104f398ca1a571fcd8381abec9f
+size 532444
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_analyticsPromptScreen-iPad-pseudo.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_analyticsPromptScreen-iPad-pseudo.1.png
index 6db3ba7e1..3b6075fbc 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_analyticsPromptScreen-iPad-pseudo.1.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_analyticsPromptScreen-iPad-pseudo.1.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:f83e16e68a399d2e9db7c69e3fd6fe83a42ebe497b23cb4dde5b6d230d373c4c
-size 508866
+oid sha256:f09f74d990c3da296b044d967eb825e91ee496a53fae7a8bfa070e1b56b99b0f
+size 609180
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_analyticsPromptScreen-iPhone-15-en-GB.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_analyticsPromptScreen-iPhone-15-en-GB.1.png
index e6f23b962..f8472f949 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_analyticsPromptScreen-iPhone-15-en-GB.1.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_analyticsPromptScreen-iPhone-15-en-GB.1.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:7815860f7b70f4aca237db12ec782a0b39276e5b3e5144cb1535254992a25c57
-size 248416
+oid sha256:6016d580c905a76047da354f0a8752e87fd0b822bf8365680cec216f19e5e85e
+size 329675
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_analyticsPromptScreen-iPhone-15-pseudo.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_analyticsPromptScreen-iPhone-15-pseudo.1.png
index f58a7ef25..600e50e77 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_analyticsPromptScreen-iPhone-15-pseudo.1.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_analyticsPromptScreen-iPhone-15-pseudo.1.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:ef5bc386c26e9f4777531b8e439de9cad04a98d02e25d4f7298192589720b0b9
-size 325644
+oid sha256:84dbbc0b29b1113d020d287c8f23a99227e270f818921c673d389feb2bc307b8
+size 375338
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_appLockScreen-iPad-en-GB.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_appLockScreen-iPad-en-GB.1.png
index f8953bc3a..273a52ef8 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_appLockScreen-iPad-en-GB.1.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_appLockScreen-iPad-en-GB.1.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:86e1421b4be07786d755bd195b59f2175d8694a45a9c575d47cbd600b606a09e
-size 135685
+oid sha256:74fc0d2d0d9933d5f98a667b41780d01bbb59617695e2543944d1f0c3122d461
+size 137574
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_appLockScreen-iPad-pseudo.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_appLockScreen-iPad-pseudo.1.png
index 7fe9b930b..24d86403e 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_appLockScreen-iPad-pseudo.1.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_appLockScreen-iPad-pseudo.1.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:5f7e77738f7863830162825f0eb3b5c12edb20700820c2897aba02608aad391e
-size 166823
+oid sha256:a96a4e42c4885f64ca9ae5425f9722a4f2ff56b7d24f04c7f2891673a27b8300
+size 166347
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-en-GB.Bloom.png b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-en-GB.Bloom.png
new file mode 100644
index 000000000..c9b12d4c0
--- /dev/null
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-en-GB.Bloom.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:adc608df7c433918afd74184c2dc8fac1325735bd907d78cadd011f62dacd2b4
+size 2029382
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-en-GB.Gradient.png b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-en-GB.Gradient.png
new file mode 100644
index 000000000..1c8e3ae27
--- /dev/null
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-en-GB.Gradient.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:62ddd486d339d84a8d65ff50a5ba584404988f9b501624ae4981a3f8891b3381
+size 550131
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-en-GB.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-en-GB.Plain.png
similarity index 100%
rename from PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-en-GB.1.png
rename to PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-en-GB.Plain.png
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-pseudo.Bloom.png b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-pseudo.Bloom.png
new file mode 100644
index 000000000..fa25b344c
--- /dev/null
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-pseudo.Bloom.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8b99d07d370c72d8504a637b94c0d2d1f8b4b1fdd5cb37e2e434db666533105f
+size 2076410
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-pseudo.Gradient.png b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-pseudo.Gradient.png
new file mode 100644
index 000000000..ae368025b
--- /dev/null
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-pseudo.Gradient.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0594e7c15aff74d608977d79678e89262dff1ce065075fc5b91b7f8821bdc3df
+size 598942
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-pseudo.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-pseudo.Plain.png
similarity index 100%
rename from PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-pseudo.1.png
rename to PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPad-pseudo.Plain.png
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-en-GB.Bloom.png b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-en-GB.Bloom.png
new file mode 100644
index 000000000..645e15a3e
--- /dev/null
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-en-GB.Bloom.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4b346bf5b6890198d31fd71d810e40e151805ffba2640a9e11ae19fcecbda544
+size 803815
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-en-GB.Gradient.png b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-en-GB.Gradient.png
new file mode 100644
index 000000000..98938e5cb
--- /dev/null
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-en-GB.Gradient.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:abf88f24e35529bdb843deeaeef81675c179142e838112ecfa84bde3e289d34e
+size 352164
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-en-GB.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-en-GB.Plain.png
similarity index 100%
rename from PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-en-GB.1.png
rename to PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-en-GB.Plain.png
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-pseudo.Bloom.png b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-pseudo.Bloom.png
new file mode 100644
index 000000000..7bcb4e426
--- /dev/null
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-pseudo.Bloom.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0e9e5802254e8a4fd34b4e229e04ac84bb6bc2f59e621b3f7c34f29099f178aa
+size 840535
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-pseudo.Gradient.png b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-pseudo.Gradient.png
new file mode 100644
index 000000000..9d6e3b6f7
--- /dev/null
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-pseudo.Gradient.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:15292878c6b446e64ca547dc96e37e827cac88e7fdc1b68a38c74d18987c4f8e
+size 385602
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-pseudo.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-pseudo.Plain.png
similarity index 100%
rename from PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-pseudo.1.png
rename to PreviewTests/__Snapshots__/PreviewTests/test_fullscreenDialog-iPhone-15-pseudo.Plain.png
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_identityConfirmationScreen-iPad-en-GB.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_identityConfirmationScreen-iPad-en-GB.1.png
index 76e8ab464..5c02ed379 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_identityConfirmationScreen-iPad-en-GB.1.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_identityConfirmationScreen-iPad-en-GB.1.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:47d502c8c6fbec6e38497bf9aabe3803f9006145d5c7e9c0997f892405826bc1
-size 119605
+oid sha256:f3ac13eb903ab6386f788382ea3362e6ef49f0aa065dd672953f1960bad44a27
+size 115060
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_identityConfirmationScreen-iPad-pseudo.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_identityConfirmationScreen-iPad-pseudo.1.png
index 9e713c4aa..6532586dd 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_identityConfirmationScreen-iPad-pseudo.1.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_identityConfirmationScreen-iPad-pseudo.1.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:86e9a45f6ab26a072edfba0258e275d2f234765ecf0a69f1301aba6108090d07
-size 153905
+oid sha256:783830e86a68a1aec227f6e16fc865451cdb3407e7b7967a00bf1d3920d8db92
+size 146800
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_identityConfirmedScreen-iPad-en-GB.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_identityConfirmedScreen-iPad-en-GB.1.png
index 897fed7e7..79055dbd3 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_identityConfirmedScreen-iPad-en-GB.1.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_identityConfirmedScreen-iPad-en-GB.1.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:8dfc9897f5cef15fa16a1e51ec869b6dfd3c05a1376300ffed7440ff4b490d0c
-size 120872
+oid sha256:6bc0ea81f20ba4f97cc525eabd4e9955f76c948331a1ac404fd42772693131bf
+size 117972
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_identityConfirmedScreen-iPad-pseudo.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_identityConfirmedScreen-iPad-pseudo.1.png
index 34d63ed50..ab0fb840f 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_identityConfirmedScreen-iPad-pseudo.1.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_identityConfirmedScreen-iPad-pseudo.1.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:0dd9ce4a46cff45390876e7dfdbaeecce78c69a40a403f8563544e05e3efc379
-size 162211
+oid sha256:99d546bca4f5b9778c8944fbf57c9136531ef645b0a3fcbf2b1543d94b4fd20c
+size 160769
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_notificationPermissionsScreen-iPad-en-GB.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_notificationPermissionsScreen-iPad-en-GB.1.png
index b0121994b..1537baa4f 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_notificationPermissionsScreen-iPad-en-GB.1.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_notificationPermissionsScreen-iPad-en-GB.1.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:ab736cdeff320ccf70d67b34009536b723ce9abe7348d8f885caf74a17967229
-size 389835
+oid sha256:f9fd41d407eca80245dbd7d9462131db5305a68206dcd89e9460ea4dc2d4abf9
+size 458333
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_notificationPermissionsScreen-iPad-pseudo.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_notificationPermissionsScreen-iPad-pseudo.1.png
index 43f8bc439..01ad3c433 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_notificationPermissionsScreen-iPad-pseudo.1.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_notificationPermissionsScreen-iPad-pseudo.1.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:3b591ed050b9a913a500c0ef0bb935bd7940dfe631a3486810ab18b5ebbe947c
-size 441047
+oid sha256:a768fa136c264adeda2a1bf69824f61168c90e62f02ade2d233c868c8fe681d9
+size 518529
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_notificationPermissionsScreen-iPhone-15-en-GB.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_notificationPermissionsScreen-iPhone-15-en-GB.1.png
index 9a1fc7771..5a629323f 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_notificationPermissionsScreen-iPhone-15-en-GB.1.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_notificationPermissionsScreen-iPhone-15-en-GB.1.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:10a1bb28971bb64a6679b6a4cfd08c060f5305e40032768db88ffd24a97dab8c
-size 214792
+oid sha256:7024f450b746dc43240851b23ef2a8e3946286bf55247bc83b462f3a3da468f8
+size 298163
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_notificationPermissionsScreen-iPhone-15-pseudo.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_notificationPermissionsScreen-iPhone-15-pseudo.1.png
index d3bd39e0a..fe16d5e52 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_notificationPermissionsScreen-iPhone-15-pseudo.1.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_notificationPermissionsScreen-iPhone-15-pseudo.1.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:95219b6d0cff9700acf62799558ad527ed405cafb4565fbe8c48e8b3210d7b4c
-size 254130
+oid sha256:ad2c880710176f46fad128730d9a900bdbccf6e2fb016adcfa9c22197433ebd8
+size 331878
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupKeyBackupScreen-iPad-en-GB.Set-up.png b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupKeyBackupScreen-iPad-en-GB.Set-up.png
index 97d2d5223..4560c7271 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupKeyBackupScreen-iPad-en-GB.Set-up.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupKeyBackupScreen-iPad-en-GB.Set-up.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:3d8c27b325869c82555047403415f58e28872e76e5f045cd064b2ab3ba243fc1
-size 196801
+oid sha256:ff25bc3029988cee77b4c1d9becc37ca0a3abd6638d2875f78bb91b63b6bbe1a
+size 192109
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupKeyBackupScreen-iPad-pseudo.Set-up.png b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupKeyBackupScreen-iPad-pseudo.Set-up.png
index cb3039bf9..eff1a1ca1 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupKeyBackupScreen-iPad-pseudo.Set-up.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupKeyBackupScreen-iPad-pseudo.Set-up.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:dc127a68581e3163e6f2349bd7e2ffc201ce2fa8fd066187b483ddb33fd67fa0
-size 304422
+oid sha256:30187fa7afc621ec8a65952abf4bfbe638bfee1c05e16312dee18bda108b505b
+size 297626
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupLogoutConfirmationScreen-iPad-en-GB.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupLogoutConfirmationScreen-iPad-en-GB.1.png
index 4788ffbbb..a6a2cfa7d 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupLogoutConfirmationScreen-iPad-en-GB.1.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupLogoutConfirmationScreen-iPad-en-GB.1.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:f6d0962c09da93a8abcc499017c24c28555622e3e02d978043b3c7f3874729f2
-size 156994
+oid sha256:1d37f835ba792370556557e0d930dd4c29483988b1089b7f5a51f2e5df6aa2a2
+size 150133
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupLogoutConfirmationScreen-iPad-pseudo.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupLogoutConfirmationScreen-iPad-pseudo.1.png
index 4214cdadf..fefd2c498 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupLogoutConfirmationScreen-iPad-pseudo.1.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupLogoutConfirmationScreen-iPad-pseudo.1.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:df6d9523e1659465f080f56e76db707fbe027803be5f83e0e9b8dc064d1251a8
-size 217178
+oid sha256:d47b96e1b3e0daef441d6d8e72a5352236ca2179747eb4325e11976e13bcb0ab
+size 216771
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-en-GB.Incomplete.png b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-en-GB.Incomplete.png
index 2a955fff0..e3a76a2be 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-en-GB.Incomplete.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-en-GB.Incomplete.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:72957ae7c97f9744b9b193a5dcf29186496e61e9c499bf1c3f89b9ebbad59899
-size 168810
+oid sha256:27d25926a9db7249cda1ae9449f036f15c09f4f9bf9447d85fe5f4930146b4af
+size 165867
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-en-GB.Not-set-up.png b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-en-GB.Not-set-up.png
index ea4a34b8a..7b83f6d02 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-en-GB.Not-set-up.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-en-GB.Not-set-up.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:d2d6da8197ab943403b33b3c4703baed7a17640088532f39d0981dcfee731fd4
-size 179473
+oid sha256:92e854056c64f77f63d527a819906023bd967cbb47f45a8fbd510cfd69119165
+size 180737
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-en-GB.Set-up.png b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-en-GB.Set-up.png
index 74d262783..2526097af 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-en-GB.Set-up.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-en-GB.Set-up.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:570000708276664f570068aa2d3d37c7653b1b6648ec40225c6506b4ca470738
-size 182423
+oid sha256:70bf7b57723f70226bb18fd2666f5a4c46b1a196ab1a91179243bb3cf5d4d112
+size 177211
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-en-GB.Unknown.png b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-en-GB.Unknown.png
index 7e74d59f3..eb22495b4 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-en-GB.Unknown.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-en-GB.Unknown.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:edb78e9330dad85dbea6b78e5251de463d5256467d156b5c115412f70ffb6e40
-size 89995
+oid sha256:50d35c393731af81a2ab187a113b5d2c88822d23ca2a593b5994e689eeacf387
+size 89850
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-pseudo.Incomplete.png b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-pseudo.Incomplete.png
index f55b91f44..0168c0974 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-pseudo.Incomplete.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-pseudo.Incomplete.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:25533cfa9ee0295d1e013299cb86f878f56c19cb1a94b198166fe440bcee5626
-size 248296
+oid sha256:a045cff484a6ab76f22d51dd511daa1c9ee023554eba0a116df04c63b756e924
+size 235455
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-pseudo.Not-set-up.png b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-pseudo.Not-set-up.png
index bd48c4031..7fc80d4ea 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-pseudo.Not-set-up.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-pseudo.Not-set-up.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:65299eb62433150284141905f7e25362c2ff63efe8b700bb5c4775bd180d4f2b
-size 280657
+oid sha256:414ec12316ce70d964e7e431cb609b10ac6783f542039f9b130985acf47d57f3
+size 272704
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-pseudo.Set-up.png b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-pseudo.Set-up.png
index d0d0c3d16..fb793b812 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-pseudo.Set-up.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-pseudo.Set-up.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:6692132cf228596dcbcdf91663d7f4e4eebbe573d1bbfc01133572d9c96ee2ac
-size 268702
+oid sha256:bf1c234fbe0f16d39229fd7cba21a2b954d1f724246f5207885b814d797a16d3
+size 258329
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-pseudo.Unknown.png b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-pseudo.Unknown.png
index fe71fbb2b..24b3dc0e4 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-pseudo.Unknown.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_secureBackupRecoveryKeyScreen-iPad-pseudo.Unknown.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:db402366ea030a33cee42151bb53fe0246552e5c62007db21973e1b2dd65d46b
-size 111948
+oid sha256:0143e508fca5b5ea461ebec6aff9017942a71a09f6e8214aa1b1c2fd26bc144a
+size 106783
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_waitingDialog-iPad-en-GB.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_waitingDialog-iPad-en-GB.1.png
index 8db08a620..c6587ba5f 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_waitingDialog-iPad-en-GB.1.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_waitingDialog-iPad-en-GB.1.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:94a5247597c0ecea03828ce9af2ddce60e8d4ead94b3a5b3c2f7235e82fbdb1e
-size 950201
+oid sha256:1e5f98176127ced83705e2cf1cc9b7ed6a32ebd3e14ba013e52beea93a218420
+size 1252858
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_waitingDialog-iPad-pseudo.1.png b/PreviewTests/__Snapshots__/PreviewTests/test_waitingDialog-iPad-pseudo.1.png
index 7a94f9dc8..06bef277f 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_waitingDialog-iPad-pseudo.1.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_waitingDialog-iPad-pseudo.1.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:11cf81ee41b64880234d75a79e9b688af1fe65fe9d07aa6d2b5e4167e233107c
-size 1029275
+oid sha256:8925356519bc00c59ed882cfb323ccc84b82eebab211220d970e66510b5d7682
+size 1326430
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_waitlistScreen-iPad-en-GB.Success.png b/PreviewTests/__Snapshots__/PreviewTests/test_waitlistScreen-iPad-en-GB.Success.png
index bc01942ab..c07b0f547 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_waitlistScreen-iPad-en-GB.Success.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_waitlistScreen-iPad-en-GB.Success.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:ad617473bc4b434ef5747bce48b8116fcb856cadf28002aaccb336a2eac6819d
-size 898564
+oid sha256:755cfdbe182fd8be23ba44fd0f647492d2292804072e664ced66ffbdbb01e190
+size 1207910
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_waitlistScreen-iPad-en-GB.Waiting.png b/PreviewTests/__Snapshots__/PreviewTests/test_waitlistScreen-iPad-en-GB.Waiting.png
index 8db08a620..c6587ba5f 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_waitlistScreen-iPad-en-GB.Waiting.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_waitlistScreen-iPad-en-GB.Waiting.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:94a5247597c0ecea03828ce9af2ddce60e8d4ead94b3a5b3c2f7235e82fbdb1e
-size 950201
+oid sha256:1e5f98176127ced83705e2cf1cc9b7ed6a32ebd3e14ba013e52beea93a218420
+size 1252858
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_waitlistScreen-iPad-pseudo.Success.png b/PreviewTests/__Snapshots__/PreviewTests/test_waitlistScreen-iPad-pseudo.Success.png
index c1467d0cb..002f87ba9 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_waitlistScreen-iPad-pseudo.Success.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_waitlistScreen-iPad-pseudo.Success.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:70429603bfa79aa57a3bc454347db2a3f38195da8f80642a52f284cc9cbef61c
-size 917802
+oid sha256:b47967c28f4fc56014ccc56f66eadce1132d6513c7a9d4e8bb6db1e366aa0e49
+size 1226969
diff --git a/PreviewTests/__Snapshots__/PreviewTests/test_waitlistScreen-iPad-pseudo.Waiting.png b/PreviewTests/__Snapshots__/PreviewTests/test_waitlistScreen-iPad-pseudo.Waiting.png
index 7a94f9dc8..06bef277f 100644
--- a/PreviewTests/__Snapshots__/PreviewTests/test_waitlistScreen-iPad-pseudo.Waiting.png
+++ b/PreviewTests/__Snapshots__/PreviewTests/test_waitlistScreen-iPad-pseudo.Waiting.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:11cf81ee41b64880234d75a79e9b688af1fe65fe9d07aa6d2b5e4167e233107c
-size 1029275
+oid sha256:8925356519bc00c59ed882cfb323ccc84b82eebab211220d970e66510b5d7682
+size 1326430