[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.
- [taler-taler-ios] 14/36: Debugging: Delay currency info, (continued)
- [taler-taler-ios] 14/36: Debugging: Delay currency info, gnunet, 2023/11/13
- [taler-taler-ios] 27/36: Debugging, gnunet, 2023/11/13
- [taler-taler-ios] 30/36: Bugfix, gnunet, 2023/11/13
- [taler-taler-ios] 12/36: DD51 Currency rendering, gnunet, 2023/11/13
- [taler-taler-ios] 24/36: Exchange needs Balance for Deposit, gnunet, 2023/11/13
- [taler-taler-ios] 21/36: amountToTransfer Send, gnunet, 2023/11/13
- [taler-taler-ios] 07/36: Amount(currency:cent:), gnunet, 2023/11/13
- [taler-taler-ios] 06/36: RequestPurpose, gnunet, 2023/11/13
- [taler-taler-ios] 01/36: Startup Chime, gnunet, 2023/11/13
- [taler-taler-ios] 18/36: amountToTransfer Transactions, gnunet, 2023/11/13
- [taler-taler-ios] 17/36: amountToTransfer Balances,
gnunet <=
- [taler-taler-ios] 09/36: cleanup, zero, gnunet, 2023/11/13
- [taler-taler-ios] 29/36: less logging, gnunet, 2023/11/13
- [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