From e39ff71532651438c32b2aa7ffe2b6068c94e6b2 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Tue, 14 Jul 2026 17:05:07 -0400 Subject: [PATCH] refac --- .../chat/MessageInput/CommandSuggestionList.svelte | 9 +++++---- .../chat/Messages/MultiResponseMessages.svelte | 4 ++-- src/lib/components/chat/Messages/ResponseMessage.svelte | 9 +++++---- src/lib/components/chat/ModelSelector/Selector.svelte | 9 +-------- 4 files changed, 13 insertions(+), 18 deletions(-) diff --git a/src/lib/components/chat/MessageInput/CommandSuggestionList.svelte b/src/lib/components/chat/MessageInput/CommandSuggestionList.svelte index 3032ad1916..4f28e59eae 100644 --- a/src/lib/components/chat/MessageInput/CommandSuggestionList.svelte +++ b/src/lib/components/chat/MessageInput/CommandSuggestionList.svelte @@ -4,6 +4,7 @@ import Models from './Commands/Models.svelte'; import Skills from './Commands/Skills.svelte'; import Emojis from './Commands/Emojis.svelte'; + import DropdownMenu from '$lib/components/common/DropdownMenu.svelte'; export let char = ''; export let query = ''; @@ -52,10 +53,10 @@ } -
0 ? '' - : 'hidden'} rounded-2xl shadow-lg border border-gray-200 dark:border-gray-800 flex flex-col bg-white dark:bg-gray-850 w-72 p-1" + : 'hidden'} w-72 font-sans text-xs" id="suggestions-container" >
@@ -154,4 +155,4 @@ /> {/if}
-
+ diff --git a/src/lib/components/chat/Messages/MultiResponseMessages.svelte b/src/lib/components/chat/Messages/MultiResponseMessages.svelte index d181985e38..21cea0c93c 100644 --- a/src/lib/components/chat/Messages/MultiResponseMessages.svelte +++ b/src/lib/components/chat/Messages/MultiResponseMessages.svelte @@ -411,7 +411,7 @@ {#if message.timestamp} -
+
diff --git a/src/lib/components/chat/Messages/ResponseMessage.svelte b/src/lib/components/chat/Messages/ResponseMessage.svelte index 5512a6aacf..ca5724cf03 100644 --- a/src/lib/components/chat/Messages/ResponseMessage.svelte +++ b/src/lib/components/chat/Messages/ResponseMessage.svelte @@ -890,7 +890,7 @@ {#if !edit}
{#if message.done || siblings.length > 1} {#if siblings.length > 1} @@ -1341,7 +1341,8 @@ }} > -
-
+
{:else} @@ -1487,7 +1488,7 @@ > diff --git a/src/lib/components/chat/ModelSelector/Selector.svelte b/src/lib/components/chat/ModelSelector/Selector.svelte index 1fb30ac586..88f79c983d 100644 --- a/src/lib/components/chat/ModelSelector/Selector.svelte +++ b/src/lib/components/chat/ModelSelector/Selector.svelte @@ -75,7 +75,6 @@ let triggerElement: HTMLElement | null = null; let contentElement: HTMLElement | null = null; let dropdownPosition = { top: 0, left: 0, maxHeight: undefined as number | undefined }; - let isSmallViewport = false; let positionFrame: number | undefined; let settleTimers: number[] = []; @@ -98,10 +97,6 @@ }; }; - const updateViewportSize = () => { - isSmallViewport = (window.visualViewport?.width ?? window.innerWidth) < 640; - }; - const updatePosition = () => { if (!show || !triggerElement) return; const rect = triggerElement.getBoundingClientRect(); @@ -152,7 +147,6 @@ }; const scheduleSettledPositionUpdates = () => { - updateViewportSize(); for (const timer of settleTimers) window.clearTimeout(timer); settleTimers = []; schedulePositionUpdate(); @@ -556,7 +550,6 @@ tags = Array.from(new Set(tags)).sort((a, b) => a.localeCompare(b)); } - updateViewportSize(); window.addEventListener('scroll', schedulePositionUpdate, true); window.visualViewport?.addEventListener('resize', scheduleSettledPositionUpdates); window.visualViewport?.addEventListener('scroll', schedulePositionUpdate); @@ -649,7 +642,7 @@ let listScrollTop = 0; let listContainer; - $: listViewportHeight = isSmallViewport ? 240 : 288; + $: listViewportHeight = Math.min(288, Math.max(96, (dropdownPosition.maxHeight ?? 352) - 64)); $: visibleStart = Math.max(0, Math.floor(listScrollTop / ITEM_HEIGHT) - OVERSCAN); $: visibleEnd = Math.min(