commit 94c4ae0e8f81a46fc1d63193a28447e9a35a5918
parent 6ecc15160d54b16aac83c798fe7b7044eef170da
Author: Marc Stibane <marc@taler.net>
Date: Sat, 6 Sep 2025 07:21:24 +0200
keep balance if it's the only one
Diffstat:
2 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/TalerWallet1/Views/Balances/BalancesListView.swift b/TalerWallet1/Views/Balances/BalancesListView.swift
@@ -68,7 +68,9 @@ struct BalancesListView: View {
DebugViewC.shared.setViewID(VIEW_BALANCES, stack: stack.push("onAppear"))
if !controller.oimModeActive {
print("🚩BalancesListView.onAppear() reset selectedBalance")
- selectedBalance = nil // reset
+ if controller.balances.count > 1 {
+ selectedBalance = nil // reset
+ }
}
}
.listStyle(myListStyle.style).anyView
@@ -78,7 +80,9 @@ struct BalancesListView: View {
}.onChange(of: controller.oimModeActive) { oimModeActive in
if !oimModeActive {
print("🚩BalancesListView.onChange(of: oimModeActive) reset selectedBalance")
- selectedBalance = nil // reset
+ if controller.balances.count > 1 {
+ selectedBalance = nil // reset
+ }
}
}
#if OIM
diff --git a/TalerWallet1/Views/OIM/OIMbalances.swift b/TalerWallet1/Views/OIM/OIMbalances.swift
@@ -37,7 +37,7 @@ struct OIMbalances: View {
@EnvironmentObject private var controller: Controller
@EnvironmentObject private var wrapper: NamespaceWrapper
- @StateObject private var cash = OIMcash(OIMeuros)
+ @StateObject private var cash: OIMcash
@State private var availableVal: UInt64 = 0
@State private var tappedVal: UInt64 = 0 // unused, canEdit == false
@State private var available: Amount? = nil
@@ -45,6 +45,21 @@ struct OIMbalances: View {
@State private var closing = false // debounce tap (on open chest to close it)
@State private var balanceIndex: Int? = nil
+ init(stack: CallStack,
+ selectedBalance: Binding<Balance?>,
+ qrButtonTapped: Binding<Bool>,
+ historyTapped: Binding<Int?>
+ ) {
+ self.stack = stack
+ self._selectedBalance = selectedBalance
+ self._qrButtonTapped = qrButtonTapped
+ self._historyTapped = historyTapped
+
+ let oimCurrency = oimCurrency(selectedBalance.wrappedValue) // might be nil ==> OIMeuros
+ let oimCash = OIMcash(oimCurrency)
+ self._cash = StateObject(wrappedValue: { oimCash }())
+ }
+
func requestTapped() {
}
@@ -104,7 +119,6 @@ struct OIMbalances: View {
selectedBalance = balance
balanceIndex = index
viewState = .chestIsOpen
-// cash.setIndex(index)
cash.setCurrency(oimCurrency)
available = balance.available
availableVal = balance.available.centValue // TODO: centValue factor