taler-ios

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

commit e2a3f82b4f4a6ea7516e4a69edd5650243040c29
parent 747785810ebb06d66725719612576845883ea186
Author: Marc Stibane <marc@taler.net>
Date:   Sun, 13 Apr 2025 13:23:43 +0200

CallStack

Diffstat:
MTalerWallet1/Views/OIM/OIMView.swift | 2+-
MTalerWallet1/Views/OIM/OIMcoinStackV.swift | 4++--
MTalerWallet1/Views/OIM/OIMcurrencyScroller.swift | 12+++++++++---
MTalerWallet1/Views/OIM/OIMcurrencyViews2.swift | 4+++-
4 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/TalerWallet1/Views/OIM/OIMView.swift b/TalerWallet1/Views/OIM/OIMView.swift @@ -189,7 +189,7 @@ struct OIMEditView: View { availableVal = intValue(available) - intValue(amount) } Spacer() - OIMcurrencyScroller(currency: currency, + OIMcurrencyScroller(stack: stack.push(), availableVal: $availableVal, amountVal: $amountVal, tappedVal: $tappedVal, diff --git a/TalerWallet1/Views/OIM/OIMcoinStackV.swift b/TalerWallet1/Views/OIM/OIMcoinStackV.swift @@ -89,7 +89,7 @@ struct OIMcoinStackV1: View { let shakeOffset: CGFloat = shake && !match ? .random(in: 5...10) : .zero let direction = value < tappedVal - OIMcurrencyButton(//stack: stack.push(), + OIMcurrencyButton(stack: stack.push(), value: value, currency: currency, availableVal: value, @@ -150,7 +150,7 @@ struct OIMcoinStackV2: View { let shakeOffset: CGFloat = (cash.shake != 0) && !match ? .random(in: 5...10) : .zero let direction = value < tappedVal - OIMcurrencyButton(//stack: stack.push(), + OIMcurrencyButton(stack: stack.push(), value: value, currency: cash.currency, availableVal: value, diff --git a/TalerWallet1/Views/OIM/OIMcurrencyScroller.swift b/TalerWallet1/Views/OIM/OIMcurrencyScroller.swift @@ -10,13 +10,14 @@ import taler_swift // renders all banknotes and coins in 1 horizontal scrollview struct OIMcurrencyScroller: View { - let currency: OIMcurrency + let stack: CallStack @Binding var availableVal: UInt64 @Binding var amountVal: UInt64 @Binding var tappedVal: UInt64 @Binding var flying: UInt64 @Binding var shake: Bool + @EnvironmentObject private var cash: OIMcash @EnvironmentObject private var wrapper: NamespaceWrapper func tap(value: UInt64, _ delay: Int = 250) { @@ -50,13 +51,16 @@ struct OIMcurrencyScroller: View { } } var body: some View { + let currency = cash.currency ScrollView(.horizontal) { HStack(alignment: .bottom, spacing: 10) { ForEach(currency.bankNotes, id: \.self) { value in - OIMcurrencyButton(value: value, + OIMcurrencyButton(stack: stack.push(), + value: value, currency: currency, availableVal: availableVal, canEdit: true, +// isFlipped: false, pct: 0.0, action: { tap(value: value) } ) @@ -64,10 +68,12 @@ struct OIMcurrencyScroller: View { .matchedGeometryEffect(id: String(value), in: wrapper.namespace, isSource: true) } ForEach(currency.bankCoins, id: \.self) { value in - OIMcurrencyButton(value: value, + OIMcurrencyButton(stack: stack.push(), + value: value, currency: currency, availableVal: availableVal, canEdit: true, +// isFlipped: false, pct: 0.0, action: { tap(value: value) } ) diff --git a/TalerWallet1/Views/OIM/OIMcurrencyViews2.swift b/TalerWallet1/Views/OIM/OIMcurrencyViews2.swift @@ -41,10 +41,12 @@ struct OIMnoteStackV: View { : .zero let direction = value < tappedVal // let _ = print("id \(id), flying \(flying), shaking \(shakeOffset)") - OIMcurrencyButton(value: value, + OIMcurrencyButton(stack: stack.push(), + value: value, currency: currency, availableVal: value, canEdit: canEdit, +// isFlipped: false, // TODO: Flip coin pct: match ? 0.0 : 1.0, action: action) .offset(x: xOffset + (direction ? shakeOffset : -shakeOffset),