commit 8d721d763a65b65ac14922064f69af4e30bd8125
parent 5c96a507ef02010c51e0c0089c26da3b65111b56
Author: Marc Stibane <marc@taler.net>
Date: Wed, 23 Jul 2025 07:11:32 +0200
- selectedChestIndex
Diffstat:
5 files changed, 12 insertions(+), 31 deletions(-)
diff --git a/TalerWallet1/Views/Actions/Peer2peer/RequestPayment.swift b/TalerWallet1/Views/Actions/Peer2peer/RequestPayment.swift
@@ -31,7 +31,6 @@ struct RequestPayment: View {
init(stack: CallStack,
selectedBalance: Balance?,
- selectedChestIndex: Int?, // OIM TODO: use balance
amountLastUsed: Binding<Amount>,
summary: Binding<String>,
iconID: Binding<String?>
@@ -44,7 +43,8 @@ struct RequestPayment: View {
self._amountLastUsed = amountLastUsed
self._summary = summary
self._iconID = iconID
- let oimCash = OIMcash(selectedChestIndex)
+ let oimCurrency = oimCurrency(selectedBalance) // might be nil ==> OIMeuros
+ let oimCash = OIMcash(oimCurrency)
self._cash = StateObject(wrappedValue: { oimCash }())
}
diff --git a/TalerWallet1/Views/Actions/Peer2peer/SendAmountV.swift b/TalerWallet1/Views/Actions/Peer2peer/SendAmountV.swift
@@ -34,7 +34,6 @@ struct SendAmountV: View {
init(stack: CallStack,
selectedBalance: Balance?,
- selectedChestIndex: Int?, // OIM TODO: use balance
amountLastUsed: Binding<Amount>,
summary: Binding<String>,
iconID: Binding<String?>
@@ -47,7 +46,8 @@ struct SendAmountV: View {
self._amountLastUsed = amountLastUsed
self._summary = summary
self._iconID = iconID
- let oimCash = OIMcash(selectedChestIndex)
+ let oimCurrency = oimCurrency(selectedBalance) // might be nil ==> OIMeuros
+ let oimCash = OIMcash(oimCurrency)
self._cash = StateObject(wrappedValue: { oimCash }())
}
@@ -188,7 +188,6 @@ fileprivate struct Preview_Content: View {
flags: [])
SendAmountV(stack: CallStack("Preview"),
selectedBalance: noBalance,
- selectedChestIndex: nil, // preview
amountLastUsed: $amountToPreview,
summary: $summary,
iconID: $iconID)
diff --git a/TalerWallet1/Views/Balances/BalancesListView.swift b/TalerWallet1/Views/Balances/BalancesListView.swift
@@ -15,7 +15,6 @@ struct BalancesListView: View {
private let symLog = SymLogV(0)
let stack: CallStack
@Binding var selectedBalance: Balance? // set in TransactionsListView
- @Binding var selectedChestIndex: Int? // OIM TODO: use balance
@Binding var reloadTransactions: Int
@Binding var qrButtonTapped: Bool
@@ -79,7 +78,6 @@ struct BalancesListView: View {
if controller.oimModeActive {
OIMbalances(stack: stack.push(),
selectedBalance: $selectedBalance, // set to user choice
- selectedChestIndex: $selectedChestIndex, // OIM TODO: use balance
qrButtonTapped: $qrButtonTapped,
historyTapped: $historyTapped)
.environmentObject(NamespaceWrapper(namespace)) // keep OIMviews apart
diff --git a/TalerWallet1/Views/Main/MainView.swift b/TalerWallet1/Views/Main/MainView.swift
@@ -34,7 +34,6 @@ struct MainView: View {
@StateObject private var tabBarModel = TabBarModel()
@State private var selectedBalance: Balance? = nil // for sheets, gets set in TransactionsListView
- @State private var selectedChestIndex: Int? = nil // select in OIMbalances TODO: use balance
@State private var urlToOpen: URL? = nil
@State private var showUrlSheet = false
@State private var showActionSheet = false
@@ -73,7 +72,6 @@ struct MainView: View {
let mainContent = ZStack {
MainContent(logger: logger, stack: stack.push("Content"),
selectedBalance: $selectedBalance,
- selectedChestIndex: $selectedChestIndex, // OIM TODO: use balance
talerFontIndex: $talerFontIndex,
showActionSheet: $showActionSheet,
showScanner: $showScanner,
@@ -327,7 +325,6 @@ extension MainView {
let logger: Logger
let stack: CallStack
@Binding var selectedBalance: Balance?
- @Binding var selectedChestIndex: Int? // OIM TODO: use balance
@Binding var talerFontIndex: Int
@Binding var showActionSheet: Bool
@Binding var showScanner: Bool
@@ -411,13 +408,11 @@ extension MainView {
/// Destinations for the 4 actions
let sendDest = SendAmountV(stack: stack.push(Self.name),
selectedBalance: selectedBalance, // if nil shows currency picker
- selectedChestIndex: selectedChestIndex, // OIM TODO: use balance
amountLastUsed: $amountLastUsed, // currency needs to be updated!
summary: $summary,
iconID: $iconID)
let requestDest = RequestPayment(stack: stack.push(Self.name),
selectedBalance: selectedBalance,
- selectedChestIndex: selectedChestIndex, // OIM TODO: use balance
amountLastUsed: $amountLastUsed, // currency needs to be updated!
summary: $summary,
iconID: $iconID)
@@ -458,7 +453,6 @@ extension MainView {
let balancesStack = NavigationView {
BalancesListView(stack: stack.push(balancesTitle),
selectedBalance: $selectedBalance, // for sheets, pass down to TransactionsListView
- selectedChestIndex: $selectedChestIndex, // OIM TODO: use balance
// shouldReloadPending: $shouldReloadPending,
reloadTransactions: $shouldReloadTransactions,
qrButtonTapped: $qrButtonTapped)
diff --git a/TalerWallet1/Views/OIM/OIMbalances.swift b/TalerWallet1/Views/OIM/OIMbalances.swift
@@ -30,7 +30,6 @@ struct OIMbalances: View {
let stack: CallStack
// let decimal: Int // 0 for ¥,HUF; 2 for $,€,£; 3 for ﷼,₯ (arabic)
@Binding var selectedBalance: Balance? // return user's choice
- @Binding var selectedChestIndex: Int? // OIM TODO: use balance
@Binding var qrButtonTapped: Bool
@Binding var historyTapped: Int?
@@ -87,7 +86,6 @@ struct OIMbalances: View {
withAnimation(.basic1) {
chestOpen = nil
selectedBalance = nil
- selectedChestIndex = nil
available = nil
// showingActions = false
viewState = .chestsClosed
@@ -115,7 +113,6 @@ struct OIMbalances: View {
chestOpen = index
selectedBalance = balance
balanceIndex = index
-// selectedChestIndex
viewState = .chestIsOpen
cash.setIndex(index)
available = balance.available
@@ -169,7 +166,7 @@ struct OIMbalances: View {
!available.isZero
} else { false }
let topButtons = HStack(alignment: .top) {
- if selectedChestIndex == nil {
+ if selectedBalance == nil {
let showQR = viewState == .chestsClosed
QRButton(hideTitle: true) {
qrButtonTapped = true
@@ -209,7 +206,7 @@ struct OIMbalances: View {
history: viewState == .historyShown,
secondAmount: nil) // appears in OIMEditView
Spacer()
- let isOpen = selectedChestIndex != nil
+ let isOpen = selectedBalance != nil
ZStack {
sidePosition
// let scaleMoney = viewState == .chestIsOpen
@@ -236,14 +233,10 @@ struct OIMbalances: View {
// two savings chests (Euro and Sierra Leone)
Spacer()
HStack(spacing: 30) {
- let balance = controller.balances[0]
-// ForEach(controller.balances, id: \.self) { balance in
-// OIMbalanceButton(isOpen: selectedBalance == balance) {
-
- ForEach(0..<OIMcurrencies.count, id: \.self) { index in
- let oimCurrency = OIMcurrencies[index]
- let itsMe = selectedChestIndex == index
- let isClosed = selectedChestIndex == nil
+ ForEach(Array(controller.balances.enumerated()), id: \.element) { index, balance in
+ let oimCurrency = oimCurrency(balance)
+ let itsMe = selectedBalance == balance
+ let isClosed = selectedBalance == nil
let size = isClosed ? 160.0 : OIMbuttonSize
ZStack {
OIMbalanceButton(isOpen: itsMe, chest: oimCurrency.chest, isFinal: false) {
@@ -286,10 +279,8 @@ struct OIMbalances: View {
}
}
.onAppear {
-// showingActions = false
- if (selectedChestIndex != nil) {
- let balance = controller.balances[0]
- available = balance.available
+ if let selectedBalance {
+ available = selectedBalance.available
availableVal = available?.centValue ?? 0
cash.update2(availableVal) // set cash to available
// showingActions = true
@@ -302,7 +293,6 @@ struct OIMbalances: View {
.onDisappear {
cash.moveBack()
// sending = false
- viewState = (selectedChestIndex != nil) ? .chestIsOpen : .chestsClosed
}
}
}