From 6d7cbc45e3577505b7185c374ac97fb214c2616e Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Thu, 2 Nov 2023 13:35:03 +0800 Subject: [PATCH] Simplify code embedding privacy policy and tos --- .../App/Views/Profile/ProfileView.swift | 30 ++++++----- .../Sources/App/Views/WelcomeView.swift | 52 +++++++++---------- 2 files changed, 44 insertions(+), 38 deletions(-) diff --git a/apple/OmnivoreKit/Sources/App/Views/Profile/ProfileView.swift b/apple/OmnivoreKit/Sources/App/Views/Profile/ProfileView.swift index 3d46b8672..7f8a331b2 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Profile/ProfileView.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Profile/ProfileView.swift @@ -157,17 +157,23 @@ struct ProfileView: View { ) #endif - NavigationLink( - destination: BasicWebAppView.privacyPolicyWebView(baseURL: dataService.appEnvironment.webAppBaseURL) - ) { - Text(LocalText.privacyPolicyGeneric) - } + Button( + action: { + if let url = URL(string: "https://omnivore.app/privacy") { + openURL(url) + } + }, + label: { Text(LocalText.privacyPolicyGeneric) } + ) - NavigationLink( - destination: BasicWebAppView.termsConditionsWebView(baseURL: dataService.appEnvironment.webAppBaseURL) - ) { - Text(LocalText.termsAndConditionsGeneric) - } + Button( + action: { + if let url = URL(string: "https://omnivore.app/terms") { + openURL(url) + } + }, + label: { Text(LocalText.termsAndConditionsGeneric) } + ) } Section(footer: Text(viewModel.appVersionString)) { @@ -200,11 +206,11 @@ struct ProfileView: View { extension BasicWebAppView { static func privacyPolicyWebView(baseURL: URL) -> BasicWebAppView { - omnivoreWebView(path: "/app/privacy", baseURL: baseURL) + omnivoreWebView(path: "/privacy", baseURL: baseURL) } static func termsConditionsWebView(baseURL: URL) -> BasicWebAppView { - omnivoreWebView(path: "/app/terms", baseURL: baseURL) + omnivoreWebView(path: "/terms", baseURL: baseURL) } private static func omnivoreWebView(path: String, baseURL: URL) -> BasicWebAppView { diff --git a/apple/OmnivoreKit/Sources/App/Views/WelcomeView.swift b/apple/OmnivoreKit/Sources/App/Views/WelcomeView.swift index bba4802ba..433cbabed 100644 --- a/apple/OmnivoreKit/Sources/App/Views/WelcomeView.swift +++ b/apple/OmnivoreKit/Sources/App/Views/WelcomeView.swift @@ -87,37 +87,37 @@ struct WelcomeView: View { Spacer() } .sheet(isPresented: $showPrivacyModal) { - VStack { - HStack { - Spacer() - Button( - action: { - showPrivacyModal = false - }, - label: { - Image(systemName: "xmark.circle").foregroundColor(.appGrayTextContrast) - } - ) - } - .padding() + NavigationView { BasicWebAppView.privacyPolicyWebView(baseURL: dataService.appEnvironment.webAppBaseURL) + .toolbar { + ToolbarItem(placement: .navigationBarTrailing) { + Button( + action: { + showPrivacyModal = false + }, + label: { + Text(LocalText.genericClose) + } + ) + } + } } } .sheet(isPresented: $showTermsModal) { - VStack { - HStack { - Spacer() - Button( - action: { - showTermsModal = false - }, - label: { - Image(systemName: "xmark.circle").foregroundColor(.appGrayTextContrast) - } - ) - } - .padding() + NavigationView { BasicWebAppView.termsConditionsWebView(baseURL: dataService.appEnvironment.webAppBaseURL) + .toolbar { + ToolbarItem(placement: .navigationBarTrailing) { + Button( + action: { + showTermsModal = false + }, + label: { + Text(LocalText.genericClose) + } + ) + } + } } } .sheet(isPresented: $showAboutPage) {