From 73f34f42342d6613fceffeb089ed064d0e933c2c Mon Sep 17 00:00:00 2001 From: Philipp Zagar Date: Wed, 22 Jan 2025 10:29:25 +0100 Subject: [PATCH] Refactorings to Preview --- .../ConsentView/ConsentDocument.swift | 28 +++++++-------- .../OnboardingConsentView.swift | 22 ++++++------ .../IllegalOnboardingStepView.swift | 6 ++-- .../OnboardingInformationView.swift | 35 ++++--------------- Sources/SpeziOnboarding/OnboardingView.swift | 22 +++++++++++- .../Resources/Localizable.xcstrings | 3 ++ Sources/SpeziOnboarding/SignatureView.swift | 9 ++--- .../UITests/TestApp/OnboardingTestsView.swift | 6 ++-- .../Views/HelperViews/CustomToggleView.swift | 12 +++---- .../Views/OnboardingConditionalTestView.swift | 10 +++--- ...boardingConsentMarkdownRenderingView.swift | 17 +++++---- .../OnboardingConsentMarkdownTestView.swift | 10 +++--- .../Views/OnboardingCustomTestView1.swift | 10 +++--- .../Views/OnboardingCustomTestView2.swift | 10 +++--- ...OnboardingIdentifiableTestViewCustom.swift | 10 +++--- .../Views/OnboardingSequentialTestView.swift | 10 +++--- .../Views/OnboardingStartTestView.swift | 10 +++--- .../OnboardingTestViewNotIdentifiable.swift | 10 +++--- .../Views/OnboardingWelcomeTestView.swift | 10 +++--- 19 files changed, 111 insertions(+), 139 deletions(-) diff --git a/Sources/SpeziOnboarding/ConsentView/ConsentDocument.swift b/Sources/SpeziOnboarding/ConsentView/ConsentDocument.swift index 2148080..490733e 100644 --- a/Sources/SpeziOnboarding/ConsentView/ConsentDocument.swift +++ b/Sources/SpeziOnboarding/ConsentView/ConsentDocument.swift @@ -232,21 +232,19 @@ public struct ConsentDocument: View { #if DEBUG -struct ConsentDocument_Previews: PreviewProvider { - @State private static var viewState: ConsentViewState = .base(.idle) - - - static var previews: some View { - NavigationStack { - ConsentDocument( - markdown: { - Data("This is a *markdown* **example**".utf8) - }, - viewState: $viewState - ) - .navigationTitle(Text(verbatim: "Consent")) - .padding() - } +#Preview { + @Previewable @State var viewState: ConsentViewState = .base(.idle) + + + NavigationStack { + ConsentDocument( + markdown: { + Data("This is a *markdown* **example**".utf8) + }, + viewState: $viewState + ) + .navigationTitle(Text(verbatim: "Consent")) + .padding() } } #endif diff --git a/Sources/SpeziOnboarding/OnboardingConsentView.swift b/Sources/SpeziOnboarding/OnboardingConsentView.swift index e94c090..f161f0a 100644 --- a/Sources/SpeziOnboarding/OnboardingConsentView.swift +++ b/Sources/SpeziOnboarding/OnboardingConsentView.swift @@ -231,18 +231,16 @@ public struct OnboardingConsentView: View { #if DEBUG -struct OnboardingConsentView_Previews: PreviewProvider { - @State private static var viewState: ConsentViewState = .base(.idle) - - - static var previews: some View { - NavigationStack { - OnboardingConsentView(markdown: { - Data("This is a *markdown* **example**".utf8) - }, action: { - print("Next") - }) - } +#Preview { + @Previewable @State var viewState: ConsentViewState = .base(.idle) + + + NavigationStack { + OnboardingConsentView(markdown: { + Data("This is a *markdown* **example**".utf8) + }, action: { + print("Next") + }) } } #endif diff --git a/Sources/SpeziOnboarding/OnboardingFlow/IllegalOnboardingStepView.swift b/Sources/SpeziOnboarding/OnboardingFlow/IllegalOnboardingStepView.swift index 95cd615..b9823dc 100644 --- a/Sources/SpeziOnboarding/OnboardingFlow/IllegalOnboardingStepView.swift +++ b/Sources/SpeziOnboarding/OnboardingFlow/IllegalOnboardingStepView.swift @@ -20,9 +20,7 @@ struct IllegalOnboardingStepView: View { #if DEBUG -struct IllegalOnboardingStepView_Previews: PreviewProvider { - static var previews: some View { - IllegalOnboardingStepView() - } +#Preview { + IllegalOnboardingStepView() } #endif diff --git a/Sources/SpeziOnboarding/OnboardingInformationView.swift b/Sources/SpeziOnboarding/OnboardingInformationView.swift index 5dadd34..de36626 100644 --- a/Sources/SpeziOnboarding/OnboardingInformationView.swift +++ b/Sources/SpeziOnboarding/OnboardingInformationView.swift @@ -147,43 +147,20 @@ public struct OnboardingInformationView: View { #if DEBUG -struct AreasView_Previews: PreviewProvider { - static var mock: [OnboardingInformationView.Content] { - [ +#Preview { + OnboardingInformationView( + areas: [ OnboardingInformationView.Content( icon: Image(systemName: "pc"), title: String("PC"), - description: String("This is a PC. And we can write a lot about PCs in a section like this. A very long text!") + description: String("This is a PC.") ), OnboardingInformationView.Content( icon: Image(systemName: "desktopcomputer"), title: String("Mac"), - description: String("This is an iMac") - ), - OnboardingInformationView.Content( - icon: Image(systemName: "laptopcomputer"), - title: String("MacBook"), - description: String("This is a MacBook") + description: String("This is an iMac.") ) ] - } - - - static var previews: some View { - OnboardingInformationView( - areas: [ - OnboardingInformationView.Content( - icon: Image(systemName: "pc"), - title: String("PC"), - description: String("This is a PC.") - ), - OnboardingInformationView.Content( - icon: Image(systemName: "desktopcomputer"), - title: String("Mac"), - description: String("This is an iMac.") - ) - ] - ) - } + ) } #endif diff --git a/Sources/SpeziOnboarding/OnboardingView.swift b/Sources/SpeziOnboarding/OnboardingView.swift index 7e79ee0..dd6da78 100644 --- a/Sources/SpeziOnboarding/OnboardingView.swift +++ b/Sources/SpeziOnboarding/OnboardingView.swift @@ -210,10 +210,30 @@ public struct OnboardingView = .constant(PKDrawing()), isSigning: Binding = .constant(false), canvasSize: Binding = .constant(.zero), - givenName: String, - familyName: String, + givenName: String = "", + familyName: String = "", date: Date? = nil, dateFormatter: DateFormatter = { let formatter = DateFormatter() @@ -202,8 +202,8 @@ public struct SignatureView: View { /// - lineOffset: Defines the distance of the signature line from the bottom of the view. The default value is 30. public init( signature: Binding = .constant(String()), - givenName: String, - familyName: String, + givenName: String = "", + familyName: String = "", date: Date? = nil, dateFormatter: DateFormatter = { let formatter = DateFormatter() @@ -223,6 +223,7 @@ public struct SignatureView: View { #endif } + #if DEBUG #Preview("Base Signature View") { SignatureView() diff --git a/Tests/UITests/TestApp/OnboardingTestsView.swift b/Tests/UITests/TestApp/OnboardingTestsView.swift index 114b6c8..f828697 100644 --- a/Tests/UITests/TestApp/OnboardingTestsView.swift +++ b/Tests/UITests/TestApp/OnboardingTestsView.swift @@ -59,9 +59,7 @@ struct OnboardingTestsView: View { #if DEBUG -struct OnboardingTestsView_Previews: PreviewProvider { - static var previews: some View { - OnboardingTestsView(onboardingFlowComplete: .constant(false)) - } +#Preview { + OnboardingTestsView(onboardingFlowComplete: .constant(false)) } #endif diff --git a/Tests/UITests/TestApp/Views/HelperViews/CustomToggleView.swift b/Tests/UITests/TestApp/Views/HelperViews/CustomToggleView.swift index 8c7225e..37fd19c 100644 --- a/Tests/UITests/TestApp/Views/HelperViews/CustomToggleView.swift +++ b/Tests/UITests/TestApp/Views/HelperViews/CustomToggleView.swift @@ -31,12 +31,10 @@ struct CustomToggleView: View { #if DEBUG -struct CustomToggleView_Previews: PreviewProvider { - static var previews: some View { - CustomToggleView( - text: "Test toggle", - condition: .constant(false) - ) - } +#Preview { + CustomToggleView( + text: "Test toggle", + condition: .constant(false) + ) } #endif diff --git a/Tests/UITests/TestApp/Views/OnboardingConditionalTestView.swift b/Tests/UITests/TestApp/Views/OnboardingConditionalTestView.swift index 9684758..579d4fe 100644 --- a/Tests/UITests/TestApp/Views/OnboardingConditionalTestView.swift +++ b/Tests/UITests/TestApp/Views/OnboardingConditionalTestView.swift @@ -30,12 +30,10 @@ struct OnboardingConditionalTestView: View { #if DEBUG -struct OnboardingConditionalTestView_Previews: PreviewProvider { - static var previews: some View { - OnboardingStack(startAtStep: OnboardingConditionalTestView.self) { - for onboardingView in OnboardingFlow.previewSimulatorViews { - onboardingView - } +#Preview { + OnboardingStack(startAtStep: OnboardingConditionalTestView.self) { + for onboardingView in OnboardingFlow.previewSimulatorViews { + onboardingView } } } diff --git a/Tests/UITests/TestApp/Views/OnboardingConsentMarkdownRenderingView.swift b/Tests/UITests/TestApp/Views/OnboardingConsentMarkdownRenderingView.swift index 7f2f160..14ecf9d 100644 --- a/Tests/UITests/TestApp/Views/OnboardingConsentMarkdownRenderingView.swift +++ b/Tests/UITests/TestApp/Views/OnboardingConsentMarkdownRenderingView.swift @@ -65,15 +65,14 @@ struct OnboardingConsentMarkdownRenderingView: View { #if DEBUG -struct OnboardingConsentMarkdownRenderingView_Previews: PreviewProvider { - static var standard: OnboardingDataSource = .init() - - static var previews: some View { - OnboardingStack(startAtStep: OnboardingConsentMarkdownRenderingView.self) { - for onboardingView in OnboardingFlow.previewSimulatorViews { - onboardingView - .environment(standard) - } +#Preview { + var standard: OnboardingDataSource = .init() + + + OnboardingStack(startAtStep: OnboardingConsentMarkdownRenderingView.self) { + for onboardingView in OnboardingFlow.previewSimulatorViews { + onboardingView + .environment(standard) } } } diff --git a/Tests/UITests/TestApp/Views/OnboardingConsentMarkdownTestView.swift b/Tests/UITests/TestApp/Views/OnboardingConsentMarkdownTestView.swift index a8c31aa..9331e7c 100644 --- a/Tests/UITests/TestApp/Views/OnboardingConsentMarkdownTestView.swift +++ b/Tests/UITests/TestApp/Views/OnboardingConsentMarkdownTestView.swift @@ -36,12 +36,10 @@ struct OnboardingConsentMarkdownTestView: View { #if DEBUG -struct OnboardingFirstConsentMarkdownTestView_Previews: PreviewProvider { - static var previews: some View { - OnboardingStack(startAtStep: OnboardingConsentMarkdownTestView.self) { - for onboardingView in OnboardingFlow.previewSimulatorViews { - onboardingView - } +#Preview { + OnboardingStack(startAtStep: OnboardingConsentMarkdownTestView.self) { + for onboardingView in OnboardingFlow.previewSimulatorViews { + onboardingView } } } diff --git a/Tests/UITests/TestApp/Views/OnboardingCustomTestView1.swift b/Tests/UITests/TestApp/Views/OnboardingCustomTestView1.swift index 7da2321..5020c5e 100644 --- a/Tests/UITests/TestApp/Views/OnboardingCustomTestView1.swift +++ b/Tests/UITests/TestApp/Views/OnboardingCustomTestView1.swift @@ -30,12 +30,10 @@ struct OnboardingCustomTestView1: View { #if DEBUG -struct OnboardingCustomTestView1_Previews: PreviewProvider { - static var previews: some View { - OnboardingStack(startAtStep: OnboardingCustomTestView1.self) { - for onboardingView in OnboardingFlow.previewSimulatorViews { - onboardingView - } +#Preview { + OnboardingStack(startAtStep: OnboardingCustomTestView1.self) { + for onboardingView in OnboardingFlow.previewSimulatorViews { + onboardingView } } } diff --git a/Tests/UITests/TestApp/Views/OnboardingCustomTestView2.swift b/Tests/UITests/TestApp/Views/OnboardingCustomTestView2.swift index 332c219..4d563ab 100644 --- a/Tests/UITests/TestApp/Views/OnboardingCustomTestView2.swift +++ b/Tests/UITests/TestApp/Views/OnboardingCustomTestView2.swift @@ -27,12 +27,10 @@ struct OnboardingCustomTestView2: View { } #if DEBUG -struct OnboardingCustomTestView2_Previews: PreviewProvider { - static var previews: some View { - OnboardingStack(startAtStep: OnboardingCustomTestView2.self) { - for onboardingView in OnboardingFlow.previewSimulatorViews { - onboardingView - } +#Preview { + OnboardingStack(startAtStep: OnboardingCustomTestView2.self) { + for onboardingView in OnboardingFlow.previewSimulatorViews { + onboardingView } } } diff --git a/Tests/UITests/TestApp/Views/OnboardingIdentifiableTestViewCustom.swift b/Tests/UITests/TestApp/Views/OnboardingIdentifiableTestViewCustom.swift index d36aa36..4cd28e9 100644 --- a/Tests/UITests/TestApp/Views/OnboardingIdentifiableTestViewCustom.swift +++ b/Tests/UITests/TestApp/Views/OnboardingIdentifiableTestViewCustom.swift @@ -33,12 +33,10 @@ struct OnboardingIdentifiableTestViewCustom: View, Identifiable { } #if DEBUG -struct OnboardingIdentifiableTestViewCustomView_Previews: PreviewProvider { - static var previews: some View { - OnboardingStack(startAtStep: OnboardingIdentifiableTestViewCustom.self) { - for onboardingView in OnboardingFlow.previewSimulatorViews { - onboardingView - } +#Preview { + OnboardingStack(startAtStep: OnboardingIdentifiableTestViewCustom.self) { + for onboardingView in OnboardingFlow.previewSimulatorViews { + onboardingView } } } diff --git a/Tests/UITests/TestApp/Views/OnboardingSequentialTestView.swift b/Tests/UITests/TestApp/Views/OnboardingSequentialTestView.swift index 028d607..6b25889 100644 --- a/Tests/UITests/TestApp/Views/OnboardingSequentialTestView.swift +++ b/Tests/UITests/TestApp/Views/OnboardingSequentialTestView.swift @@ -37,12 +37,10 @@ struct OnboardingSequentialTestView: View { #if DEBUG -struct OnboardingSequentialTestView_Previews: PreviewProvider { - static var previews: some View { - OnboardingStack(startAtStep: OnboardingSequentialTestView.self) { - for onboardingView in OnboardingFlow.previewSimulatorViews { - onboardingView - } +#Preview { + OnboardingStack(startAtStep: OnboardingSequentialTestView.self) { + for onboardingView in OnboardingFlow.previewSimulatorViews { + onboardingView } } } diff --git a/Tests/UITests/TestApp/Views/OnboardingStartTestView.swift b/Tests/UITests/TestApp/Views/OnboardingStartTestView.swift index f8e283a..01a60f4 100644 --- a/Tests/UITests/TestApp/Views/OnboardingStartTestView.swift +++ b/Tests/UITests/TestApp/Views/OnboardingStartTestView.swift @@ -76,12 +76,10 @@ struct OnboardingStartTestView: View { #if DEBUG -struct OnboardingStartTestView_Previews: PreviewProvider { - static var previews: some View { - OnboardingStack(startAtStep: OnboardingStartTestView.self) { - for onboardingView in OnboardingFlow.previewSimulatorViews { - onboardingView - } +#Preview { + OnboardingStack(startAtStep: OnboardingStartTestView.self) { + for onboardingView in OnboardingFlow.previewSimulatorViews { + onboardingView } } } diff --git a/Tests/UITests/TestApp/Views/OnboardingTestViewNotIdentifiable.swift b/Tests/UITests/TestApp/Views/OnboardingTestViewNotIdentifiable.swift index 7b9e244..be06dc5 100644 --- a/Tests/UITests/TestApp/Views/OnboardingTestViewNotIdentifiable.swift +++ b/Tests/UITests/TestApp/Views/OnboardingTestViewNotIdentifiable.swift @@ -29,12 +29,10 @@ struct OnboardingTestViewNotIdentifiable: View { } #if DEBUG -struct OnboardingTestViewNotIdentifiable_Previews: PreviewProvider { - static var previews: some View { - OnboardingStack(startAtStep: OnboardingTestViewNotIdentifiable.self) { - for onboardingView in OnboardingFlow.previewSimulatorViews { - onboardingView - } +#Preview { + OnboardingStack(startAtStep: OnboardingTestViewNotIdentifiable.self) { + for onboardingView in OnboardingFlow.previewSimulatorViews { + onboardingView } } } diff --git a/Tests/UITests/TestApp/Views/OnboardingWelcomeTestView.swift b/Tests/UITests/TestApp/Views/OnboardingWelcomeTestView.swift index 72011c9..afefb5f 100644 --- a/Tests/UITests/TestApp/Views/OnboardingWelcomeTestView.swift +++ b/Tests/UITests/TestApp/Views/OnboardingWelcomeTestView.swift @@ -39,12 +39,10 @@ struct OnboardingWelcomeTestView: View { #if DEBUG -struct OnboardingWelcomeTestView_Previews: PreviewProvider { - static var previews: some View { - OnboardingStack(startAtStep: OnboardingWelcomeTestView.self) { - for onboardingView in OnboardingFlow.previewSimulatorViews { - onboardingView - } +#Preview { + OnboardingStack(startAtStep: OnboardingWelcomeTestView.self) { + for onboardingView in OnboardingFlow.previewSimulatorViews { + onboardingView } } }