taler-ios

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

commit b3a5bd590881fe737aac9bac6f8b42e9bcf5c11e
parent 204941cb81b850f54de16357efe12e9bb21fd4cf
Author: Marc Stibane <marc@taler.net>
Date:   Wed, 17 Jul 2024 12:16:13 +0200

CoinData

Diffstat:
MTalerWallet1/Views/Banking/ManualWithdraw.swift | 6+++---
MTalerWallet1/Views/Banking/QuiteSomeCoins.swift | 40++++++++++++++++++++--------------------
MTalerWallet1/Views/Peer2peer/RequestPayment.swift | 8++++----
MTalerWallet1/Views/Sheets/WithdrawBankIntegrated/WithdrawAcceptView.swift | 4++--
4 files changed, 29 insertions(+), 29 deletions(-)

diff --git a/TalerWallet1/Views/Banking/ManualWithdraw.swift b/TalerWallet1/Views/Banking/ManualWithdraw.swift @@ -52,7 +52,7 @@ struct ManualWithdraw: View { comment: "NavTitle: Withdraw 'currency'") // let agePicker = AgePicker(ageMenuList: $ageMenuList, selectedAge: $selectedAge) - let someCoins = SomeCoins(details: withdrawalAmountDetails) + let coinData = CoinData(details: withdrawalAmountDetails) // let restrictAge: Int? = (selectedAge == 0) ? nil // : selectedAge // let _ = print(selectedAge, restrictAge) @@ -62,7 +62,7 @@ struct ManualWithdraw: View { amountToTransfer: amountToTransfer) // restrictAge: restrictAge) } - let disabled = amountToTransfer.isZero || someCoins.invalid || someCoins.tooMany + let disabled = amountToTransfer.isZero || coinData.invalid || coinData.tooMany let tosAccepted = exchange.tosStatus == .accepted ScrollView { VStack(alignment: .trailing) { Text("via \(exchange.exchangeBaseUrl.trimURL())") @@ -75,7 +75,7 @@ struct ManualWithdraw: View { : String(localized: "Amount to withdraw:"), shortcutAction: nil) .padding(.top) - QuiteSomeCoins(someCoins: someCoins, + QuiteSomeCoins(coinData: coinData, shouldShowFee: true, // TODO: set to false if we never charge withdrawal fees currency: currency, currencyInfo: currencyInfo, diff --git a/TalerWallet1/Views/Banking/QuiteSomeCoins.swift b/TalerWallet1/Views/Banking/QuiteSomeCoins.swift @@ -9,7 +9,7 @@ import SwiftUI import taler_swift import SymLog -struct SomeCoins { +struct CoinData { let numCoins: Int // 0 == invalid, -1 == unknown var unknown: Bool { numCoins < 0 } var invalid: Bool { numCoins == 0 } @@ -30,7 +30,7 @@ struct SomeCoins { } } -extension SomeCoins { +extension CoinData { init(details: WithdrawalAmountDetails?) { do { if let details { @@ -60,19 +60,19 @@ extension SomeCoins { // MARK: - struct QuiteSomeCoins: View { private let symLog = SymLogV(0) - let someCoins: SomeCoins + let coinData: CoinData let shouldShowFee: Bool let currency: String let currencyInfo: CurrencyInfo? let amountEffective: Amount? var body: some View { - if !someCoins.invalid { - if !someCoins.tooMany { - if someCoins.manyCoins { - Text(someCoins.quiteSome ? "Note: It will take quite some time to withdraw this amount! Be more patient..." + if !coinData.invalid { + if !coinData.tooMany { + if coinData.manyCoins { + Text(coinData.quiteSome ? "Note: It will take quite some time to withdraw this amount! Be more patient..." : "Note: It will take some time to withdraw this amount. Be patient...") - .foregroundColor(someCoins.quiteSome ? .red : .primary) + .foregroundColor(coinData.quiteSome ? .red : .primary) .talerFont(.body) .multilineTextAlignment(.leading) .padding(.vertical, 6) @@ -80,21 +80,21 @@ struct QuiteSomeCoins: View { } } if shouldShowFee { - if let fee = someCoins.fee { - Text(someCoins.feeLabel(currencyInfo)) - .foregroundColor((someCoins.invalid || someCoins.tooMany || !fee.isZero) ? .red : .primary) + if let fee = coinData.fee { + Text(coinData.feeLabel(currencyInfo)) + .foregroundColor((coinData.invalid || coinData.tooMany || !fee.isZero) ? .red : .primary) .talerFont(.body) } } } } // MARK: - -struct QuiteSomeCoins_Previews: PreviewProvider { - static var previews: some View { - QuiteSomeCoins(someCoins: SomeCoins(numCoins: 4, fee: Amount(currency: LONGCURRENCY, cent: 20) ), - shouldShowFee: true, - currency: LONGCURRENCY, - currencyInfo: nil, - amountEffective: nil) - } -} +//struct QuiteSomeCoins_Previews: PreviewProvider { +// static var previews: some View { +// QuiteSomeCoins(coinData: CoinData(numCoins: 4, fee: Amount(currency: LONGCURRENCY, cent: 20) ), +// shouldShowFee: true, +// amountEffective: nil) +// .environment(\.currencyInfo, currencyInfo) +// .environment(\.currencyName, currencyName) // TODO: check if this gets updated!!! +// } +//} diff --git a/TalerWallet1/Views/Peer2peer/RequestPayment.swift b/TalerWallet1/Views/Peer2peer/RequestPayment.swift @@ -50,11 +50,11 @@ struct RequestPayment: View { let navTitle = String(localized: "NavTitle_Request_Currency", defaultValue: "Request \(currencySymbol)", comment: "NavTitle: Request 'currencySymbol'") - let someCoins = SomeCoins(details: peerPullCheck) + let coinData = CoinData(details: peerPullCheck) let _ = symLog.log("currency: \(currency)") let inputDestination = LazyView { P2PSubjectV(stack: stack.push(), - feeLabel: someCoins.feeLabel(currencyInfo), + feeLabel: coinData.feeLabel(currencyInfo), feeIsNotZero: feeIsNotZero(), currencyInfo: currencyInfo, amountToSend: false, @@ -72,7 +72,7 @@ struct RequestPayment: View { summary: $summary, expireDays: $expireDays) } - let disabled = amountToTransfer.isZero || someCoins.invalid || someCoins.tooMany + let disabled = amountToTransfer.isZero || coinData.invalid || coinData.tooMany ScrollView { VStack(alignment: .trailing) { CurrencyInputView(amount: $amountToTransfer, available: nil, @@ -80,7 +80,7 @@ struct RequestPayment: View { : String(localized: "Amount to request:"), shortcutAction: shortcutAction) .padding(.top) - QuiteSomeCoins(someCoins: someCoins, + QuiteSomeCoins(coinData: coinData, shouldShowFee: true, // always true since the requester pays fees currency: currency, currencyInfo: currencyInfo, diff --git a/TalerWallet1/Views/Sheets/WithdrawBankIntegrated/WithdrawAcceptView.swift b/TalerWallet1/Views/Sheets/WithdrawBankIntegrated/WithdrawAcceptView.swift @@ -67,8 +67,8 @@ struct WithdrawAcceptView: View { txStateLcl: nil, // common.txState.major.localizedState summary: nil, merchant: nil) - let someCoins = SomeCoins(details: withdrawalAmountDetails) - QuiteSomeCoins(someCoins: someCoins, + let coinData = CoinData(details: withdrawalAmountDetails) + QuiteSomeCoins(coinData: coinData, shouldShowFee: true, // TODO: set to false if we never charge withdrawal fees currency: currency, currencyInfo: currencyInfo,