From 4639af07523ef3a28b07897449727a447f1c60c8 Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Wed, 2 Sep 2026 19:55:33 +0200 Subject: [PATCH] ui : show in-progress downloads in the model selector A "Download in progress" section above the loaded models lists the in-flight and paused downloads with a live progress bar and the same pause, resume and cancel actions as the discover quant chips, with the same avatar and model id presentation as the regular option rows. Assisted-by: pi --- .../models/ModelsSelectorDownloadItem.svelte | 117 ++++++++++++++++++ .../app/models/ModelsSelectorList.svelte | 14 ++- .../ui/src/lib/components/app/models/index.ts | 9 ++ 3 files changed, 139 insertions(+), 1 deletion(-) create mode 100644 tools/ui/src/lib/components/app/models/ModelsSelectorDownloadItem.svelte diff --git a/tools/ui/src/lib/components/app/models/ModelsSelectorDownloadItem.svelte b/tools/ui/src/lib/components/app/models/ModelsSelectorDownloadItem.svelte new file mode 100644 index 0000000000..bdb010d644 --- /dev/null +++ b/tools/ui/src/lib/components/app/models/ModelsSelectorDownloadItem.svelte @@ -0,0 +1,117 @@ + + + +
+ + + + + {#if entry.progress && entry.progress.totalBytes > 0} + + {/if} +
diff --git a/tools/ui/src/lib/components/app/models/ModelsSelectorList.svelte b/tools/ui/src/lib/components/app/models/ModelsSelectorList.svelte index 370474f4c4..73508ca66b 100644 --- a/tools/ui/src/lib/components/app/models/ModelsSelectorList.svelte +++ b/tools/ui/src/lib/components/app/models/ModelsSelectorList.svelte @@ -1,4 +1,5 @@ {#snippet defaultOption(item: ModelItem, _hideOrgName: boolean)} @@ -44,8 +48,16 @@ /> {/snippet} +{#if downloadEntries.length > 0} +

Download in progress

+ + {#each downloadEntries as entry (entry.repoWithTag)} + + {/each} +{/if} + {#if groups.loaded.length > 0} -

Loaded models

+

Loaded models

{#each groups.loaded as item (`loaded-${item.option.id}`)} {@render render(item, false)} diff --git a/tools/ui/src/lib/components/app/models/index.ts b/tools/ui/src/lib/components/app/models/index.ts index 672357c08e..30c0d7f1ba 100644 --- a/tools/ui/src/lib/components/app/models/index.ts +++ b/tools/ui/src/lib/components/app/models/index.ts @@ -56,6 +56,15 @@ export { default as ModelsSelectorDropdown } from './ModelsSelectorDropdown.svel */ export { default as ModelsSelectorList } from './ModelsSelectorList.svelte'; +/** + * **ModelsSelectorDownloadItem** - Single in-flight download row + * + * One "Download in progress" row for the models selector: live progress bar, + * pause / resume on click and a hover-revealed cancel, mirroring the discover + * quant chips. + */ +export { default as ModelsSelectorDownloadItem } from './ModelsSelectorDownloadItem.svelte'; + /** * **ModelsSelectorOption** - Single model option row *