import SwiftUI struct SettingsView: View { @Bindable var settings: AppSettings @Environment(\.dismiss) private var dismiss var body: some View { Form { Section("Server Configuration") { TextField("Host", text: $settings.host) .textFieldStyle(.roundedBorder) TextField("Port", value: $settings.port, format: .number) .textFieldStyle(.roundedBorder) SecureField("API Key (optional)", text: $settings.apiKey) .textFieldStyle(.roundedBorder) } Section("Behavior") { Toggle("Launch at login", isOn: $settings.launchAtLogin) Toggle("Auto-start server on launch", isOn: $settings.autoStartServer) } Section { HStack { Button("Reset to Defaults") { settings.resetToDefaults() } Spacer() Button("Done") { dismiss() } .keyboardShortcut(.defaultAction) } } } .formStyle(.grouped) .frame(width: 400, height: 310) .fixedSize() .onAppear { NSApp.setActivationPolicy(.regular) NSApp.activate(ignoringOtherApps: true) DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { if let window = NSApp.windows.first(where: { $0.title == "Settings" }) { window.makeKeyAndOrderFront(nil) } } } .onDisappear { if NSApp.windows.filter({ $0.isVisible && $0.title != "" }).isEmpty { NSApp.setActivationPolicy(.accessory) } } } }