taler-ios

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

commit 1f03c649ae05ed8c3ef38655d64e986dd7cc60e1
parent 96a637c16a52a7606d14e510fdaff76f50176875
Author: Marc Stibane <marc@taler.net>
Date:   Mon,  3 Aug 2026 18:54:10 +0200

simplify parameters, move stuff into common routine

Diffstat:
MTalerWallet1/Views/Transactions/KYCauth.swift | 11+++--------
MTalerWallet1/Views/Transactions/ManualDetailsV.swift | 10+++-------
MTalerWallet1/Views/Transactions/ManualDetailsWireV.swift | 25++++++++++++-------------
3 files changed, 18 insertions(+), 28 deletions(-)

diff --git a/TalerWallet1/Views/Transactions/KYCauth.swift b/TalerWallet1/Views/Transactions/KYCauth.swift @@ -83,17 +83,12 @@ struct KYCauth: View { if let receiverStr = payto.receiver { let wireDetails = ManualDetailsWireV(stack: stack.push(), reservePub: info.accountPub, - receiverStr: receiverStr, - receiverZip: payto.postalCode, - receiverTown: payto.town, - iban: payto.iban, - cyclos: payto.cyclos ?? EMPTYSTRING, - xTaler: payto.xTaler ?? EMPTYSTRING, + payto: payto, + restrictions: account.creditRestrictions, amountValue: amountValue, amountStr: amountStr, obtainStr: nil, // only for withdrawal - debitIBAN: debitPayTo.iban, - account: account) + debitIBAN: debitPayTo.iban) NavigationLink(destination: wireDetails) { Text(minimalistic ? "Instructions" : "Wire transfer instructions") diff --git a/TalerWallet1/Views/Transactions/ManualDetailsV.swift b/TalerWallet1/Views/Transactions/ManualDetailsV.swift @@ -91,17 +91,13 @@ struct ManualDetailsV: View { if let receiverStr = payto.receiver { let wireDetails = ManualDetailsWireV(stack: stack.push(), reservePub: details.reservePub, - receiverStr: receiverStr, - receiverZip: payto.postalCode, - receiverTown: payto.town, - iban: payto.iban, - cyclos: payto.cyclos ?? EMPTYSTRING, - xTaler: payto.xTaler ?? EMPTYSTRING, + payto: payto, + restrictions: account.creditRestrictions, amountValue: amountValue, amountStr: amountStr, obtainStr: obtainStr, debitIBAN: nil, // only for deposit auth - account: account) + ) Group { NavigationLink(destination: wireDetails) { Text(minimalistic ? "Instructions" diff --git a/TalerWallet1/Views/Transactions/ManualDetailsWireV.swift b/TalerWallet1/Views/Transactions/ManualDetailsWireV.swift @@ -252,17 +252,14 @@ struct XTalerCode: View { struct ManualDetailsWireV: View { let stack: CallStack let reservePub: String - let receiverStr: String - let receiverZip: String? - let receiverTown: String? - let iban: String? // TODO: BBAN - let cyclos: String - let xTaler: String + let payto: PayTo + + let restrictions: [AccountRestriction]? // only if restrictions apply +// let iban: String? // TODO: BBAN let amountValue: String // string representation of the value, formatted as "`integer`.`fraction`" let amountStr: (String, String) let obtainStr: (String, String)? // only for withdrawal let debitIBAN: String? // only for deposit auth - let account: ExchangeAccountDetails @AppStorage("minimalistic") var minimalistic: Bool = false let navTitle = String(localized: "Wire transfer", comment: "ViewTitle of wire-transfer instructions") @@ -297,6 +294,7 @@ struct ManualDetailsWireV: View { var body: some View { + if let receiverStr = payto.receiver { List { let cryptoString = debitIBAN == nil ? reservePub : "kyc" + reservePub let step2 = Text(minimalistic ? "**Step 2:** Copy+Paste this subject:" @@ -333,30 +331,30 @@ struct ManualDetailsWireV: View { TransferRestrictionsV(amountStr: amountStr, obtainStr: obtainStr, debitIBAN: debitIBAN, - restrictions: account.creditRestrictions) + restrictions: restrictions) .listRowSeparator(.visible) if !minimalistic { mandatory } - if let iban { + if let iban = payto.iban { step1i PayeeReceiver(receiverStr: receiverStr) - if let receiverZip { + if let receiverZip = payto.postalCode { if !receiverZip.isEmpty { PayeeZip(receiverZip: receiverZip) } } - if let receiverTown { + if let receiverTown = payto.town { if !receiverTown.isEmpty { PayeeTown(receiverTown: receiverTown) } } IbanCode(iban: iban) - } else if !cyclos.isEmpty { + } else if let cyclos = payto.cyclos, !cyclos.isEmpty { step1x PayeeReceiver(receiverStr: receiverStr) // cyclosCode() - } else { + } else if let xTaler = payto.xTaler { step1x PayeeReceiver(receiverStr: receiverStr) XTalerCode(xTaler: xTaler) @@ -373,6 +371,7 @@ struct ManualDetailsWireV: View { // symLog.log("onAppear") DebugViewC.shared.setViewID(VIEW_WITHDRAW_INSTRUCTIONS, stack: stack.push()) } + } // if receiverStr } }