commit 0c657e9dfe14ba35ff939134e6e87e04b25e59e1
parent 56a80a4b2995f2f71584d860fb9fef42fb44b400
Author: Marc Stibane <marc@taler.net>
Date: Sat, 30 Aug 2025 06:30:42 +0200
Zoom buttons
Diffstat:
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)