taler-ios

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

commit 3125395a8c461cc700ae106feee669bceb618f64
parent e18bc100d5a2d903093585176b0fd5e2136df038
Author: Marc Stibane <marc@taler.net>
Date:   Sun, 12 Nov 2023 15:34:32 +0100

amountToTransfer ManualWithdraw

Diffstat:
MTalerWallet1/Views/Exchange/ManualWithdraw.swift | 20++++++++++----------
MTalerWallet1/Views/Exchange/ManualWithdrawDone.swift | 9++++-----
2 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/TalerWallet1/Views/Exchange/ManualWithdraw.swift b/TalerWallet1/Views/Exchange/ManualWithdraw.swift @@ -12,7 +12,7 @@ struct ManualWithdraw: View { let stack: CallStack let exchange: Exchange - @Binding var centsToTransfer: UInt64 + @Binding var amountToTransfer: Amount @EnvironmentObject private var model: WalletModel @@ -28,7 +28,7 @@ struct ManualWithdraw: View { #endif let currency = exchange.currency ?? String(localized: "Unknown", comment: "unknown currency") let navTitle = String(localized: "NavTitle_Withdraw (currency)", defaultValue: "Withdraw \(currency)") - let currencyField = CurrencyField(value: $centsToTransfer, currency: currency) // becomeFirstResponder + let currencyField = CurrencyField(amount: $amountToTransfer) // becomeFirstResponder // let agePicker = AgePicker(ageMenuList: $ageMenuList, selectedAge: $selectedAge) ScrollView { @@ -42,7 +42,7 @@ struct ManualWithdraw: View { .multilineTextAlignment(.center) .accessibilityFont(.body) - let disabled = (centsToTransfer == 0) || someCoins.invalid || someCoins.tooMany + let disabled = amountToTransfer.isZero || someCoins.invalid || someCoins.tooMany if !disabled { // agePicker @@ -54,7 +54,7 @@ struct ManualWithdraw: View { NavigationLink(destination: LazyView { ManualWithdrawDone(stack: stack.push(), exchange: exchange, - centsToTransfer: centsToTransfer) + amountToTransfer: amountToTransfer) // restrictAge: restrictAge) }) { Text("Confirm Withdrawal") // VIEW_WITHDRAW_ACCEPT @@ -80,11 +80,11 @@ struct ManualWithdraw: View { symLog.log("onAppear") DebugViewC.shared.setViewID(VIEW_WITHDRAWAL, stack: stack.push()) } - .task(id: centsToTransfer) { // re-run this whenever centsToTransfer changes - if centsToTransfer > 0 { - let amount = Amount.amountFromCents(currency, centsToTransfer) + .task(id: amountToTransfer.value) { // re-run this whenever amountToTransfer changes + if !amountToTransfer.isZero { do { - withdrawalAmountDetails = try await model.loadWithdrawalDetailsForAmountM(exchange.exchangeBaseUrl, amount: amount) + withdrawalAmountDetails = try await model.loadWithdrawalDetailsForAmountM(exchange.exchangeBaseUrl, + amount: amountToTransfer) // agePicker.setAges(ages: withdrawalAmountDetails?.ageRestrictionOptions) } catch { // TODO: error symLog.log(error.localizedDescription) @@ -98,7 +98,7 @@ struct ManualWithdraw: View { #if DEBUG struct ManualWithdraw_Previews: PreviewProvider { struct StateContainer : View { - @State private var centsToTransfer: UInt64 = 510 + @State private var amountToTransfer = Amount(currency: LONGCURRENCY, cent: 510) @State private var details = WithdrawalAmountDetails(tosAccepted: false, amountRaw: Amount(currency: LONGCURRENCY, cent: 510), amountEffective: Amount(currency: LONGCURRENCY, cent: 500), @@ -115,7 +115,7 @@ struct ManualWithdraw_Previews: PreviewProvider { ageRestrictionOptions: []) ManualWithdraw(stack: CallStack("Preview"), exchange: exchange, - centsToTransfer: $centsToTransfer, + amountToTransfer: $amountToTransfer, withdrawalAmountDetails: details) } } diff --git a/TalerWallet1/Views/Exchange/ManualWithdrawDone.swift b/TalerWallet1/Views/Exchange/ManualWithdrawDone.swift @@ -12,7 +12,7 @@ struct ManualWithdrawDone: View { let navTitle = String(localized: "Wire Transfer") let exchange: Exchange - let centsToTransfer: UInt64 + let amountToTransfer: Amount // let restrictAge: Int? @EnvironmentObject private var model: WalletModel @@ -53,9 +53,8 @@ struct ManualWithdrawDone: View { DebugViewC.shared.setViewID(VIEW_WITHDRAW_ACCEPT, stack: stack.push()) }.task { do { - let amount = Amount.amountFromCents(exchange.currency!, centsToTransfer) let result = try await model.sendAcceptManualWithdrawalM(exchange.exchangeBaseUrl, - amount: amount, restrictAge: 0) + amount: amountToTransfer, restrictAge: 0) transactionId = result!.transactionId } catch { // TODO: error symLog.log(error.localizedDescription) @@ -67,7 +66,7 @@ struct ManualWithdrawDone: View { // MARK: - #if DEBUG struct ManualWithdrawDone_Container : View { - @State private var centsToTransfer: UInt64 = 510 + @State private var amountToTransfer = Amount(currency: LONGCURRENCY, cent: 510) var body: some View { let exchange = Exchange(exchangeBaseUrl: DEMOEXCHANGE, @@ -79,7 +78,7 @@ struct ManualWithdrawDone_Container : View { ageRestrictionOptions: []) ManualWithdrawDone(stack: CallStack("Preview"), exchange: exchange, - centsToTransfer: centsToTransfer) + amountToTransfer: amountToTransfer) } }