From cb0aaf5f17afcd4a2d06970f6b7f8435d15e42b2 Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Wed, 23 Sep 2026 10:43:26 +0200 Subject: [PATCH] ui : list favorites and loaded models without families Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash --- .../ModelsManagerModelsTable.svelte | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) 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 243a2fe85b..ef4c4426e4 100644 --- a/tools/ui/src/lib/components/app/models/ModelsManager/ModelsManagerModelsTable.svelte +++ b/tools/ui/src/lib/components/app/models/ModelsManager/ModelsManagerModelsTable.svelte @@ -73,11 +73,13 @@ let collapsibleRows = $state(false); const collapsedSections = new SvelteSet(['hidden']); /** Sections with their repos folded into families, when that view is on. */ + /** Sections that list their models straight, without folding them into families. */ + const FLAT_SECTIONS = new Set(['favorites', 'loaded']); let sections = $derived( groups.map((group) => { - const families = groupModelFamilies(group.items); + const flat = FLAT_SECTIONS.has(group.kind); - return { ...group, families }; + return { ...group, families: flat ? [] : groupModelFamilies(group.items), flat }; }) ); @@ -517,6 +519,12 @@ {@render sectionRow(group)} {#if !collapsedSections.has(group.key)} + {#if group.flat} + {#each group.items as entry (entry.key)} + {@render entryTree(entry, 40)} + {/each} + {/if} + {#each group.families as family (family.key)} {@render familyRow(family, 20)} @@ -536,6 +544,12 @@ open={group.kind !== 'hidden'} sticky > + {#if group.flat} + {#each group.items as entry (entry.key)} + {@render entryTree(entry, 16)} + {/each} + {/if} + {#each group.families as family (family.key)} {@render familyRow(family)}