summaryrefslogtreecommitdiffhomepage
path: root/packages/frontend/src/lib/components/SidebarPanel.svelte
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-05-22 17:07:31 +0900
committerAdam Malczewski <[email protected]>2026-05-22 17:07:31 +0900
commit288b21cec98421fda57028a0c8c9d835cfbb14b0 (patch)
tree9ce3ec38acdcf7be96e28f1e0d5deccf6b46c917 /packages/frontend/src/lib/components/SidebarPanel.svelte
parent45a4890031192f4e7409443f98e824dad17ba175 (diff)
downloaddispatch-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.svelte4
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"}