gnunet-svn
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]