From da17e0f62cdcbce376a0b3a148590db0a09200f8 Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Wed, 23 Sep 2026 13:20:50 +0200 Subject: [PATCH] ui : let the family headings stick below the section headings Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash --- .../app/misc/CollapsibleSection.svelte | 6 +- .../ModelsManagerModelsTable.svelte | 4 +- .../ModelsSelector/ModelsSelectorList.svelte | 60 +++++-------------- 3 files changed, 23 insertions(+), 47 deletions(-) diff --git a/tools/ui/src/lib/components/app/misc/CollapsibleSection.svelte b/tools/ui/src/lib/components/app/misc/CollapsibleSection.svelte index 822ca61ca8..fd14345fad 100644 --- a/tools/ui/src/lib/components/app/misc/CollapsibleSection.svelte +++ b/tools/ui/src/lib/components/app/misc/CollapsibleSection.svelte @@ -135,7 +135,9 @@ */ .collapsible-region { height: 0; - overflow: hidden; + /* clip, not hidden: hidden would make the region a scrollport, and the + sticky rows inside it would then never leave their opening position */ + overflow: clip; visibility: hidden; interpolate-size: allow-keywords; transition: @@ -166,7 +168,7 @@ .collapsible-region-content { min-height: 0; - overflow: hidden; + overflow: clip; } } diff --git a/tools/ui/src/lib/components/app/models/ModelsManager/ModelsManagerModelsTable.svelte b/tools/ui/src/lib/components/app/models/ModelsManager/ModelsManagerModelsTable.svelte index 6034c796e8..499b0548d2 100644 --- a/tools/ui/src/lib/components/app/models/ModelsManager/ModelsManagerModelsTable.svelte +++ b/tools/ui/src/lib/components/app/models/ModelsManager/ModelsManagerModelsTable.svelte @@ -420,7 +420,9 @@ {@const options = family.entries.flatMap((entry) => entry.quants)} {@const favorite = options.some((option) => isFavorite(option))} -
+ +
toggleFamily(family.key)} diff --git a/tools/ui/src/lib/components/app/models/ModelsSelector/ModelsSelectorList.svelte b/tools/ui/src/lib/components/app/models/ModelsSelector/ModelsSelectorList.svelte index 9b5dbb5b5b..101dede7b3 100644 --- a/tools/ui/src/lib/components/app/models/ModelsSelector/ModelsSelectorList.svelte +++ b/tools/ui/src/lib/components/app/models/ModelsSelector/ModelsSelectorList.svelte @@ -1,6 +1,6 @@ -{#snippet familyRow(family: ModelFamilyGroup, prefix: string)} - {@const key = familyKey(prefix, family.key)} - {@const isExpanded = !collapsedFamilies.has(key)} - - +
{/snippet} {#snippet familyRows(items: ModelItem[], prefix: string)} {#if settingsStore.config.groupModelsByFamily} - {#each groupModelFamilies(items, (item) => item.option.model) as family (familyKey(prefix, family.key))} - {@render familyRow(family, prefix)} + {#each groupModelFamilies(items, (item) => item.option.model) as family (`${prefix}-${family.key}`)} + {@render familyRow(family)} - {#if !collapsedFamilies.has(familyKey(prefix, family.key))} - {#each family.entries as item (`family-${prefix}-${item.option.id}`)} -
{@render render(item, !showOrgName)}
- {/each} - {/if} + {#each family.entries as item (`family-${prefix}-${item.option.id}`)} +
{@render render(item, !showOrgName)}
+ {/each} {/each} {:else} {#each items as item (`plain-${prefix}-${item.option.id}`)}