From 77c8bdeff531b688e9c0c57a5796de4d2c92e687 Mon Sep 17 00:00:00 2001 From: Doug Date: Tue, 10 May 2022 15:30:03 +0100 Subject: [PATCH] Use readableFrame and OnboardingIconImage everywhere. Fix order of accentColor modifier. --- .../AnalyticsPrompt/View/AnalyticsPrompt.swift | 6 +++--- .../View/AuthenticationRegistrationScreen.swift | 11 ++--------- .../View/AuthenticationServerSelectionScreen.swift | 12 +++--------- .../Avatar/View/OnboardingAvatarScreen.swift | 6 +++--- .../View/OnboardingCelebrationScreen.swift | 9 ++++----- .../View/OnboardingCongratulationsScreen.swift | 7 +++---- .../View/OnboardingDisplayNameScreen.swift | 6 +++--- .../View/OnboardingUseCaseSelectionScreen.swift | 5 +++-- 8 files changed, 24 insertions(+), 38 deletions(-) diff --git a/RiotSwiftUI/Modules/AnalyticsPrompt/View/AnalyticsPrompt.swift b/RiotSwiftUI/Modules/AnalyticsPrompt/View/AnalyticsPrompt.swift index 1d6ff6893..30e0b5b0c 100644 --- a/RiotSwiftUI/Modules/AnalyticsPrompt/View/AnalyticsPrompt.swift +++ b/RiotSwiftUI/Modules/AnalyticsPrompt/View/AnalyticsPrompt.swift @@ -60,6 +60,7 @@ struct AnalyticsPrompt: View { AnalyticsPromptCheckmarkItem(string: VectorL10n.analyticsPromptPoint3) } + .fixedSize(horizontal: false, vertical: true) .font(theme.fonts.body) .frame(maxWidth: .infinity) } @@ -118,14 +119,13 @@ struct AnalyticsPrompt: View { .frame(height: OnboardingMetrics.spacerHeight(in: geometry)) mainContent - .frame(maxWidth: OnboardingMetrics.maxContentWidth) + .readableFrame() .padding(.horizontal, horizontalPadding) .padding(.top, OnboardingMetrics.breakerScreenTopPadding) } - .frame(maxWidth: .infinity) buttons - .frame(maxWidth: OnboardingMetrics.maxContentWidth) + .readableFrame() .padding(.horizontal, horizontalPadding) .padding(.bottom, OnboardingMetrics.actionButtonBottomPadding) .padding(.bottom, geometry.safeAreaInsets.bottom > 0 ? 0 : 16) diff --git a/RiotSwiftUI/Modules/Authentication/Registration/View/AuthenticationRegistrationScreen.swift b/RiotSwiftUI/Modules/Authentication/Registration/View/AuthenticationRegistrationScreen.swift index d350aaf8b..1836608c2 100644 --- a/RiotSwiftUI/Modules/Authentication/Registration/View/AuthenticationRegistrationScreen.swift +++ b/RiotSwiftUI/Modules/Authentication/Registration/View/AuthenticationRegistrationScreen.swift @@ -59,8 +59,7 @@ struct AuthenticationRegistrationScreen: View { } } - .frame(maxWidth: OnboardingMetrics.maxContentWidth) - .frame(maxWidth: .infinity) + .readableFrame() .padding(.horizontal, 16) .padding(.bottom, 16) } @@ -72,14 +71,8 @@ struct AuthenticationRegistrationScreen: View { /// The header containing the icon, title and message. var header: some View { VStack(spacing: 8) { - Image(Asset.Images.onboardingCongratulationsIcon.name) - .resizable() - .renderingMode(.template) - .foregroundColor(theme.colors.accent) - .frame(width: 90, height: 90) - .background(Circle().foregroundColor(.white).padding(2)) + OnboardingIconImage(image: Asset.Images.onboardingCongratulationsIcon) .padding(.bottom, 8) - .accessibilityHidden(true) Text(VectorL10n.authenticationRegistrationTitle) .font(theme.fonts.title2B) diff --git a/RiotSwiftUI/Modules/Authentication/ServerSelection/View/AuthenticationServerSelectionScreen.swift b/RiotSwiftUI/Modules/Authentication/ServerSelection/View/AuthenticationServerSelectionScreen.swift index ad81fc22e..f3fb646fc 100644 --- a/RiotSwiftUI/Modules/Authentication/ServerSelection/View/AuthenticationServerSelectionScreen.swift +++ b/RiotSwiftUI/Modules/Authentication/ServerSelection/View/AuthenticationServerSelectionScreen.swift @@ -53,8 +53,8 @@ struct AuthenticationServerSelectionScreen: View { emsBanner .padding(.vertical, 16) } - .frame(maxWidth: OnboardingMetrics.maxContentWidth, minHeight: geometry.size.height) - .frame(maxWidth: .infinity) + .readableFrame() + .frame(minHeight: geometry.size.height) .padding(.horizontal, 16) .onAppear { scrollView = reader } } @@ -70,14 +70,8 @@ struct AuthenticationServerSelectionScreen: View { /// The title, message and icon at the top of the screen. var header: some View { VStack(spacing: 8) { - Image(Asset.Images.authenticationServerSelectionIcon.name) - .resizable() - .renderingMode(.template) - .foregroundColor(theme.colors.accent) - .frame(width: 90, height: 90) - .background(Circle().foregroundColor(.white).padding(4)) + OnboardingIconImage(image: Asset.Images.authenticationServerSelectionIcon) .padding(.bottom, 8) - .accessibilityHidden(true) Text(VectorL10n.authenticationServerSelectionTitle) .font(theme.fonts.title2B) diff --git a/RiotSwiftUI/Modules/Onboarding/Avatar/View/OnboardingAvatarScreen.swift b/RiotSwiftUI/Modules/Onboarding/Avatar/View/OnboardingAvatarScreen.swift index 07d5fcc4d..dcb1af1dd 100644 --- a/RiotSwiftUI/Modules/Onboarding/Avatar/View/OnboardingAvatarScreen.swift +++ b/RiotSwiftUI/Modules/Onboarding/Avatar/View/OnboardingAvatarScreen.swift @@ -43,14 +43,14 @@ struct OnboardingAvatarScreen: View { buttons } - .frame(maxWidth: OnboardingMetrics.maxContentWidth) + .readableFrame() .padding(.horizontal) .padding(.top, OnboardingMetrics.topPaddingToNavigationBar) } - .frame(maxWidth: .infinity, maxHeight: .infinity) - .accentColor(theme.colors.accent) + .frame(maxHeight: .infinity) .background(theme.colors.background.ignoresSafeArea()) .alert(item: $viewModel.alertInfo) { $0.alert } + .accentColor(theme.colors.accent) } diff --git a/RiotSwiftUI/Modules/Onboarding/Celebration/View/OnboardingCelebrationScreen.swift b/RiotSwiftUI/Modules/Onboarding/Celebration/View/OnboardingCelebrationScreen.swift index 4b9463e48..a4be8f2e2 100644 --- a/RiotSwiftUI/Modules/Onboarding/Celebration/View/OnboardingCelebrationScreen.swift +++ b/RiotSwiftUI/Modules/Onboarding/Celebration/View/OnboardingCelebrationScreen.swift @@ -39,19 +39,18 @@ struct OnboardingCelebrationScreen: View { var body: some View { GeometryReader { geometry in VStack { - ScrollView(showsIndicators: false) { + ScrollView { Spacer() .frame(height: OnboardingMetrics.spacerHeight(in: geometry)) mainContent - .frame(maxWidth: OnboardingMetrics.maxContentWidth) + .readableFrame() .padding(.top, OnboardingMetrics.breakerScreenTopPadding) .padding(.horizontal, horizontalPadding) } - .frame(maxWidth: .infinity) buttons - .frame(maxWidth: OnboardingMetrics.maxContentWidth) + .readableFrame() .padding(.horizontal, horizontalPadding) .padding(.bottom, OnboardingMetrics.actionButtonBottomPadding) .padding(.bottom, geometry.safeAreaInsets.bottom > 0 ? 0 : 16) @@ -59,7 +58,7 @@ struct OnboardingCelebrationScreen: View { Spacer() .frame(height: OnboardingMetrics.spacerHeight(in: geometry)) } - .frame(maxWidth: .infinity, maxHeight: .infinity) + .frame(maxHeight: .infinity) } .overlay(effects.ignoresSafeArea()) .background(theme.colors.background.ignoresSafeArea()) diff --git a/RiotSwiftUI/Modules/Onboarding/Congratulations/View/OnboardingCongratulationsScreen.swift b/RiotSwiftUI/Modules/Onboarding/Congratulations/View/OnboardingCongratulationsScreen.swift index 987f95eb7..6d11f5cd8 100644 --- a/RiotSwiftUI/Modules/Onboarding/Congratulations/View/OnboardingCongratulationsScreen.swift +++ b/RiotSwiftUI/Modules/Onboarding/Congratulations/View/OnboardingCongratulationsScreen.swift @@ -43,14 +43,13 @@ struct OnboardingCongratulationsScreen: View { .frame(height: OnboardingMetrics.spacerHeight(in: geometry)) mainContent - .frame(maxWidth: OnboardingMetrics.maxContentWidth) + .readableFrame() .padding(.top, OnboardingMetrics.breakerScreenTopPadding) .padding(.horizontal, horizontalPadding) } - .frame(maxWidth: .infinity) footer - .frame(maxWidth: OnboardingMetrics.maxContentWidth) + .readableFrame() .padding(.horizontal, horizontalPadding) .padding(.bottom, OnboardingMetrics.actionButtonBottomPadding) .padding(.bottom, geometry.safeAreaInsets.bottom > 0 ? 0 : 16) @@ -62,9 +61,9 @@ struct OnboardingCongratulationsScreen: View { } .overlay(effects.ignoresSafeArea()) .background(theme.colors.accent.ignoresSafeArea()) - .accentColor(.white) .navigationBarHidden(true) .preferredColorScheme(.dark) // make the status bar white + .accentColor(.white) } /// The main content of the view to be shown in a scroll view. diff --git a/RiotSwiftUI/Modules/Onboarding/DisplayName/View/OnboardingDisplayNameScreen.swift b/RiotSwiftUI/Modules/Onboarding/DisplayName/View/OnboardingDisplayNameScreen.swift index cac5c8675..f5c05cfe3 100644 --- a/RiotSwiftUI/Modules/Onboarding/DisplayName/View/OnboardingDisplayNameScreen.swift +++ b/RiotSwiftUI/Modules/Onboarding/DisplayName/View/OnboardingDisplayNameScreen.swift @@ -48,14 +48,14 @@ struct OnboardingDisplayNameScreen: View { buttons } - .frame(maxWidth: OnboardingMetrics.maxContentWidth) + .readableFrame() .padding(.horizontal) .padding(.top, OnboardingMetrics.topPaddingToNavigationBar) } - .frame(maxWidth: .infinity, maxHeight: .infinity) - .accentColor(theme.colors.accent) + .frame(maxHeight: .infinity) .background(theme.colors.background.ignoresSafeArea()) .alert(item: $viewModel.alertInfo) { $0.alert } + .accentColor(theme.colors.accent) .onChange(of: viewModel.displayName) { _ in viewModel.send(viewAction: .validateDisplayName) } diff --git a/RiotSwiftUI/Modules/Onboarding/UseCase/View/OnboardingUseCaseSelectionScreen.swift b/RiotSwiftUI/Modules/Onboarding/UseCase/View/OnboardingUseCaseSelectionScreen.swift index bf170717e..6c41e0260 100644 --- a/RiotSwiftUI/Modules/Onboarding/UseCase/View/OnboardingUseCaseSelectionScreen.swift +++ b/RiotSwiftUI/Modules/Onboarding/UseCase/View/OnboardingUseCaseSelectionScreen.swift @@ -102,12 +102,11 @@ struct OnboardingUseCaseSelectionScreen: View { useCaseButtons } - .frame(maxWidth: OnboardingMetrics.maxContentWidth) + .readableFrame() .padding(.top, OnboardingMetrics.topPaddingToNavigationBar) .padding(.bottom, 8) .padding(.horizontal, 16) } - .frame(maxWidth: .infinity) serverFooter .padding(.horizontal, 16) @@ -128,7 +127,9 @@ struct OnboardingUseCase_Previews: PreviewProvider { static var previews: some View { stateRenderer.screenGroup(addNavigation: true) .theme(.light).preferredColorScheme(.light) + .navigationViewStyle(.stack) stateRenderer.screenGroup(addNavigation: true) .theme(.dark).preferredColorScheme(.dark) + .navigationViewStyle(.stack) } }