taler-ios

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

commit 0c657e9dfe14ba35ff939134e6e87e04b25e59e1
parent 56a80a4b2995f2f71584d860fb9fef42fb44b400
Author: Marc Stibane <marc@taler.net>
Date:   Sat, 30 Aug 2025 06:30:42 +0200

Zoom buttons

Diffstat:
MTalerWallet1/Controllers/PublicConstants.swift | 5+++++
MTalerWallet1/Views/HelperViews/Buttons.swift | 60++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 63 insertions(+), 2 deletions(-)

diff --git a/TalerWallet1/Controllers/PublicConstants.swift b/TalerWallet1/Controllers/PublicConstants.swift @@ -99,6 +99,11 @@ public let SYSTEM_RECOUP1 = "exclamationmark.circle" // 􀁞 􀁟 public let ICONNAME_DENOMLOSS = "taler.denomloss" // 􀇾 􀇿 public let SYSTEM_DENOMLOSS1 = "exclamationmark.triangle" // 􀇾 􀇿 1.0 (iOS 13) +public let ICONNAME_ZOOM_IN = "taler.left.and.right.fill" // 􀟦 3.0 (iOS 15) +public let ICONNAME_ZOOM_OUT = "taler.right.and.left.fill" // 􀟧 3.0 (iOS 15) +public let SYSTEM_ZOOM_IN = "arrowtriangle.left.and.line.vertical.and.arrowtriangle.right.fill" // 􀟦 3.0 (iOS 15) +public let SYSTEM_ZOOM_OUT = "arrowtriangle.right.and.line.vertical.and.arrowtriangle.left.fill" // 􀟧 3.0 (iOS 15) + public let HTTPS = "https://" //public let DEMOBANK = HTTPS + "bAnK.dEmO.tAlEr.nEt" // should be weird to read, but still work //public let DEMOEXCHANGE = HTTPS + "eXcHaNgE.dEmO.tAlEr.nEt" diff --git a/TalerWallet1/Views/HelperViews/Buttons.swift b/TalerWallet1/Views/HelperViews/Buttons.swift @@ -153,12 +153,59 @@ struct PlusButton : View { } } +struct ZoomInButton : View { + let accessibilityLabelStr: String + let action: () -> Void + + var body: some View { + Button(action: action) { + let name = ICONNAME_ZOOM_IN + if UIImage(named: name) != nil { + Image(name) + } else { + Image(systemName: SYSTEM_ZOOM_IN) + } + } + .tint(.accentColor) + .talerFont(.title) + .accessibilityLabel(accessibilityLabelStr) + } +} + +struct ZoomOutButton : View { + let accessibilityLabelStr: String + let action: () -> Void + + var body: some View { + Button(action: action) { + let name = ICONNAME_ZOOM_OUT + if UIImage(named: name) != nil { + Image(name) + } else { + Image(systemName: SYSTEM_ZOOM_OUT) + } + } + .tint(.accentColor) + .talerFont(.title) + .accessibilityLabel(accessibilityLabelStr) + } +} + struct BackButton : View { let action: () -> Void var body: some View { Button(action: action) { - Image(ICONNAME_INCOMING + ICONNAME_FILL) + let name = ICONNAME_INCOMING + ICONNAME_FILL + let sysName = SYSTEM_INCOMING4 + ICONNAME_FILL + if UIImage(named: name) != nil { + Image(name) + } else if UIImage(systemName: sysName) != nil { + Image(systemName: sysName) + } else { + // TODO: ultralight vs black + Image(systemName: FALLBACK_INCOMING) + } } .tint(.accentColor) .talerFont(.largeTitle) @@ -179,7 +226,16 @@ struct ForwardButton : View { Button(action: myAction) { let imageName = enabled ? ICONNAME_OUTGOING + ICONNAME_FILL : ICONNAME_OUTGOING - Image(imageName) + let sysName = enabled ? SYSTEM_OUTGOING4 + ICONNAME_FILL + : SYSTEM_OUTGOING4 + if UIImage(named: imageName) != nil { + Image(imageName) + } else if UIImage(systemName: sysName) != nil { + Image(systemName: sysName) + } else { + // TODO: ultralight vs black + Image(systemName: FALLBACK_OUTGOING) + } } .tint(.accentColor) .talerFont(.largeTitle)