From 7dc5845f4e9b2eced7921df43344784a92105f79 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Wed, 21 Dec 2022 21:01:58 +0800 Subject: [PATCH] Adds Error Display for the handle(_: URL) function Additionally, shortens validation code in AddAccount --- iOS/Account/NewsBlurAddAccountView.swift | 17 ++++------------- .../Extensions/EnableExtensionPointView.swift | 5 +++++ .../Extensions/EnableExtensionViewModel.swift | 5 +++-- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/iOS/Account/NewsBlurAddAccountView.swift b/iOS/Account/NewsBlurAddAccountView.swift index f15387faf..5a47bad44 100644 --- a/iOS/Account/NewsBlurAddAccountView.swift +++ b/iOS/Account/NewsBlurAddAccountView.swift @@ -60,21 +60,12 @@ struct NewsBlurAddAccountView: View, Logging { func retreiveCredentials() { if let account = account { - do { - let credentials = try account.retrieveCredentials(type: .newsBlurBasic) - if let credentials = credentials { - self.accountUserName = credentials.username - self.accountPassword = credentials.secret - } else { - print("No cred") - } - } catch { - print(error.localizedDescription) + let credentials = try? account.retrieveCredentials(type: .newsBlurBasic) + if let credentials = credentials { + self.accountUserName = credentials.username + self.accountPassword = credentials.secret } - } else { - print("No account") } - } var accountDetails: some View { diff --git a/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift b/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift index 492a48533..868d9d479 100644 --- a/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift +++ b/iOS/Settings/Account and Extensions/Extensions/EnableExtensionPointView.swift @@ -26,6 +26,11 @@ struct EnableExtensionPointView: View { }, message: { Text(extensionError.0?.localizedDescription ?? "Unknown Error") }) + .alert(Text("Error", comment: "Alert title: Error"), isPresented: $viewModel.showExtensionError.1, actions: { + Button(action: {}, label: { Text("Dismiss", comment: "Button title") }) + }, message: { + Text(viewModel.showExtensionError.0?.localizedDescription ?? "Unknown Error") + }) .navigationTitle(extensionPoint.title) .navigationBarTitleDisplayMode(.inline) .dismissOnExternalContextLaunch() diff --git a/iOS/Settings/Account and Extensions/Extensions/EnableExtensionViewModel.swift b/iOS/Settings/Account and Extensions/Extensions/EnableExtensionViewModel.swift index e4ea4af80..930241210 100644 --- a/iOS/Settings/Account and Extensions/Extensions/EnableExtensionViewModel.swift +++ b/iOS/Settings/Account and Extensions/Extensions/EnableExtensionViewModel.swift @@ -13,9 +13,10 @@ import OAuthSwift import Secrets import RSCore -@MainActor + public final class EnableExtensionViewModel: NSObject, ObservableObject, OAuthSwiftURLHandlerType, ASWebAuthenticationPresentationContextProviding, Logging { + @Published public var showExtensionError: (Error?, Bool) = (nil, false) private var extensionPointType: ExtensionPoint.Type? private var oauth: OAuthSwift? private var callbackURL: URL? = nil @@ -146,7 +147,7 @@ public final class EnableExtensionViewModel: NSObject, ObservableObject, OAuthSw if case ASWebAuthenticationSessionError.canceledLogin = error { print("Login cancelled.") } else { - //self.presentError(error) + self.showExtensionError = (error, true) } })