From 0b05b2fc7ed4c38af158707438ff404d1beb7c91 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Fri, 13 Feb 2026 00:44:01 -0600 Subject: [PATCH] refac --- src/lib/components/chat/ModelSelector/Selector.svelte | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/lib/components/chat/ModelSelector/Selector.svelte b/src/lib/components/chat/ModelSelector/Selector.svelte index dce53f6408..d2ecde992f 100644 --- a/src/lib/components/chat/ModelSelector/Selector.svelte +++ b/src/lib/components/chat/ModelSelector/Selector.svelte @@ -178,6 +178,16 @@ selectedModelIdx = 0; } + // Set the virtual scroll position so the selected item is rendered and centered + const targetScrollTop = Math.max(0, selectedModelIdx * ITEM_HEIGHT - 128 + ITEM_HEIGHT / 2); + listScrollTop = targetScrollTop; + + await tick(); + + if (listContainer) { + listContainer.scrollTop = targetScrollTop; + } + await tick(); const item = document.querySelector(`[data-arrow-selected="true"]`); item?.scrollIntoView({ block: 'center', inline: 'nearest', behavior: 'instant' }); @@ -379,6 +389,7 @@ bind:open={show} onOpenChange={async () => { searchValue = ''; + listScrollTop = 0; window.setTimeout(() => document.getElementById('model-search-input')?.focus(), 0); resetView();