From a0bf8df22182391295c4d5d91c7e1dd2416aeff1 Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 10 Mar 2026 21:51:05 +0000 Subject: [PATCH] fix: repair chat panel layout in panelMode The conversations sidebar was force-shown via 'lg:flex' at large breakpoints even when sidebarOpen was false, causing a broken split- layout in the w-96 drawer panel (~144px left for actual chat). Fixes: - Sidebar no longer force-applies lg:flex in panelMode - In panelMode the sidebar goes full-width and hides the chat area entirely (stacked panel pattern instead of split-column) - Hamburger toggle is always visible in panelMode (was lg:hidden) - Selecting a conversation or creating a new one auto-closes the sidebar in panelMode, returning to chat view - Welcome screen and header title use compact sizing in panelMode --- .../src/lib/components/AITravelChat.svelte | 64 +++++++++++-------- 1 file changed, 36 insertions(+), 28 deletions(-) diff --git a/frontend/src/lib/components/AITravelChat.svelte b/frontend/src/lib/components/AITravelChat.svelte index ba971308..fbe6d0c5 100644 --- a/frontend/src/lib/components/AITravelChat.svelte +++ b/frontend/src/lib/components/AITravelChat.svelte @@ -338,6 +338,7 @@ const conv: Conversation = await res.json(); conversations = [conv, ...conversations]; activeConversation = conv; + if (panelMode) sidebarOpen = false; persistConversation(conv.id); messages = []; return conv; @@ -345,6 +346,7 @@ async function selectConversation(conv: Conversation) { activeConversation = conv; + if (panelMode) sidebarOpen = false; persistConversation(conv.id); const res = await fetch(`/api/chat/conversations/${conv.id}/`); if (res.ok) { @@ -830,9 +832,11 @@ >

{$t('chat.conversations')}

@@ -877,10 +881,10 @@
-
+
-
- ✈️ -
-

- {#if collectionName} +
+ ✈️ +
+

+ {#if collectionName && !panelMode} {$t('travel_assistant')} · {collectionName} {:else} {$t('travel_assistant')} @@ -981,10 +985,14 @@ {:else}
{#if messages.length === 0 && !activeConversation} -
-
🌍
-

{$t('chat.welcome_title')}

-

{$t('chat.welcome_message')}

+
+
🌍
+

+ {$t('chat.welcome_title')} +

+

+ {$t('chat.welcome_message')} +

{:else} {#each visibleMessages as msg} @@ -1068,15 +1076,15 @@
{#if promptTripContext}