diff options
| author | Adam Malczewski <[email protected]> | 2026-05-22 17:07:31 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-05-22 17:07:31 +0900 |
| commit | 288b21cec98421fda57028a0c8c9d835cfbb14b0 (patch) | |
| tree | 9ce3ec38acdcf7be96e28f1e0d5deccf6b46c917 /packages/frontend/src/lib/components/SidebarPanel.svelte | |
| parent | 45a4890031192f4e7409443f98e824dad17ba175 (diff) | |
| download | dispatch-288b21cec98421fda57028a0c8c9d835cfbb14b0.tar.gz dispatch-288b21cec98421fda57028a0c8c9d835cfbb14b0.zip | |
feat: add/remove keys from UI, backend URL setting, user service, Docker fix
- Add POST /models/add-key and POST /models/remove-key API endpoints
- Add 'Add New Key' modal (page-level) with provider selection
- Add remove button per key in Model Status view
- Add configurable backend URL setting in Settings panel with localStorage persistence
- Convert systemd service from system to user service (systemctl --user)
- Fix Docker entrypoint to chown all nested node_modules dirs
- Update dispatch.toml credential paths to use -pro/-max naming
- Make API port configurable via PORT env var (default 3000, prod 18390)
Diffstat (limited to 'packages/frontend/src/lib/components/SidebarPanel.svelte')
| -rw-r--r-- | packages/frontend/src/lib/components/SidebarPanel.svelte | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/packages/frontend/src/lib/components/SidebarPanel.svelte b/packages/frontend/src/lib/components/SidebarPanel.svelte index 041679a..e89e351 100644 --- a/packages/frontend/src/lib/components/SidebarPanel.svelte +++ b/packages/frontend/src/lib/components/SidebarPanel.svelte @@ -25,6 +25,7 @@ const { onReasoningChange, onAgentChange = (_agent: any) => {}, onWorkingDirectoryChange = (_dir: string | null) => {}, + onAddKey = () => {}, }: { keys?: KeyInfo[]; tasks?: TaskItem[]; @@ -40,6 +41,7 @@ const { onReasoningChange: (effort: string) => void; onAgentChange?: (agent: any) => void; onWorkingDirectoryChange?: (dir: string | null) => void; + onAddKey?: () => void; } = $props(); interface Panel { @@ -129,7 +131,7 @@ function contentClass(selected: string): string { {:else if panel.selected === "Claude Reset"} <ClaudeReset {apiBase} /> {:else if panel.selected === "Model Status"} - <ModelStatus {keys} {apiBase} /> + <ModelStatus {keys} {apiBase} {onAddKey} /> {:else if panel.selected === "Tasks"} <TaskListPanel {tasks} /> {:else if panel.selected === "Config"} |
