taler-ios

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

commit 6591f07e94b8361d94dee0174816181f8f6f14b7
parent c429eb06c6e67557834af4102461542b90c8218f
Author: Marc Stibane <marc@taler.net>
Date:   Mon,  9 Dec 2024 18:57:04 +0100

use accountID

Diffstat:
MTalerWallet1/Views/Settings/Bank/BankEditView.swift | 36++++++++++++++++++++----------------
MTalerWallet1/Views/Settings/Bank/BankListView.swift | 2+-
MTalerWallet1/Views/Settings/Bank/BankSectionView.swift | 11++++-------
3 files changed, 25 insertions(+), 24 deletions(-)

diff --git a/TalerWallet1/Views/Settings/Bank/BankEditView.swift b/TalerWallet1/Views/Settings/Bank/BankEditView.swift @@ -14,7 +14,7 @@ import SymLog struct BankEditView: View { private let symLog = SymLogV(0) let stack: CallStack - let account: BankAccountsInfo + let accountID: String? @EnvironmentObject private var model: WalletModel @EnvironmentObject private var controller: Controller @@ -29,12 +29,13 @@ struct BankEditView: View { @State private var disabled: Bool = false @State private var showAlert: Bool = false @State private var purge: Bool = false - @State private var global: Bool = false +// @State private var global: Bool = false @State private var accountHolder: String = EMPTYSTRING @State private var iban: String = EMPTYSTRING @State private var xTaler: String = EMPTYSTRING @State private var label: String = EMPTYSTRING @State private var paytoType: PaytoType = .iban + @State private var currencies: [String] = [] @State private var selected = 0 @FocusState private var focus:FocusedField? @@ -54,17 +55,20 @@ struct BankEditView: View { @MainActor private func viewDidLoad() async { - let payURL = URL(string: account.paytoUri) - iban = payURL?.iban ?? EMPTYSTRING - xTaler = payURL?.xTaler ?? EMPTYSTRING - label = account.label ?? EMPTYSTRING - if let queryParameters = payURL?.queryParameters { - let name = if let rcv = queryParameters["receiver-name"] { - rcv.replacingOccurrences(of: "+", with: SPACE) - } else { - ownerName + if let accountID { + if let account = try? await model.getBankAccountById(accountID) { + let payURL = URL(string: account.paytoUri) + iban = payURL?.iban ?? EMPTYSTRING + xTaler = payURL?.xTaler ?? EMPTYSTRING + label = account.label ?? EMPTYSTRING + if let queryParameters = payURL?.queryParameters { + let name = queryParameters["receiver-name"] ?? ownerName + accountHolder = name.replacingOccurrences(of: "+", with: SPACE) + } + currencies = account.currencies ?? [] } - accountHolder = name + } else { + } } @@ -148,15 +152,15 @@ struct BankEditView: View { }.padding(.bottom) - if account.currencies.count == 1 { - let currency = account.currencies[0] + if currencies.count == 1 { + let currency = currencies[0] Text(minimalistic ? currency : "Currency: \(currency)") - } else { + } else if currencies.count > 1 { if !minimalistic { Text("Currencies:") } - ForEach (account.currencies, id: \.self) { currency in + ForEach (currencies, id: \.self) { currency in Text(currency) .padding(.leading) } diff --git a/TalerWallet1/Views/Settings/Bank/BankListView.swift b/TalerWallet1/Views/Settings/Bank/BankListView.swift @@ -77,7 +77,7 @@ struct BankListView: View { } let addBankDest = BankEditView(stack: stack.push(), - account: nil) + accountID: nil) let actions = Group { NavLink($showAddDialog) { addBankDest } } diff --git a/TalerWallet1/Views/Settings/Bank/BankSectionView.swift b/TalerWallet1/Views/Settings/Bank/BankSectionView.swift @@ -27,9 +27,8 @@ struct BankSectionView: View { @State private var currencyInfo: CurrencyInfo = CurrencyInfo.zero(UNKNOWN) @State private var didDelete: Bool = false @State private var disabled: Bool = false - @State private var showAlert: Bool = false - @State private var purge: Bool = false - @State private var global: Bool = false +// @State private var purge: Bool = false + @State private var accountHolder: String = EMPTYSTRING @State private var iban: String = EMPTYSTRING @State private var xTaler: String = EMPTYSTRING @@ -81,7 +80,6 @@ struct BankSectionView: View { // demoHints = true // } else { // purge = true -// showAlert = true // disabled = false // } } @@ -102,7 +100,7 @@ struct BankSectionView: View { Section { NavigationLink { BankEditView(stack: stack.push(), - account: account) + accountID: account.bankAccountId) } label: { VStack(alignment: .leading) { if let currencies = account.currencies { @@ -139,10 +137,9 @@ struct BankSectionView: View { print($0) } .task { await viewDidLoad() } -// .task(id: controller.currencyTicker) { await currencyTickerChanged(scopeInfo) } .onDisappear() { disabled = false - purge = false +// purge = false } } }