From 9996409f372611257ac3f5dd5f862153dd228c06 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 17 Oct 2025 16:04:03 -0500 Subject: [PATCH 1/2] Fix button disabled state on iOS26 --- LoopKitUI/Views/ActionButtonStyle.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/LoopKitUI/Views/ActionButtonStyle.swift b/LoopKitUI/Views/ActionButtonStyle.swift index 0a447d669..385d0b824 100644 --- a/LoopKitUI/Views/ActionButtonStyle.swift +++ b/LoopKitUI/Views/ActionButtonStyle.swift @@ -23,6 +23,8 @@ public struct ActionButtonStyle: ButtonStyle { private let cornerRadius: CGFloat = 10 private let squidge: CGFloat = 1 + @Environment(\.isEnabled) private var isEnabled: Bool + public init(_ style: ButtonType = .primary) { switch style { case .primary: @@ -51,7 +53,7 @@ public struct ActionButtonStyle: ButtonStyle { .foregroundColor(fontColor) .font(.headline) .frame(maxWidth: .infinity) - .background(backgroundColor) + .background(isEnabled ? backgroundColor : Color(UIColor.lightGray)) .overlay(Color(.secondarySystemBackground).opacity(configuration.isPressed ? 0.35 : 0)) .cornerRadius(cornerRadius) .padding(configuration.isPressed ? squidge : 0) From f5c5b775ee6709f18a2b1b0b73644c3e3f36524c Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 17 Oct 2025 19:27:26 -0500 Subject: [PATCH 2/2] Reduce navigation layers to fix ios26 dismissal issue --- .../TherapySettingsView.swift | 27 ++----------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/LoopKitUI/Views/Settings Editors/TherapySettingsView.swift b/LoopKitUI/Views/Settings Editors/TherapySettingsView.swift index beddfcb14..c8d7f4e2b 100644 --- a/LoopKitUI/Views/Settings Editors/TherapySettingsView.swift +++ b/LoopKitUI/Views/Settings Editors/TherapySettingsView.swift @@ -42,20 +42,13 @@ public struct TherapySettingsView: View { } public var body: some View { - switch mode { - case .acceptanceFlow: - content - case .settings: - navigationViewWrappedContent - } + content } private var content: some View { - CardList(title: cardListTitle, style: .sectioned(cardListSections), trailer: cardListTrailer) + CardList(title: Text(therapySettingsTitle), style: .sectioned(cardListSections), trailer: cardListTrailer) } - private var cardListTitle: Text? { mode == .acceptanceFlow ? Text(therapySettingsTitle) : nil } - private var therapySettingsTitle: String { return LocalizedString("Therapy Settings", comment: "Therapy Settings screen title") } @@ -107,22 +100,6 @@ public struct TherapySettingsView: View { } } - private var navigationViewWrappedContent: some View { - NavigationView { - ZStack { - Color(.systemGroupedBackground) - .edgesIgnoringSafeArea(.all) - content - .toolbar { - ToolbarItem(placement: .navigationBarTrailing) { - dismissButton - } - } - .navigationBarTitle(therapySettingsTitle, displayMode: .large) - } - } - } - private var dismissButton: some View { Button(action: dismissAction) { Text(LocalizedString("Done", comment: "Text for dismiss button"))