taler-ios

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

commit 7f5147ac7615f5b556449a7abc02e9ae1854c3d8
parent 264a76b2929101ac66fa4e895d6c174cf70300b9
Author: Marc Stibane <marc@taler.net>
Date:   Sat, 20 Jul 2024 21:01:49 +0200

cleanup

Diffstat:
MTalerWallet1/Views/Peer2peer/SendAmount.swift | 15++++++++-------
MTalerWallet1/Views/Sheets/WithdrawBankIntegrated/WithdrawURIView.swift | 23++++++++++++++---------
2 files changed, 22 insertions(+), 16 deletions(-)

diff --git a/TalerWallet1/Views/Peer2peer/SendAmount.swift b/TalerWallet1/Views/Peer2peer/SendAmount.swift @@ -37,6 +37,14 @@ struct SendAmount: View { @State private var amountShortcut = Amount.zero(currency: EMPTYSTRING) // Update currency when used @State private var exchange: Exchange? = nil // wg. noFees + private func shortcutAction(_ shortcut: Amount) { + amountShortcut = shortcut + shortcutSelected = true + } + private func buttonAction() { + buttonSelected = true + } + private func fee(ppCheck: CheckPeerPushDebitResponse?) -> Amount? { do { if let ppCheck { @@ -49,13 +57,6 @@ struct SendAmount: View { return feeAmount } - private func shortcutAction(_ shortcut: Amount) { - amountShortcut = shortcut - shortcutSelected = true - } - private func buttonAction() { - buttonSelected = true - } private func feeIsNotZero() -> Bool? { if let hasNoFees = exchange?.noFees { if hasNoFees { diff --git a/TalerWallet1/Views/Sheets/WithdrawBankIntegrated/WithdrawURIView.swift b/TalerWallet1/Views/Sheets/WithdrawBankIntegrated/WithdrawURIView.swift @@ -15,7 +15,6 @@ import SymLog struct WithdrawURIView: View { private let symLog = SymLogV() let stack: CallStack - let navTitle = String(localized: "Withdrawal") // the URL from the bank website let url: URL @@ -44,6 +43,8 @@ struct WithdrawURIView: View { @State private var feeAmount: Amount? = nil + let navTitle = String(localized: "Withdrawal") + func loadExchange(_ baseUrl: String) async { // TODO: throws? if let someExchange = try? await model.getExchangeByUrl(url: baseUrl) { exchange = someExchange @@ -153,14 +154,18 @@ struct WithdrawURIView: View { LoadingView(scopeInfo: nil, message: message) .task { symLog.log(".task") - if let someInfo = try? await model.getWithdrawalDetailsForUriM(url.absoluteString) { - let currency = someInfo.currency - defaultExchangeBaseUrl = someInfo.defaultExchangeBaseUrl - possibleExchanges = someInfo.possibleExchanges - amountToTransfer = someInfo.amount ?? Amount.zero(currency: currency) - amountAvailable = someInfo.maxAmount - amountIsEditable = someInfo.editableAmount - wireFee = someInfo.wireFee + if let uriInfoResponse = try? await model.getWithdrawalDetailsForUriM(url.absoluteString) { + let amount = uriInfoResponse.amount + let currency = amount?.currencyStr ?? uriInfoResponse.currency + amountToTransfer = amount ?? Amount.zero(currency: currency) + amountAvailable = uriInfoResponse.maxAmount // may be nil + wireFee = uriInfoResponse.wireFee // may be nil + let baseUrl = uriInfoResponse.defaultExchangeBaseUrl + ?? uriInfoResponse.possibleExchanges[0].exchangeBaseUrl + defaultExchangeBaseUrl = uriInfoResponse.defaultExchangeBaseUrl + possibleExchanges = uriInfoResponse.possibleExchanges + amountIsEditable = uriInfoResponse.editableAmount + await controller.checkInfo(for: baseUrl, model: model) } // TODO: amount = nil ==> show amount input