Skip to content

Commit 6607682

Browse files
webui: keep search field near trigger in models selector
Place search at the 'near end' (closest to trigger) by swapping layout with CSS flexbox order based on popover direction. Prevents input from moving during typing as list shrinks
1 parent a6122ff commit 6607682

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

tools/server/webui/src/lib/components/app/models/ModelsSelector.svelte

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -391,13 +391,15 @@
391391
</Popover.Trigger>
392392

393393
<Popover.Content
394-
class="w-96 max-w-[calc(100vw-2rem)] p-0"
394+
class="group/popover-content w-96 max-w-[calc(100vw-2rem)] p-0"
395395
align="end"
396396
sideOffset={8}
397397
collisionPadding={16}
398398
>
399399
<div class="flex max-h-[50dvh] flex-col overflow-hidden">
400-
<div class="shrink-0 p-4">
400+
<div
401+
class="order-1 shrink-0 border-b p-4 group-data-[side=top]/popover-content:order-2 group-data-[side=top]/popover-content:border-t group-data-[side=top]/popover-content:border-b-0"
402+
>
401403
<SearchInput
402404
id="model-search"
403405
placeholder="Search models..."
@@ -407,7 +409,9 @@
407409
onKeyDown={handleSearchKeyDown}
408410
/>
409411
</div>
410-
<div class="min-h-0 flex-1 overflow-y-auto">
412+
<div
413+
class="models-list order-2 min-h-0 flex-1 overflow-y-auto group-data-[side=top]/popover-content:order-1"
414+
>
411415
{#if !isCurrentModelInCache() && currentModel}
412416
<!-- Show unavailable model as first option (disabled) -->
413417
<button

0 commit comments

Comments
 (0)