UI redesign Phase 1: NavigationSplitView with collapsible sidebar
- Replace root VStack with NavigationSplitView (2-column, collapsible sidebar) - Add SidebarView: new chat button, conversation search, list with swipe actions - Slim HeaderView to text-only (provider + model + star); remove all icon rows - Move status pills (Online, MCP, Synced) to footer right side - Remove version number and shortcut hints from footer - Add resizable InputBar with drag handle (persisted height) and globe/network.slash online toggle - Fix Norwegian menu appearing on English systems (CFBundleLocalizations in Info.plist) - Add View menu (Model Info, History, Stats, Credits, Online Mode toggle ⌘⇧O) - Add ⌘L as alias for Search Conversations (muscle memory for /load users) - Add Check for Updates to Help menu with download URL from Gitea API - Add one-time Intel/Rosetta deprecation warning on first launch - Swift 6: fix self.Self.isoString() call sites in DatabaseService Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -300,6 +300,24 @@ class SettingsService {
|
||||
}
|
||||
}
|
||||
|
||||
/// Input bar height in points — default 80
|
||||
var inputBarHeight: Double {
|
||||
get { cache["inputBarHeight"].flatMap(Double.init) ?? 80.0 }
|
||||
set {
|
||||
cache["inputBarHeight"] = String(newValue)
|
||||
DatabaseService.shared.setSetting(key: "inputBarHeight", value: String(newValue))
|
||||
}
|
||||
}
|
||||
|
||||
/// Whether the sidebar is visible — default true
|
||||
var sidebarVisible: Bool {
|
||||
get { cache["sidebarVisible"] != "false" }
|
||||
set {
|
||||
cache["sidebarVisible"] = String(newValue)
|
||||
DatabaseService.shared.setSetting(key: "sidebarVisible", value: String(newValue))
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - MCP Permissions
|
||||
|
||||
var mcpCanWriteFiles: Bool {
|
||||
|
||||
Reference in New Issue
Block a user