commit 3125395a8c461cc700ae106feee669bceb618f64
parent e18bc100d5a2d903093585176b0fd5e2136df038
Author: Marc Stibane <marc@taler.net>
Date: Sun, 12 Nov 2023 15:34:32 +0100
amountToTransfer ManualWithdraw
Diffstat:
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)
}
}