commit a0aab36eb44cf122726230ac1e631cade6b9828c
parent d81b78d0a793f4a559f490a5786ff161a0ec6f15
Author: Marc Stibane <marc@taler.net>
Date: Mon, 8 Jun 2026 22:18:30 +0200
fix Settings on iOS 26
Diffstat:
3 files changed, 39 insertions(+), 33 deletions(-)
diff --git a/TalerWallet1/Views/Settings/DebugSettingsView.swift b/TalerWallet1/Views/Settings/DebugSettingsView.swift
@@ -62,8 +62,7 @@ struct DebugSettingsView: View {
let _ = symLog.vlog() // just to get the # to compare it with .onAppear & onDisappear
#endif
let walletCore = WalletCore.shared
- Group {
- List {
+ let list = List {
SettingsToggle(name: String("Developer Mode"), value: $developerMode,
id1: "devMode",
description: String("More information intended for debugging")) { newVal in
@@ -166,9 +165,9 @@ struct DebugSettingsView: View {
Button(title) {
Task { // runs on MainActor
symLog.log("running applyDevExperiment Refresh")
- try? await model.setConfig(setTesting: true)
- try? await model.devExperimentT(talerUri: "taler://dev-experiment/start-block-refresh")
- try? await model.devExperimentT(talerUri: "taler://dev-experiment/insert-pending-refresh")
+ try await model.setConfig(setTesting: true)
+ try await model.devExperimentT(talerUri: "taler://dev-experiment/start-block-refresh")
+ try await model.devExperimentT(talerUri: "taler://dev-experiment/insert-pending-refresh")
}
}
.buttonStyle(.bordered)
@@ -263,24 +262,26 @@ struct DebugSettingsView: View {
}.id("resetWallet")
}
}
- .padding(.bottom)
.id(listID)
.listStyle(myListStyle.style).anyView
+ .navigationTitle(navTitle)
+ .onAppear() {
+ showDevelopItems = developerMode
+ DebugViewC.shared.setViewID(VIEW_SETTINGS3, stack: stack.push())
+ }
+ .onDisappear() {
+ checkDisabled = false // reset
+ withDrawDisabled = false
+ }
+ .alert("Reset Wallet", isPresented: $showResetAlert,
+ actions: { dismissAlertButton
+ resetButton },
+ message: { Text(verbatim: "Are you sure you want to reset your wallet?\nThis cannot be reverted, all money will be lost.") })
+ if #available(iOS 26.0, *) {
+ list
+ } else {
+ list
+ .padding(.bottom)
}
- .navigationTitle(navTitle)
- .onAppear() {
- showDevelopItems = developerMode
- DebugViewC.shared.setViewID(VIEW_SETTINGS3, stack: stack.push())
- }
- .onDisappear() {
- checkDisabled = false // reset
- withDrawDisabled = false
- }
- .alert("Reset Wallet",
- isPresented: $showResetAlert,
- actions: { dismissAlertButton
- resetButton },
- message: { Text(verbatim: "Are you sure you want to reset your wallet?\nThis cannot be reverted, all money will be lost.") })
-
} // body
}
diff --git a/TalerWallet1/Views/Settings/MoreSettingsView.swift b/TalerWallet1/Views/Settings/MoreSettingsView.swift
@@ -50,9 +50,7 @@ struct MoreSettingsView: View {
let _ = Self._printChanges()
let _ = symLog.vlog() // just to get the # to compare it with .onAppear & onDisappear
#endif
- let walletCore = WalletCore.shared
- Group {
- List {
+ let list = List {
let showQRstring = String(localized: "Show QR codes")
let showQRhint = String(localized: "Automatically for P2P transactions")
if #available(iOS 17.7, *) {
@@ -115,14 +113,18 @@ struct MoreSettingsView: View {
// SettingsFont(title: String(localized: "Font:"), value: talerFontIndex, action: redraw)
// .id("font")
- }
- .padding(.bottom)
+ }
.id(listID)
.listStyle(myListStyle.style).anyView
- }
- .navigationTitle(navTitle)
- .onAppear() {
- DebugViewC.shared.setViewID(VIEW_SETTINGS, stack: stack.push())
+ .navigationTitle(navTitle)
+ .onAppear() {
+ DebugViewC.shared.setViewID(VIEW_SETTINGS2, stack: stack.push())
+ }
+ if #available(iOS 26.0, *) {
+ list
+ } else {
+ list
+ .padding(.bottom)
}
} // body
}
diff --git a/TalerWallet1/Views/Settings/SettingsView.swift b/TalerWallet1/Views/Settings/SettingsView.swift
@@ -223,11 +223,8 @@ struct SettingsView: View {
description: nil) {}
}
}
- .padding(.bottom)
.id(listID)
.listStyle(myListStyle.style).anyView
-
- list
.navigationTitle(navTitle)
.onAppear() {
DebugViewC.shared.setViewID(VIEW_SETTINGS, stack: stack.push())
@@ -239,6 +236,12 @@ struct SettingsView: View {
dismissAlertButton },
message: { Text("Please go to Settings > \(localizedAppName) > Notifications and turn them on.") }
)
+ if #available(iOS 26.0, *) {
+ list
+ } else {
+ list
+ .padding(.bottom)
+ }
} // body
}
// MARK: -