taler-ios

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

commit a92ded75ecee6d6887be7a16efdbc79bc3753582
parent 70078e555dd4fa9b3517802f1edc9cf1e1bc6691
Author: Marc Stibane <marc@taler.net>
Date:   Sun,  6 Apr 2025 13:02:48 +0200

NamespaceWrapper

Diffstat:
MTalerWallet1/Views/Actions/Peer2peer/P2PSubjectV.swift | 2++
MTalerWallet1/Views/Actions/Peer2peer/SendAmountV.swift | 2++
MTalerWallet1/Views/Balances/BalancesListView.swift | 2++
MTalerWallet1/Views/Main/MainView.swift | 9++++++++-
4 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/TalerWallet1/Views/Actions/Peer2peer/P2PSubjectV.swift b/TalerWallet1/Views/Actions/Peer2peer/P2PSubjectV.swift @@ -39,6 +39,7 @@ struct P2PSubjectV: View { @State private var transactionStarted: Bool = false @State private var sendOrRequest: Bool = false @FocusState private var isFocused: Bool + @Namespace var namespace private func sendTitle(_ amountWithCurrency: String) -> String { String(localized: "Send \(amountWithCurrency) now", @@ -181,6 +182,7 @@ struct P2PSubjectV: View { scope: scope, amount: $amountToTransfer, buttonSelected: $sendOrRequest) + .environmentObject(NamespaceWrapper(namespace)) // keep OIMviews apart } } } diff --git a/TalerWallet1/Views/Actions/Peer2peer/SendAmountV.swift b/TalerWallet1/Views/Actions/Peer2peer/SendAmountV.swift @@ -26,6 +26,7 @@ struct SendAmountV: View { @State private var amountToTransfer = Amount.zero(currency: EMPTYSTRING) // Update currency when used @State private var amountAvailable = Amount.zero(currency: EMPTYSTRING) // GetMaxPeerPushAmount @State private var buttonSelected = false + @Namespace var namespace @MainActor private func viewDidLoad() async { @@ -110,6 +111,7 @@ struct SendAmountV: View { amount: $amountToTransfer, available: $amountAvailable, buttonSelected: $buttonSelected) + .environmentObject(NamespaceWrapper(namespace)) // keep OIMviews apart } } if #available(iOS 16.0, *) { diff --git a/TalerWallet1/Views/Balances/BalancesListView.swift b/TalerWallet1/Views/Balances/BalancesListView.swift @@ -24,6 +24,7 @@ struct BalancesListView: View { @State private var amountToTransfer = Amount.zero(currency: EMPTYSTRING) // Update currency when used @State private var summary = EMPTYSTRING + @Namespace var namespace private static func className() -> String {"\(self)"} @@ -72,6 +73,7 @@ struct BalancesListView: View { scope: balance?.scopeInfo, amount: balance?.available, qrButtonTapped: $qrButtonTapped) + .environmentObject(NamespaceWrapper(namespace)) // keep OIMviews apart } } } diff --git a/TalerWallet1/Views/Main/MainView.swift b/TalerWallet1/Views/Main/MainView.swift @@ -217,13 +217,20 @@ enum Tab: Int, Hashable, CaseIterable { Label(self) } } +// MARK: - +class NamespaceWrapper: ObservableObject { + var namespace: Namespace.ID + init(_ namespace: Namespace.ID) { + self.namespace = namespace + } +} +// MARK: - extension Label where Title == Text, Icon == Image { init(_ tab: Tab) { self.init(EMPTYSTRING, systemImage: tab.a11y) } } - // MARK: - Content extension MainView {