From aef40b5927311ee32975a8771408164299c7abd3 Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Fri, 4 Sep 2026 14:47:57 +0200 Subject: [PATCH] ui : rename models-hub namespace to models-discover Rename the browse store folder (stores/models-hub -> stores/models-discover), its ModelsDiscoverStore class and modelsDiscoverStore instance, the ModelsDiscoverSizeRange type, and the related local state and prose, so the discover feature uses one consistent namespace. Assisted-by: llama-ui:Qwen3.8-Flash-Next --- .../ModelsSelectorOption.svelte | 2 +- .../app/models/discover/ModelsDiscover.svelte | 20 +++++++------- .../ModelsDiscoverDetailsMetadata.svelte | 4 +-- .../discover/ModelsDiscoverDetails/index.ts | 2 +- .../ModelsDiscoverListItem.svelte | 12 ++++----- .../discover/ModelsDiscoverList/index.ts | 8 +++--- .../components/app/models/discover/index.ts | 4 +-- .../SidebarNavigation.svelte | 6 ++--- tools/ui/src/lib/stores/index.ts | 4 +-- .../index.svelte.ts | 26 +++++++++---------- .../ModelsDiscoverDialog.stories.svelte | 8 +++--- 11 files changed, 48 insertions(+), 48 deletions(-) rename tools/ui/src/lib/stores/{models-hub => models-discover}/index.svelte.ts (90%) diff --git a/tools/ui/src/lib/components/app/models/ModelsSelector/ModelsSelectorOption.svelte b/tools/ui/src/lib/components/app/models/ModelsSelector/ModelsSelectorOption.svelte index a5a930d083..b3bb20b7b8 100644 --- a/tools/ui/src/lib/components/app/models/ModelsSelector/ModelsSelectorOption.svelte +++ b/tools/ui/src/lib/components/app/models/ModelsSelector/ModelsSelectorOption.svelte @@ -65,7 +65,7 @@ let loadTitle = $derived(modelLoadProgressText(loadProgress)); let modalities = $derived(option.modalities); // Avatar: with showBaseModelAvatar the original base model's org is the main - // image and the repo (quantizer) org the corner badge, as in the models hub + // image and the repo (quantizer) org the corner badge, as in the discover // list. Loaded models usually carry the `base_model` tag on the option; GGUF // repos only known to HF are resolved lazily via the cached getBaseModel // lookup. diff --git a/tools/ui/src/lib/components/app/models/discover/ModelsDiscover.svelte b/tools/ui/src/lib/components/app/models/discover/ModelsDiscover.svelte index 85233eb4e0..598be8452a 100644 --- a/tools/ui/src/lib/components/app/models/discover/ModelsDiscover.svelte +++ b/tools/ui/src/lib/components/app/models/discover/ModelsDiscover.svelte @@ -5,7 +5,7 @@ ModelsDiscoverListSearch } from '$lib/components/app/models/discover'; import { HuggingFaceService } from '$lib/services'; - import { modelsHubStore } from '$lib/stores'; + import { modelsDiscoverStore } from '$lib/stores'; import type { HfModelDetailInfo, HfModelSibling } from '$lib/types'; let selectedId = $state(null); @@ -21,13 +21,13 @@ // Load the sidebar list on mount (the component is mounted when the dialog opens). $effect(() => { - void modelsHubStore.fetch(); - void modelsHubStore.search(''); + void modelsDiscoverStore.fetch(); + void modelsDiscoverStore.search(''); }); // Auto-select the first model. $effect(() => { - const first = modelsHubStore.firstModel; + const first = modelsDiscoverStore.firstModel; if (!selectedId && first) { selectedId = first.id; @@ -40,7 +40,7 @@ if (searchTimeout) clearTimeout(searchTimeout); searchTimeout = setTimeout(() => { - void modelsHubStore.search(value); + void modelsDiscoverStore.search(value); }, 300); } @@ -101,15 +101,15 @@
- {#if modelsHubStore.error} -

{modelsHubStore.error}

- {:else if !modelsHubStore.loading && !modelsHubStore.searching && modelsHubStore.models.length === 0} + {#if modelsDiscoverStore.error} +

{modelsDiscoverStore.error}

+ {:else if !modelsDiscoverStore.loading && !modelsDiscoverStore.searching && modelsDiscoverStore.models.length === 0}

No models found

{:else} (selectedId = id)} showBaseModelAvatar /> diff --git a/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverDetails/ModelsDiscoverDetailsMetadata.svelte b/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverDetails/ModelsDiscoverDetailsMetadata.svelte index ecbcb3f89d..4d737e4565 100644 --- a/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverDetails/ModelsDiscoverDetailsMetadata.svelte +++ b/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverDetails/ModelsDiscoverDetailsMetadata.svelte @@ -2,7 +2,7 @@ import ModelsDiscoverChatTemplateDialog from './ModelsDiscoverChatTemplateDialog.svelte'; import ModelsDiscoverDetailsMetadataItem from './ModelsDiscoverDetailsMetadataItem.svelte'; import { MessageSquareCode } from '@lucide/svelte'; - import { modelsHubStore } from '$lib/stores'; + import { modelsDiscoverStore } from '$lib/stores'; import type { HfModelDetailInfo, HfModelGguf } from '$lib/types/huggingface'; import { formatParameters } from '$lib/utils'; @@ -18,7 +18,7 @@ // Catalog family description when curated, else the HF card description. let description = $derived( - modelsHubStore.descriptionFor(modelId) ?? details.cardData?.description + modelsDiscoverStore.descriptionFor(modelId) ?? details.cardData?.description ); let chatTemplateOpen = $state(false); diff --git a/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverDetails/index.ts b/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverDetails/index.ts index 165070ae83..64d1e90d19 100644 --- a/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverDetails/index.ts +++ b/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverDetails/index.ts @@ -2,7 +2,7 @@ * * MODELS DISCOVER — DETAILS * - * The right-hand detail pane of the hub: header (avatar, name, stats, metadata + * The right-hand detail pane of the discover view: header (avatar, name, stats, metadata * chips, capability badges), the download options area and the model-card README. * */ diff --git a/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverList/ModelsDiscoverListItem.svelte b/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverList/ModelsDiscoverListItem.svelte index 207196668a..5859906366 100644 --- a/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverList/ModelsDiscoverListItem.svelte +++ b/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverList/ModelsDiscoverListItem.svelte @@ -9,8 +9,8 @@ type ModelSidecar } from '$lib/constants'; import { HuggingFaceService } from '$lib/services'; - import { modelsHubStore } from '$lib/stores'; - import type { ModelsHubSizeRange } from '$lib/stores/models-hub/index.svelte'; + import { modelsDiscoverStore } from '$lib/stores'; + import type { ModelsDiscoverSizeRange } from '$lib/stores/models-discover/index.svelte'; import type { HfModelInfo } from '$lib/types/huggingface'; import type { ModelModalities } from '$lib/types/models'; import { detectThinkingSupport, detectToolUseSupport } from '$lib/utils'; @@ -79,17 +79,17 @@ // Min/max size across the repo's quants, draft sidecars included. The store // has catalog rows covered already; any other row (a search hit) measures // its repo once here and the result is cached per repo. - let measuredSize = $state(null); - let sizeRange = $derived(modelsHubStore.cachedSizeRangeFor(model.id) ?? measuredSize); + let measuredSize = $state(null); + let sizeRange = $derived(modelsDiscoverStore.cachedSizeRangeFor(model.id) ?? measuredSize); $effect(() => { const id = model.id; - if (modelsHubStore.cachedSizeRangeFor(id)) return; + if (modelsDiscoverStore.cachedSizeRangeFor(id)) return; let cancelled = false; - void modelsHubStore.sizeRange(id).then((range) => { + void modelsDiscoverStore.sizeRange(id).then((range) => { if (!cancelled) measuredSize = range ?? null; }); diff --git a/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverList/index.ts b/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverList/index.ts index ecd5db70cc..b7f87139c5 100644 --- a/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverList/index.ts +++ b/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverList/index.ts @@ -2,7 +2,7 @@ * * MODELS DISCOVER — LIST * - * The hub's sidebar column: a debounced search field above a navigable list of + * The discover sidebar column: a debounced search field above a navigable list of * HuggingFace GGUF models, with skeleton rows while loading. * */ @@ -10,8 +10,8 @@ /** * **ModelsDiscoverList** - Sidebar model list * - * Renders the hub's model list as a navigable column. Each row links to the - * model's detail route and highlights the active one. + * Renders the discover model list as a navigable column. Each row links to the + * model's detail and highlights the active one. */ export { default as ModelsDiscoverList } from './ModelsDiscoverList.svelte'; @@ -25,7 +25,7 @@ export { default as ModelsDiscoverListSearch } from './ModelsDiscoverListSearch. /** * **ModelsDiscoverListItem** - Single sidebar row * - * One model entry in the sidebar list. Links to `/models-hub/[org]/[model]`. + * One model entry in the discover sidebar list, selectable via `onSelect`. */ export { default as ModelsDiscoverListItem } from './ModelsDiscoverListItem.svelte'; diff --git a/tools/ui/src/lib/components/app/models/discover/index.ts b/tools/ui/src/lib/components/app/models/discover/index.ts index a1a247e62c..252b3a46e6 100644 --- a/tools/ui/src/lib/components/app/models/discover/index.ts +++ b/tools/ui/src/lib/components/app/models/discover/index.ts @@ -2,7 +2,7 @@ * * MODELS DISCOVER * - * Components for the Models Discover hub: a sidebar search + list of + * Components for the Models Discover view: a sidebar search + list of * HuggingFace GGUF models and a detail view for the selected model, used as the * body of the discovery dialog. The list and detail trees live in their own * subfolders; this barrel re-exports them alongside the shared leaves. @@ -10,7 +10,7 @@ */ /** - * **ModelsDiscover** - Models hub explorer + * **ModelsDiscover** - Models discover explorer * * The complete discovery layout: a sidebar search + model list on the left and a * detail view for the selected model on the right. Used as the body of the diff --git a/tools/ui/src/lib/components/app/navigation/SidebarNavigation/SidebarNavigation.svelte b/tools/ui/src/lib/components/app/navigation/SidebarNavigation/SidebarNavigation.svelte index 7bd062b7ca..375461cc57 100644 --- a/tools/ui/src/lib/components/app/navigation/SidebarNavigation/SidebarNavigation.svelte +++ b/tools/ui/src/lib/components/app/navigation/SidebarNavigation/SidebarNavigation.svelte @@ -94,7 +94,7 @@ let renameDialogOpen = $state(false); let settingsDialogOpen = $state(false); - let modelsHubOpen = $state(false); + let modelsDiscoverOpen = $state(false); let renameTargetConversationId = $state(null); let renameDraft = $state(''); let renameOriginalTitle = $state(''); @@ -391,7 +391,7 @@ bind:searchQuery class="px-2" isExpandedMode={innerWidth > 768 ? uiStore.isSidebarExpanded : true} - onDiscoverModelsClick={() => (modelsHubOpen = true)} + onDiscoverModelsClick={() => (modelsDiscoverOpen = true)} onNewChat={() => { if (deviceStore.isMobile) { scheduleMobileCollapse(); @@ -455,7 +455,7 @@ - +