From f75c40b417ec571fc31e993e950cfc4666709537 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Wed, 22 Apr 2026 12:53:02 -0400 Subject: [PATCH] refactor(workspace): match KnowledgeView mini-chat dock style MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Widget is now a bottom-anchored dock spanning the content width (max-width 1200px, rounded top corners, bg-secondary, upward shadow) instead of a floating corner box. - Drop the closed state and ✕ button — widget is always present, matching KnowledgeView's pattern. Collapsed = input-only dock, expanded = full ChatPanel above the input. - Grid ratio 1fr:2fr → 0.85fr:2.15fr so tasks get a touch less room and notes a touch more. - Workspace note-rail (the notes picker column inside the editor) widens from 155px to 200px so note titles breathe. Co-Authored-By: Claude Opus 4.7 --- .../src/components/WorkspaceChatWidget.vue | 61 +++++-------------- .../src/components/WorkspaceNoteEditor.vue | 2 +- frontend/src/views/WorkspaceView.vue | 4 +- 3 files changed, 17 insertions(+), 50 deletions(-) diff --git a/frontend/src/components/WorkspaceChatWidget.vue b/frontend/src/components/WorkspaceChatWidget.vue index 618ab2f..59c1a86 100644 --- a/frontend/src/components/WorkspaceChatWidget.vue +++ b/frontend/src/components/WorkspaceChatWidget.vue @@ -49,7 +49,7 @@ watch( } ); -type WidgetState = 'closed' | 'collapsed' | 'expanded'; +type WidgetState = 'collapsed' | 'expanded'; const widgetState = ref('collapsed'); const chatPanelRef = ref | null>(null); @@ -89,7 +89,6 @@ function _storageKey(pid: number) { return `workspace_conv_${pid}`; } -function open() { widgetState.value = 'collapsed'; } function expand() { widgetState.value = 'expanded'; nextTick(() => chatPanelRef.value?.focus()); @@ -98,7 +97,6 @@ function collapse() { widgetState.value = 'collapsed'; nextTick(() => inputBarRef.value?.focus()); } -function close() { widgetState.value = 'closed'; } async function restart() { const conv = await chatStore.createConversation(); @@ -166,19 +164,8 @@ defineExpose({ prefill });