gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-taler-ios] 17/36: amountToTransfer Balances


From: gnunet
Subject: [taler-taler-ios] 17/36: amountToTransfer Balances
Date: Mon, 13 Nov 2023 21:27:22 +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 53ee8de70a0c3e0f449c9f8fe10f64cb50fa5f10
Author: Marc Stibane <marc@taler.net>
AuthorDate: Sun Nov 12 17:55:38 2023 +0100

    amountToTransfer Balances
---
 TalerWallet1/Views/Balances/BalanceRowView.swift   |  7 +--
 TalerWallet1/Views/Balances/BalancesListView.swift | 10 ++--
 .../Views/Balances/BalancesSectionView.swift       | 65 +++++++++++-----------
 3 files changed, 39 insertions(+), 43 deletions(-)

diff --git a/TalerWallet1/Views/Balances/BalanceRowView.swift 
b/TalerWallet1/Views/Balances/BalanceRowView.swift
index 812bf1f..6cecada 100644
--- a/TalerWallet1/Views/Balances/BalanceRowView.swift
+++ b/TalerWallet1/Views/Balances/BalanceRowView.swift
@@ -48,7 +48,6 @@ struct BalanceButton: View {
 /// [Send Money]  [Request Payment]
 struct BalanceRowView: View {
     let amount: Amount
-    let currencyInfo: CurrencyInfo?
     let sendAction: () -> Void
     let recvAction: () -> Void
     let rowAction: () -> Void
@@ -104,8 +103,6 @@ struct BalanceRowView: View {
 struct BalanceRowView_Previews: PreviewProvider {
   struct StateContainer: View {
     var body: some View {
-        let testInfo = PreviewCurrencyInfo(TESTCURRENCY, digits: 0)
-        let demoInfo = PreviewCurrencyInfo(TESTCURRENCY, digits: 2)
         let test = Amount(currency: TESTCURRENCY, cent: 123)
         let demo = Amount(currency: DEMOCURRENCY, cent: 123456)
 //        let testStr = test.string(testInfo)
@@ -113,9 +110,9 @@ struct BalanceRowView_Previews: PreviewProvider {
 
         List {
             Section {
-                BalanceRowView(amount: demo, currencyInfo: demoInfo, 
sendAction: {}, recvAction: {}, rowAction: {})
+                BalanceRowView(amount: demo, sendAction: {}, recvAction: {}, 
rowAction: {})
             }
-            BalanceRowView(amount: test, currencyInfo: testInfo, sendAction: 
{}, recvAction: {}, rowAction: {})
+            BalanceRowView(amount: test, sendAction: {}, recvAction: {}, 
rowAction: {})
         }
     }
   }
diff --git a/TalerWallet1/Views/Balances/BalancesListView.swift 
b/TalerWallet1/Views/Balances/BalancesListView.swift
index d8401e2..4640a9a 100644
--- a/TalerWallet1/Views/Balances/BalancesListView.swift
+++ b/TalerWallet1/Views/Balances/BalancesListView.swift
@@ -21,7 +21,7 @@ struct BalancesListView: View {
 #endif
 
     @EnvironmentObject private var model: WalletModel
-    @State private var centsToTransfer: UInt64 = 0
+    @State private var amountToTransfer = Amount.zero(currency: "")            
 // Update when used
     @State private var summary: String = ""
     @State private var showQRScanner: Bool = false
     @State private var showCameraAlert: Bool = false
@@ -102,7 +102,7 @@ struct BalancesListView: View {
         let hamburger: HamburgerButton = HamburgerButton(action: 
hamburgerAction)
 #endif
         Content(symLog: symLog, stack: stack.push(), balances: $balances,
-                centsToTransfer: $centsToTransfer, summary: $summary,
+                amountToTransfer: $amountToTransfer, summary: $summary,
                 reloadBalances: reloadBalances)
             .navigationTitle(navTitle)
             .navigationBarItems(leading: hamburger,
@@ -131,7 +131,7 @@ extension BalancesListView {
         let stack: CallStack
         @AppStorage("myListStyle") var myListStyle: MyListStyle = .automatic
         @Binding var balances: [Balance]
-        @Binding var centsToTransfer: UInt64
+        @Binding var amountToTransfer: Amount
         @Binding var summary: String
         var reloadBalances: (_ stack: CallStack, _ invalidateCache: Bool) 
async -> Int
 
@@ -147,9 +147,9 @@ extension BalancesListView {
                 } else {
                     List(balances, id: \.self) { balance in
                         BalancesSectionView(stack: 
stack.push("\(balance.scopeInfo.currency)"),
-                                          balance: balance,
+                                          balance: balance,                    
 // this is the currency to be used
                                      sectionCount: count,
-                                  centsToTransfer: $centsToTransfer,
+                                 amountToTransfer: $amountToTransfer,          
 // does still have the wrong currency
                                           summary: $summary)
                     }
                     .onAppear() {
diff --git a/TalerWallet1/Views/Balances/BalancesSectionView.swift 
b/TalerWallet1/Views/Balances/BalancesSectionView.swift
index d53cd70..8d4d793 100644
--- a/TalerWallet1/Views/Balances/BalancesSectionView.swift
+++ b/TalerWallet1/Views/Balances/BalancesSectionView.swift
@@ -17,9 +17,9 @@ import SymLog
 struct BalancesSectionView {
     private let symLog = SymLogV(0)
     let stack: CallStack
-    let balance: Balance
+    let balance: Balance                            // this is the currency to 
be used
     let sectionCount: Int
-    @Binding var centsToTransfer: UInt64
+    @Binding var amountToTransfer: Amount           // does still have the 
wrong currency
     @Binding var summary: String
 
 //    @AppStorage("moreContrast") var moreContrast: Bool = false
@@ -81,17 +81,15 @@ extension BalancesSectionView: View {
             }
             BalancesNavigationLinksView(stack: stack.push(),
                                       balance: balance,
-                                 currencyInfo: currencyInfo,
-                              centsToTransfer: $centsToTransfer,
+                             amountToTransfer: $amountToTransfer,           // 
does still have the wrong currency
                                       summary: $summary,
-//                             buttonSelected: $buttonSelected,
                         completedTransactions: $completedTransactions,
                               reloadAllAction: reloadCompleted,
                               reloadOneAction: reloadOneAction)
             if pendingTransactions.count > 0 {
                 BalancesPendingRowView(symLog: symLog,
                                         stack: stack.push(),
-                                 currencyInfo: currencyInfo,
+                                     currency: currency,
                           pendingTransactions: $pendingTransactions,
                                 reloadPending: reloadPending,
                               reloadOneAction: reloadOneAction)
@@ -102,7 +100,7 @@ extension BalancesSectionView: View {
                     LazyView {
                         TransactionsListView(stack: stack.push(),
                                           navTitle: String(localized: 
"Incomplete", comment: "ViewTitle of TransactionList"),
-                                      currencyInfo: currencyInfo,
+                                          currency: currency,
                                       transactions: incompleteTransactions,
                                         showUpDown: false,
                                    reloadAllAction: reloadIncomplete,
@@ -137,8 +135,7 @@ extension BalancesSectionView: View {
                 let threeTransactions = Array(slice)
                 TransactionsArraySliceV(symLog: symLog,
                                          stack: stack.push(),
-                                  currencyInfo: currencyInfo,
-//                                    currency: currency,
+                                      currency: currency,
                                   transactions: threeTransactions,
                                reloadOneAction: reloadOneAction)
             } header: {
@@ -155,8 +152,7 @@ extension BalancesSectionView: View {
 fileprivate struct BalancesPendingRowView: View {
     let symLog: SymLogV?
     let stack: CallStack
-    let currencyInfo: CurrencyInfo?
-//
+    let currency: String // = currencyInfo.scope.currency
     @Binding var pendingTransactions: [Transaction]
     let reloadPending: (_ stack: CallStack) async -> ()
     let reloadOneAction: ((_ transactionId: String) async throws -> 
Transaction)
@@ -183,7 +179,6 @@ fileprivate struct BalancesPendingRowView: View {
     }
 
     var body: some View {
-        let currency: String = currencyInfo?.scope.currency ?? ""
         let (pendingIncoming, pendingOutgoing) = computePending(currency: 
currency)
 
         NavigationLink {
@@ -191,7 +186,7 @@ fileprivate struct BalancesPendingRowView: View {
             LazyView {
                 TransactionsListView(stack: stack.push(),
                                   navTitle: String(localized: "Pending", 
comment: "ViewTitle of TransactionList"),
-                              currencyInfo: currencyInfo,
+                                  currency: currency,
                               transactions: pendingTransactions,
                                 showUpDown: false,
                            reloadAllAction: reloadPending,
@@ -201,11 +196,11 @@ fileprivate struct BalancesPendingRowView: View {
             VStack(spacing: 6) {
                 var rows = 0
                 if !pendingIncoming.isZero {
-                    PendingRowView(amount: pendingIncoming, currencyInfo: 
currencyInfo, incoming: true)
+                    PendingRowView(amount: pendingIncoming, incoming: true)
                     let _ = (rows+=1)
                 }
                 if !pendingOutgoing.isZero {
-                    PendingRowView(amount: pendingOutgoing, currencyInfo: 
currencyInfo, incoming: false)
+                    PendingRowView(amount: pendingOutgoing, incoming: false)
                     let _ = (rows+=1)
                 }
                 if rows == 0 {
@@ -221,9 +216,8 @@ fileprivate struct BalancesPendingRowView: View {
 fileprivate struct BalancesNavigationLinksView: View {
     let stack: CallStack
     let balance: Balance
-    let currencyInfo: CurrencyInfo?
 //    let sectionCount: Int
-    @Binding var centsToTransfer: UInt64
+    @Binding var amountToTransfer: Amount           // does still have the 
wrong currency
     @Binding var summary: String
     @Binding var completedTransactions: [Transaction]
     let reloadAllAction: (_ stack: CallStack) async -> ()
@@ -244,21 +238,26 @@ fileprivate struct BalancesNavigationLinksView: View {
 //        }
     }
 
-    var body: some View {
+    func setCurrency() -> String {
         let currency = balance.scopeInfo.currency
+        amountToTransfer.setCurrency(currency)
+        return currency
+    }
+
+    var body: some View {
+        let currency = setCurrency()                        // update currency 
in amountToTransfer
         HStack(spacing: 0) {
             NavigationLink(destination: LazyView {
                 SendAmount(stack: stack.push(),
                  amountAvailable: balance.available,
-                 centsToTransfer: $centsToTransfer,
+                amountToTransfer: $amountToTransfer,        // with correct 
currency
                          summary: $summary)
             }, tag: 1, selection: $buttonSelected
             ) { EmptyView() }.frame(width: 0).opacity(0).hidden()           // 
SendAmount
 
             NavigationLink(destination: LazyView {
                 RequestPayment(stack: stack.push(),
-                           scopeInfo: balance.scopeInfo,
-                     centsToTransfer: $centsToTransfer,
+                    amountToTransfer: $amountToTransfer,    // with correct 
currency
                              summary: $summary)
             }, tag: 2, selection: $buttonSelected
             ) { EmptyView() }.frame(width: 0).opacity(0).hidden()           // 
RequestPayment
@@ -266,7 +265,7 @@ fileprivate struct BalancesNavigationLinksView: View {
             NavigationLink(destination: LazyView {
                 TransactionsListView(stack: stack.push(),
                                   navTitle: String(localized: "Transactions", 
comment: "ViewTitle of TransactionList"),
-                              currencyInfo: currencyInfo,
+                                  currency: currency,
                               transactions: completedTransactions,
                                 showUpDown: true,
                            reloadAllAction: reloadAllAction,
@@ -274,21 +273,22 @@ fileprivate struct BalancesNavigationLinksView: View {
             }, tag: 3, selection: $buttonSelected
             ) { EmptyView() }.frame(width: 0).opacity(0).hidden()           // 
TransactionsListView
 
-            BalanceRowView(amount: balance.available, currencyInfo: 
currencyInfo,
-                sendAction: {
-                    selectAndUpdate(1)      // will trigger SendAmount 
NavigationLink
-                }, recvAction: {
-                    selectAndUpdate(2)      // will trigger RequestPayment 
NavigationLink
-                }, rowAction: {
-                    buttonSelected = 3      // will trigger TransactionList 
NavigationLink
-                })
+            BalanceRowView(amount: balance.available,
+                       sendAction: {
+                            selectAndUpdate(1)      // trigger SendAmount 
NavigationLink
+                    }, recvAction: {
+                            selectAndUpdate(2)      // trigger RequestPayment 
NavigationLink
+                     }, rowAction: {
+                            buttonSelected = 3      // trigger TransactionList 
NavigationLink
+                     })
         }
     }
 }
 // MARK: -
 #if false   // model crashes
+struct BalancesSectionView_Previews: PreviewProvider {
 fileprivate struct BindingViewContainer: View {
-    @State var centsToTransfer: UInt64 = 333
+    @State var amountToTransfer: UInt64 = 333
     @State private var summary: String = "bla-bla"
 
     var body: some View {
@@ -299,12 +299,11 @@ fileprivate struct BindingViewContainer: View {
                  hasPendingTransactions: true)
         BalancesSectionView(balance: balance,
                        sectionCount: 2,
-                    centsToTransfer: $centsToTransfer,
+                   amountToTransfer: $amountToTransfer,
                             summary: $summary)
     }
 }
 
-struct BalancesSectionView_Previews: PreviewProvider {
     static var previews: some View {
         List {
             BindingViewContainer()

-- 
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]