feat: mprove model selector with search and keyboard navigation

Add Ctrl+M keyboard shortcut to open model selector
Use desktop dropdowns in VSCode runtime instead of mobile panels
This commit is contained in:
Bohdan Triapitsyn
2026-01-02 13:08:21 +02:00
parent 2e732c2481
commit 07ad3eaa3a
9 changed files with 935 additions and 639 deletions
+7
View File
@@ -32,6 +32,7 @@ interface UIStore {
isAboutDialogOpen: boolean;
isSessionCreateDialogOpen: boolean;
isSettingsDialogOpen: boolean;
isModelSelectorOpen: boolean;
sidebarSection: SidebarSection;
eventStreamStatus: EventStreamStatus;
eventStreamHint: string | null;
@@ -69,6 +70,7 @@ interface UIStore {
setAboutDialogOpen: (open: boolean) => void;
setSessionCreateDialogOpen: (open: boolean) => void;
setSettingsDialogOpen: (open: boolean) => void;
setModelSelectorOpen: (open: boolean) => void;
applyTheme: () => void;
setSidebarSection: (section: SidebarSection) => void;
setEventStreamStatus: (status: EventStreamStatus, hint?: string | null) => void;
@@ -116,6 +118,7 @@ export const useUIStore = create<UIStore>()(
isAboutDialogOpen: false,
isSessionCreateDialogOpen: false,
isSettingsDialogOpen: false,
isModelSelectorOpen: false,
sidebarSection: 'sessions',
eventStreamStatus: 'idle',
eventStreamHint: null,
@@ -229,6 +232,10 @@ export const useUIStore = create<UIStore>()(
set({ isSettingsDialogOpen: open });
},
setModelSelectorOpen: (open) => {
set({ isModelSelectorOpen: open });
},
setSidebarSection: (section) => {
set({ sidebarSection: section });
},