From 2f4bfd41832549250239f3e6ecfd55ebb22ec675 Mon Sep 17 00:00:00 2001 From: Naomi Carrigan Date: Mon, 19 Jan 2026 21:33:12 -0800 Subject: [PATCH 1/9] wip: tabs --- src-tauri/capabilities/default.json | 6 +- src/lib/components/ConversationTabs.svelte | 232 +++++++++++ .../components/ConversationTabsDebug.svelte | 7 + src/lib/components/Terminal.svelte | 5 +- src/lib/stores/claude.ts | 170 +++----- src/lib/stores/conversations.ts | 392 ++++++++++++++++++ src/lib/types/messages.ts | 8 + 7 files changed, 703 insertions(+), 117 deletions(-) create mode 100644 src/lib/components/ConversationTabs.svelte create mode 100644 src/lib/components/ConversationTabsDebug.svelte create mode 100644 src/lib/stores/conversations.ts diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json index f47d967..5e2db1c 100644 --- a/src-tauri/capabilities/default.json +++ b/src-tauri/capabilities/default.json @@ -9,6 +9,10 @@ "opener:default", "shell:allow-spawn", "shell:allow-stdin-write", - "shell:allow-kill" + "shell:allow-kill", + "notification:default", + "notification:allow-is-permission-granted", + "notification:allow-request-permission", + "notification:allow-notify" ] } diff --git a/src/lib/components/ConversationTabs.svelte b/src/lib/components/ConversationTabs.svelte new file mode 100644 index 0000000..63a93df --- /dev/null +++ b/src/lib/components/ConversationTabs.svelte @@ -0,0 +1,232 @@ + + +
+ {#each Array.from(conversations.entries()) as [id, conversation] (id)} +
switchTab(id)} + role="tab" + tabindex={0} + aria-selected={id === activeConversationId} + > + {#if editingTabId === id} + e.stopPropagation()} + class="bg-transparent border-b border-[var(--border-color)] outline-none px-0 py-0 text-sm w-32" + autofocus + /> + {:else} +
+
+ startEditing(id, conversation.name, e)} + > + {conversation.name} + + {#if id !== activeConversationId && id === connectedConversationId} + + (active) + + {/if} +
+ {/if} + + {#if conversations.size > 1} + + {/if} +
+ {/each} + + +
+ + \ No newline at end of file diff --git a/src/lib/components/ConversationTabsDebug.svelte b/src/lib/components/ConversationTabsDebug.svelte new file mode 100644 index 0000000..5ec3a4d --- /dev/null +++ b/src/lib/components/ConversationTabsDebug.svelte @@ -0,0 +1,7 @@ + + +
+ Debug: Tabs Component Loaded +
\ No newline at end of file diff --git a/src/lib/components/Terminal.svelte b/src/lib/components/Terminal.svelte index cd432f1..4a8c55f 100644 --- a/src/lib/components/Terminal.svelte +++ b/src/lib/components/Terminal.svelte @@ -1,6 +1,7 @@