mac: Settings toggles are checkboxes, not switches — labels clickable (#953)
The grouped form style renders Toggle as an iOS-style switch; a Mac Settings window conventionally uses checkboxes, and the checkbox style makes the whole label a click target. Applied to all three Settings toggles (Markdown conversion, Set yourself as away, automatic updates).
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2 files changed,
+7
−0
ios/LChatMac/MacSettingsView.swift+6 −0ios/LChatMac/UpdaterUI.swift+1 −0
diff --git a/ios/LChatMac/MacSettingsView.swift b/ios/LChatMac/MacSettingsView.swift| index b6efc87..ca61143 100644 |
| --- a/ios/LChatMac/MacSettingsView.swift |
| +++ b/ios/LChatMac/MacSettingsView.swift |
| @@ -65,7 +65,12 @@ struct MacSettingsView: View { |
| Text("Text size") |
| } |
| Section { |
| + // Checkboxes, not switches: the grouped form style renders |
| + // Toggle as an iOS-style switch, but a Mac Settings window |
| + // conventionally uses checkboxes — and the checkbox style |
| + // makes the whole label clickable (Paul, 2026-07-15). |
| Toggle("Convert common Markdown formatting as you type", isOn: $formatAsYouType) |
| + .toggleStyle(.checkbox) |
| } header: { |
| Text("Composer") |
| } footer: { |
| @@ -98,6 +103,7 @@ struct MacSettingsView: View { |
| // Presence: pin your dot to away (activity won't flip it back). |
| // Applies immediately, per server, synced across your devices. |
| Toggle("Set yourself as away", isOn: $away) |
| + .toggleStyle(.checkbox) |
| .disabled(!awayLoaded) |
| .onChange(of: away) { _, next in setAway(next) } |
| if let awayNote { |
diff --git a/ios/LChatMac/UpdaterUI.swift b/ios/LChatMac/UpdaterUI.swift| index 7671e66..f57de33 100644 |
| --- a/ios/LChatMac/UpdaterUI.swift |
| +++ b/ios/LChatMac/UpdaterUI.swift |
| @@ -45,6 +45,7 @@ struct UpdatesSettingsView: View { |
| var body: some View { |
| Form { |
| Toggle("Automatically download and install updates", isOn: $automaticUpdates) |
| + .toggleStyle(.checkbox) // Settings-window convention — see MacSettingsView |
| .onChange(of: automaticUpdates) { _, enabled in |
| // Downloading automatically requires checking automatically; |
| // turning the switch off falls back to fully manual |