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