taler-ios

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

commit 5a206a0935844ddfea8079e4fc1108fcfd5ddc2d
parent ef9b59f24bc9479543f2bfd1d97b870c2bda2574
Author: Marc Stibane <marc@taler.net>
Date:   Tue, 27 Jun 2023 14:29:46 +0200

PeerPullDebit

Diffstat:
MTalerWallet1/Views/Sheets/P2P_Sheets/P2pAcceptDone.swift | 12+++++++++---
MTalerWallet1/Views/Sheets/P2P_Sheets/P2pPayURIView.swift | 8++++----
MTalerWallet1/Views/Sheets/P2P_Sheets/P2pReceiveURIView.swift | 3++-
MTalerWallet1/Views/Sheets/URLSheet.swift | 4++--
4 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/TalerWallet1/Views/Sheets/P2P_Sheets/P2pAcceptDone.swift b/TalerWallet1/Views/Sheets/P2P_Sheets/P2pAcceptDone.swift @@ -8,9 +8,9 @@ import SymLog struct P2pAcceptDone: View { private let symLog = SymLogV() - let navTitle = String(localized: "Received P2P") let transactionId: String + let incoming: Bool @EnvironmentObject private var model: WalletModel @@ -32,6 +32,8 @@ struct P2pAcceptDone: View { let _ = Self._printChanges() let _ = symLog.vlog() // just to get the # to compare it with .onAppear & onDisappear #endif + let navTitle = incoming ? String(localized: "Received P2P") + : String(localized: "Paid P2P") VStack { TransactionDetailView(transactionId: transactionId, reloadAction: reloadOneAction, @@ -44,7 +46,11 @@ struct P2pAcceptDone: View { DebugViewC.shared.setSheetID(SHEET_RCV_P2P_ACCEPT) }.task { do { - _ = try await model.acceptPeerPushCreditM(transactionId) + if incoming { + _ = try await model.acceptPeerPushCreditM(transactionId) + } else { + _ = try await model.confirmPeerPullDebitM(transactionId) + } finished = true playSound(success: true) } catch { // TODO: error @@ -57,6 +63,6 @@ struct P2pAcceptDone: View { // MARK: - struct P2pAcceptDone_Previews: PreviewProvider { static var previews: some View { - P2pAcceptDone(transactionId: "some ID") + P2pAcceptDone(transactionId: "some ID", incoming: true) } } diff --git a/TalerWallet1/Views/Sheets/P2P_Sheets/P2pPayURIView.swift b/TalerWallet1/Views/Sheets/P2P_Sheets/P2pPayURIView.swift @@ -37,15 +37,15 @@ struct P2pPayURIView: View { .navigationTitle(navTitle) NavigationLink(destination: LazyView { - P2pAcceptDone(transactionId: peerPullDebitResponse.transactionId) + P2pAcceptDone(transactionId: peerPullDebitResponse.transactionId, + incoming: false) }) { Text("Confirm Payment", comment:"pay P2P invoice") // SHEET_PAY_P2P }.buttonStyle(TalerButtonStyle(type: .prominent)) .padding() } else { - // Yikes no details or no baseURL - // WithdrawProgressView(message: url.host ?? badURL) - // .navigationTitle("Contacting Exchange") + WithdrawProgressView(message: url.host ?? "Yikes - no valid URL") + .navigationTitle("Contacting Exchange") } } .onAppear() { diff --git a/TalerWallet1/Views/Sheets/P2P_Sheets/P2pReceiveURIView.swift b/TalerWallet1/Views/Sheets/P2P_Sheets/P2pReceiveURIView.swift @@ -38,7 +38,8 @@ struct P2pReceiveURIView: View { let tosAccepted = true // TODO: https://bugs.gnunet.org/view.php?id=7869 if tosAccepted { NavigationLink(destination: LazyView { - P2pAcceptDone(transactionId: peerPushCreditResponse.transactionId) + P2pAcceptDone(transactionId: peerPushCreditResponse.transactionId, + incoming: true) }) { Text("Accept Withdrawal") // SHEET_WITHDRAW_ACCEPT }.buttonStyle(TalerButtonStyle(type: .prominent)) diff --git a/TalerWallet1/Views/Sheets/URLSheet.swift b/TalerWallet1/Views/Sheets/URLSheet.swift @@ -7,7 +7,7 @@ import SymLog struct URLSheet: View { private let symLog = SymLogV() - let navTitle = String(localized: "Invalid URL") + let navTitle = String(localized: "Examining URL") var urlToOpen: URL @EnvironmentObject private var controller: Controller @@ -22,7 +22,7 @@ struct URLSheet: View { case .pay: PaymentURIView(url: urlToOpen) case .payPull: - Text("payPull not implemented yet") + P2pPayURIView(url: urlToOpen) case .payPush: P2pReceiveURIView(url: urlToOpen) case .unknown: