taler-ios

iOS apps for GNU Taler (wallet)
Log | Files | Refs | README | LICENSE

commit 3dec341e59fefd6d8a5a0126f08d5299557380bf
parent 1c162ddeff671c2f2c6d6025d772fa4b0ef0bc48
Author: Marc Stibane <marc@taler.net>
Date:   Mon, 28 Apr 2025 22:40:26 +0200

oimModeActive

Diffstat:
MTalerWallet1/Views/Actions/Peer2peer/P2PSubjectV.swift | 6++----
MTalerWallet1/Views/Actions/Peer2peer/RequestPayment.swift | 8++++----
MTalerWallet1/Views/Actions/Peer2peer/SendAmountV.swift | 14++++++--------
MTalerWallet1/Views/Balances/BalancesListView.swift | 6++----
MTalerWallet1/Views/HelperViews/CurrencyInputView.swift | 11+++++++++--
MTalerWallet1/Views/Sheets/Payment/PaymentView.swift | 6++----
6 files changed, 25 insertions(+), 26 deletions(-)

diff --git a/TalerWallet1/Views/Actions/Peer2peer/P2PSubjectV.swift b/TalerWallet1/Views/Actions/Peer2peer/P2PSubjectV.swift @@ -178,8 +178,7 @@ struct P2PSubjectV: View { scrollView #if OIM - .overlay { - if #available(iOS 16.4, *) { + .overlay { if #available(iOS 16.4, *) { if controller.oimModeActive { OIMSubjectView(stack: stack.push(), cash: cash, @@ -187,8 +186,7 @@ struct P2PSubjectV: View { fwdButtonTapped: $sendOrRequest) .environmentObject(NamespaceWrapper(namespace)) // keep OIMviews apart } - } - } + } } #endif } } diff --git a/TalerWallet1/Views/Actions/Peer2peer/RequestPayment.swift b/TalerWallet1/Views/Actions/Peer2peer/RequestPayment.swift @@ -19,9 +19,9 @@ struct RequestPayment: View { @EnvironmentObject private var controller: Controller -#if OIM +//#if OIM @StateObject private var cash: OIMcash -#endif +//#endif @State private var balanceIndex = 0 @State private var balance: Balance? = nil // nil only when balances == [] @State private var currencyInfo: CurrencyInfo = CurrencyInfo.zero(UNKNOWN) @@ -40,10 +40,10 @@ struct RequestPayment: View { self.selectedBalance = selectedBalance self._amountLastUsed = amountLastUsed self._summary = summary -#if OIM +//#if OIM let currency = selectedIndex == 1 ? OIMleones : OIMeuros self._cash = StateObject(wrappedValue: { OIMcash(currency) }()) -#endif +//#endif } @MainActor diff --git a/TalerWallet1/Views/Actions/Peer2peer/SendAmountV.swift b/TalerWallet1/Views/Actions/Peer2peer/SendAmountV.swift @@ -20,9 +20,9 @@ struct SendAmountV: View { @EnvironmentObject private var controller: Controller @EnvironmentObject private var model: WalletModel -#if OIM +//#if OIM @StateObject private var cash: OIMcash -#endif +//#endif @State private var balanceIndex = 0 @State private var balance: Balance? = nil // nil only when balances == [] @State private var currencyInfo: CurrencyInfo = CurrencyInfo.zero(UNKNOWN) @@ -44,10 +44,10 @@ struct SendAmountV: View { self.selectedBalance = selectedBalance self._amountLastUsed = amountLastUsed self._summary = summary -#if OIM +//#if OIM let currency = selectedIndex == 1 ? OIMleones : OIMeuros self._cash = StateObject(wrappedValue: { OIMcash(currency) }()) -#endif +//#endif } @MainActor @@ -133,8 +133,7 @@ struct SendAmountV: View { // print(">>> SendAmountV.task", taskID, avail, amountAvailable, stack.peek()?.file) } #if OIM - .overlay { - if #available(iOS 16.4, *) { + .overlay { if #available(iOS 16.4, *) { if controller.oimModeActive { // let _ = print(">>> SendAmountV", amountAvailable, amountToTransfer, stack.peek()?.file) let available = !amountAvailable.isZero ? amountAvailable @@ -149,8 +148,7 @@ struct SendAmountV: View { fwdButtonTapped: $buttonSelected) .environmentObject(NamespaceWrapper(namespace)) // keep OIMviews apart } - } - } + } } #endif if #available(iOS 16.4, *) { scrollView.toolbar(.hidden, for: .tabBar) diff --git a/TalerWallet1/Views/Balances/BalancesListView.swift b/TalerWallet1/Views/Balances/BalancesListView.swift @@ -71,8 +71,7 @@ struct BalancesListView: View { } } #if OIM - .overlay { - if #available(iOS 16.4, *) { + .overlay { if #available(iOS 16.4, *) { if controller.oimModeActive { OIMView(stack: stack.push(), selectedBalance: $selectedBalance, // set to user choice @@ -80,8 +79,7 @@ struct BalancesListView: View { qrButtonTapped: $qrButtonTapped) .environmentObject(NamespaceWrapper(namespace)) // keep OIMviews apart } - } - } + } } #endif } } diff --git a/TalerWallet1/Views/HelperViews/CurrencyInputView.swift b/TalerWallet1/Views/HelperViews/CurrencyInputView.swift @@ -206,13 +206,18 @@ struct CurrencyInputView: View { .padding(.vertical, 6) } // iOS 16+ only }.onAppear { // make CurrencyField show the keyboard after 0.4 seconds +#if OIM + let oimModeActive = controller.oimModeActive +#else + let oimModeActive = false +#endif if hasBeenShown { // print("❗️Yikes: CurrencyInputView hasBeenShown") - } else if !UIAccessibility.isVoiceOverRunning && !controller.oimModeActive { + } else if !UIAccessibility.isVoiceOverRunning && !oimModeActive { // print("❗️CurrencyInputView❗️") DispatchQueue.main.asyncAfter(deadline: .now() + 0.7) { hasBeenShown = true - if !controller.oimModeActive { + if !oimModeActive { if !currencyField.becomeFirstResponder() { print("❗️Yikes❗️ cannot becomeFirstResponder") } @@ -223,9 +228,11 @@ struct CurrencyInputView: View { currencyField.resignFirstResponder() hasBeenShown = false } +#if OIM .onChange(of: controller.oimModeActive) {_ in currencyField.resignFirstResponder() } +#endif } } // MARK: - diff --git a/TalerWallet1/Views/Sheets/Payment/PaymentView.swift b/TalerWallet1/Views/Sheets/Payment/PaymentView.swift @@ -299,14 +299,12 @@ struct PaymentView: View, Sendable { symLog.log("Info(for: \(currency)) loaded: \(currencyInfo.name)") } #if OIM - .overlay { - if #available(iOS 16.4, *) { + .overlay { if #available(iOS 16.4, *) { if controller.oimSheetActive { OIMpayView(stack: stack.push(), amount: effective) } - } - } + } } #endif } else { LoadingView(stack: stack.push(), scopeInfo: nil, message: url.host)