taler-ios

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

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:
MTalerWallet1/Views/Settings/DebugSettingsView.swift | 43++++++++++++++++++++++---------------------
MTalerWallet1/Views/Settings/MoreSettingsView.swift | 20+++++++++++---------
MTalerWallet1/Views/Settings/SettingsView.swift | 9++++++---
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: -