taler-ios

iOS apps for GNU Taler (wallet)
Log | Files | Refs | README | LICENSE

commit 272b34978b02f6ad94ee5d6e4f765d7a359da4b5
parent 72decf7c89cf8c8ed1c5d7d169203a5281f2cf64
Author: Marc Stibane <marc@taler.net>
Date:   Mon, 20 Jul 2026 10:28:00 +0200

Cancel on Dismiss

Diffstat:
MTalerWallet1/Views/HelperViews/LoadingView.swift | 29+++++++++++++++++++++++------
1 file changed, 23 insertions(+), 6 deletions(-)

diff --git a/TalerWallet1/Views/HelperViews/LoadingView.swift b/TalerWallet1/Views/HelperViews/LoadingView.swift @@ -19,6 +19,11 @@ struct LoadingView: View { @EnvironmentObject private var controller: Controller @EnvironmentObject private var model: WalletModel +#if DEBUG + @AppStorage("developerMode") var developerMode: Bool = true +#else + @AppStorage("developerMode") var developerMode: Bool = false +#endif @State private var rotationEnabled = true @State private var showAlert: Bool = false @@ -28,12 +33,24 @@ struct LoadingView: View { private var dismissButton: some View { Button("Cancel", role: .cancel) { showAlert = false - if let lastError = controller.lastProgressError { - controller.lastProgressError = nil - Task { - try await model.cancelProgressToken(lastError.operation, - token: lastError.progressToken) - } } + if let token = controller.progressToken { + controller.progressToken = nil + if let operation = controller.progressOperation { + controller.progressOperation = nil +// model.setError(nil) + Task { + try await model.cancelProgressToken(operation, token: token) + if !developerMode { + model.setError(nil) + } + } + } + if !developerMode { + dismissTop(stack.push()) + } + } else { + dismissTop(stack.push()) + } } .buttonStyle(TalerButtonStyle(type: .bordered, disabled: false)) .padding(.horizontal)