commit 6591f07e94b8361d94dee0174816181f8f6f14b7
parent c429eb06c6e67557834af4102461542b90c8218f
Author: Marc Stibane <marc@taler.net>
Date: Mon, 9 Dec 2024 18:57:04 +0100
use accountID
Diffstat:
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
}
}
}