[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-taler-ios] 20/36: amountToTransfer Request
From: |
gnunet |
Subject: |
[taler-taler-ios] 20/36: amountToTransfer Request |
Date: |
Mon, 13 Nov 2023 21:27:25 +0100 |
This is an automated email from the git hooks/post-receive script.
marc-stibane pushed a commit to branch master
in repository taler-ios.
commit 1afc225066b511d4ba2358493697edbcd4821b5d
Author: Marc Stibane <marc@taler.net>
AuthorDate: Sun Nov 12 18:14:34 2023 +0100
amountToTransfer Request
---
TalerWallet1/Views/HelperViews/CurrencyField.swift | 4 +--
TalerWallet1/Views/Peer2peer/RequestPayment.swift | 39 +++++++++++-----------
TalerWallet1/Views/Peer2peer/RequestPurpose.swift | 31 +++++++----------
3 files changed, 32 insertions(+), 42 deletions(-)
diff --git a/TalerWallet1/Views/HelperViews/CurrencyField.swift
b/TalerWallet1/Views/HelperViews/CurrencyField.swift
index 2072b02..b4e05c8 100644
--- a/TalerWallet1/Views/HelperViews/CurrencyField.swift
+++ b/TalerWallet1/Views/HelperViews/CurrencyField.swift
@@ -24,9 +24,7 @@ import UIKit
@MainActor
public struct CurrencyField: View {
- @Binding var value: UInt64
- var currency: String
- var formatter: NumberFormatter
+ @Binding var amount: Amount // the `value´
private var currencyInputField: CurrencyInputField! = nil
public func becomeFirstResponder() -> Void {
diff --git a/TalerWallet1/Views/Peer2peer/RequestPayment.swift
b/TalerWallet1/Views/Peer2peer/RequestPayment.swift
index b874e8b..b0c6708 100644
--- a/TalerWallet1/Views/Peer2peer/RequestPayment.swift
+++ b/TalerWallet1/Views/Peer2peer/RequestPayment.swift
@@ -11,8 +11,7 @@ struct RequestPayment: View {
private let symLog = SymLogV(0)
let stack: CallStack
- var scopeInfo: ScopeInfo
- @Binding var centsToTransfer: UInt64
+ @Binding var amountToTransfer: Amount
@Binding var summary: String
@EnvironmentObject private var model: WalletModel
@@ -25,9 +24,9 @@ struct RequestPayment: View {
let _ = Self._printChanges()
let _ = symLog.vlog() // just to get the # to compare it with
.onAppear & onDisappear
#endif
- let currency = scopeInfo.currency
+ let currency = amountToTransfer.currencyStr
let navTitle = String(localized: "Request Money", comment: "Dialog
Title")
- let currencyField = CurrencyField(value: $centsToTransfer, currency:
currency)
+ let currencyField = CurrencyField(amount: $amountToTransfer)
ScrollView { VStack {
CurrencyInputView(currencyField: currencyField,
@@ -35,22 +34,21 @@ struct RequestPayment: View {
let someCoins = SomeCoins(details: peerPullCheck)
QuiteSomeCoins(someCoins: someCoins, shouldShowFee: true,
- currency: currency, amountEffective:
peerPullCheck?.amountEffective)
+ currency: currency,
+ amountEffective: peerPullCheck?.amountEffective)
HStack {
- let disabled = (centsToTransfer == 0) || someCoins.invalid ||
someCoins.tooMany
+ let disabled = amountToTransfer.isZero || someCoins.invalid ||
someCoins.tooMany
NavigationLink(destination: LazyView {
RequestPurpose(stack: stack.push(),
- scopeInfo: scopeInfo,
- centsToTransfer: centsToTransfer,
+ amountToTransfer: amountToTransfer,
fee: someCoins.fee,
summary: $summary,
expireDays: $expireDays)
// { deactivateAction() }
}) {
- let amount = Amount.amountFromCents(currency,
centsToTransfer)
- Text("Request \(amount.readableDescription)")
+ Text("Request \(amountToTransfer.readableDescription)")
// TODO: formatter
}
.buttonStyle(TalerButtonStyle(type: .prominent))
.disabled(disabled)
@@ -68,16 +66,17 @@ struct RequestPayment: View {
.onDisappear {
symLog.log("❗️Yikes \(navTitle) onDisappear")
}
- .task(id: centsToTransfer) {
- let amount = Amount.amountFromCents(currency, centsToTransfer)
- do {
- let ppCheck = try await model.checkPeerPullCreditM(amount,
exchangeBaseUrl: nil)
- peerPullCheck = ppCheck
- // TODO: set from exchange
-// agePicker.setAges(ages: peerPushCheck?.ageRestrictionOptions)
- } catch { // TODO: error
- symLog.log(error.localizedDescription)
- peerPullCheck = nil
+ .task(id: amountToTransfer.value) {
+ if !amountToTransfer.isZero {
+ do {
+ let ppCheck = try await
model.checkPeerPullCreditM(amountToTransfer, exchangeBaseUrl: nil)
+ peerPullCheck = ppCheck
+ // TODO: set from exchange
+// agePicker.setAges(ages:
peerPushCheck?.ageRestrictionOptions)
+ } catch { // TODO: error
+ symLog.log(error.localizedDescription)
+ peerPullCheck = nil
+ }
}
}
}
diff --git a/TalerWallet1/Views/Peer2peer/RequestPurpose.swift
b/TalerWallet1/Views/Peer2peer/RequestPurpose.swift
index 4f86af1..da20057 100644
--- a/TalerWallet1/Views/Peer2peer/RequestPurpose.swift
+++ b/TalerWallet1/Views/Peer2peer/RequestPurpose.swift
@@ -10,28 +10,21 @@ struct RequestPurpose: View {
private let symLog = SymLogV(0)
let stack: CallStack
- let scopeInfo: ScopeInfo
- let centsToTransfer: UInt64
+ let amountToTransfer: Amount
let fee: String
@Binding var summary: String
@Binding var expireDays: UInt
@AppStorage("iconOnly") var iconOnly: Bool = false
let navTitle = String(localized: "NavTitle_Request_Subject", defaultValue:
"Request", comment: "NavTitle for entering the subject for Request-Payment")
+ @EnvironmentObject private var controller: Controller
@State private var transactionStarted: Bool = false
@FocusState private var isFocused: Bool
- private var label: String {
-// let mag = pow(10, formatter.maximumFractionDigits)
-// return formatter.string(for: Decimal(centsToTransfer) / mag) ?? ""
- return String(centsToTransfer / 100) // TODO: based on currency
- }
-
var body: some View {
- let amount = Amount.amountFromCents(scopeInfo.currency,
centsToTransfer)
-
+ let currencyInfo = controller.info(for: amountToTransfer.currencyStr,
controller.currencyTicker)
VStack (spacing: 6) {
- Text(amount.readableDescription)
+ Text(amountToTransfer.string(currencyInfo))
Text("+ \(fee) payment fee")
.foregroundColor(.red)
VStack(alignment: .leading, spacing: 6) {
@@ -65,12 +58,12 @@ struct RequestPurpose: View {
NavigationLink(destination: LazyView {
SendDoneV(stack: stack.push(),
amountToSend: nil,
- amountToReceive: amount,
+ amountToReceive: amountToTransfer,
summary: summary,
expireDays: expireDays,
transactionStarted: $transactionStarted)
}) {
- Text("Request \(label) \(scopeInfo.currency)")
+ Text("Request \(amountToTransfer.readableDescription)")
// TODO: formatter
// .accessibilityFont(buttonFont)
}
.buttonStyle(TalerButtonStyle(type: .prominent))
@@ -86,23 +79,23 @@ struct RequestPurpose: View {
.background(WalletColors().backgroundColor.edgesIgnoringSafeArea(.all))
.onAppear {
DebugViewC.shared.setViewID(VIEW_REQUEST_PURPOSE, stack:
stack.push())
-// print("❗️ PaymentPurpose onAppear")
+// print("❗️ RequestPurpose onAppear")
}
.onDisappear {
-// print("❗️ PaymentPurpose onDisappear")
+// print("❗️ RequestPurpose onDisappear")
}
}
}
// MARK: -
#if DEBUG
-//struct PaymentPurpose_Previews: PreviewProvider {
+//struct RequestPurpose_Previews: PreviewProvider {
// static var previews: some View {
-// let scopeInfo = ScopeInfo(type: ScopeInfo.ScopeInfoType.exchange,
exchangeBaseUrl: DEMOEXCHANGE, currency: LONGCURRENCY)
+// let scopeInfo = ScopeInfo(type: .exchange, exchangeBaseUrl:
DEMOEXCHANGE, currency: LONGCURRENCY)
// @State var summary: String = "pUrPoSe"
// @State var expireDays: UInt = 0
-// PaymentPurpose(scopeInfo: scopeInfo,
-// centsToTransfer: 5,
+// RequestPurpose(scopeInfo: scopeInfo,
+// amountToReceive: 5,
// fee: "fee",
// summary: $summary,
// expireDays: $expireDays)
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-taler-ios] 13/36: once at very first startup, (continued)
- [taler-taler-ios] 13/36: once at very first startup, gnunet, 2023/11/13
- [taler-taler-ios] 15/36: About with explicit link to taler.net, gnunet, 2023/11/13
- [taler-taler-ios] 28/36: Cleanup property wrappers, gnunet, 2023/11/13
- [taler-taler-ios] 22/36: amountToTransfer ManualWithdraw, gnunet, 2023/11/13
- [taler-taler-ios] 33/36: Announce shouldn't change screen, gnunet, 2023/11/13
- [taler-taler-ios] 34/36: Previews, gnunet, 2023/11/13
- [taler-taler-ios] 32/36: Shortcuts (50,25,10,5), gnunet, 2023/11/13
- [taler-taler-ios] 11/36: Debugging, gnunet, 2023/11/13
- [taler-taler-ios] 25/36: amountToTransfer Currency, gnunet, 2023/11/13
- [taler-taler-ios] 16/36: TransactionsArraySliceV, gnunet, 2023/11/13
- [taler-taler-ios] 20/36: amountToTransfer Request,
gnunet <=
- [taler-taler-ios] 26/36: Minimalistic, gnunet, 2023/11/13
- [taler-taler-ios] 31/36: Use `te´and `ku´ for previews, gnunet, 2023/11/13
- [taler-taler-ios] 10/36: @Published currencyTicker, gnunet, 2023/11/13
- [taler-taler-ios] 35/36: Check Available, accessibility, gnunet, 2023/11/13
- [taler-taler-ios] 36/36: Bump version to 0.9.3 (25), gnunet, 2023/11/13
- [taler-taler-ios] 08/36: Cleanup, gnunet, 2023/11/13