fix(mac): place debug menu under Settings

This commit is contained in:
Peter Steinberger
2025-12-13 18:10:31 +00:00
parent 40c66b1741
commit 2a71c20ee4

View File

@@ -65,10 +65,34 @@ struct MenuContent: View {
Divider()
Button("Settings…") { self.open(tab: .general) }
.keyboardShortcut(",", modifiers: [.command])
self.debugMenu
Button("About Clawdis") { self.open(tab: .about) }
if let updater, updater.isAvailable {
Button("Check for Updates…") { updater.checkForUpdates(nil) }
}
Button("Quit") { NSApplication.shared.terminate(nil) }
}
.task(id: self.state.swabbleEnabled) {
if self.state.swabbleEnabled {
await self.loadMicrophones(force: true)
}
}
.task {
await self.reloadSessionMenu()
}
.task {
VoicePushToTalkHotkey.shared.setEnabled(voiceWakeSupported && self.state.voicePushToTalkEnabled)
}
.onChange(of: self.state.voicePushToTalkEnabled) { _, enabled in
VoicePushToTalkHotkey.shared.setEnabled(voiceWakeSupported && enabled)
}
.onAppear {
self.browserControlEnabled = ClawdisConfigFile.browserControlEnabled()
}
}
@ViewBuilder
private var debugMenu: some View {
if self.state.debugPaneEnabled {
Menu("Debug") {
Menu {
@@ -86,9 +110,7 @@ struct MenuContent: View {
await self.reloadSessionMenu()
}
} label: {
Label(
level.capitalized,
systemImage: row.thinkingLevel == normalized ? "checkmark" : "")
Label(level.capitalized, systemImage: row.thinkingLevel == normalized ? "checkmark" : "")
}
}
}
@@ -104,9 +126,7 @@ struct MenuContent: View {
await self.reloadSessionMenu()
}
} label: {
Label(
level.capitalized,
systemImage: row.verboseLevel == normalized ? "checkmark" : "")
Label(level.capitalized, systemImage: row.verboseLevel == normalized ? "checkmark" : "")
}
}
}
@@ -190,25 +210,6 @@ struct MenuContent: View {
}
}
}
Button("Quit") { NSApplication.shared.terminate(nil) }
}
.task(id: self.state.swabbleEnabled) {
if self.state.swabbleEnabled {
await self.loadMicrophones(force: true)
}
}
.task {
await self.reloadSessionMenu()
}
.task {
VoicePushToTalkHotkey.shared.setEnabled(voiceWakeSupported && self.state.voicePushToTalkEnabled)
}
.onChange(of: self.state.voicePushToTalkEnabled) { _, enabled in
VoicePushToTalkHotkey.shared.setEnabled(voiceWakeSupported && enabled)
}
.onAppear {
self.browserControlEnabled = ClawdisConfigFile.browserControlEnabled()
}
}
private func open(tab: SettingsTab) {