mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2026-09-24 13:37:01 +02:00
ui : restructure discover components to the target names
- ModelsDiscoverItem + ModelsDiscoverInfo fold into ModelsDiscoverListItem (avatar + model id + badges + context/size) - ModelsDiscoverDetails* renamed to ModelsDiscoverModelDetails* - TerminalCommands renamed to ModelsDiscoverModelDetailsCommands - ModelsDiscoverDetailsName folded into the details header - ModelsDiscoverListSearch extracted from the list search input - stories updated for the new names Assisted-by: pi
This commit is contained in:
@@ -23,11 +23,8 @@
|
||||
// manager keeps this in a private SvelteSet keyed by `<repo>:<tag>`.
|
||||
const FAILED_TAG = 'ggml-org/gemma-4-12b-it-GGUF:Q4_K_M';
|
||||
|
||||
(
|
||||
modelsStore.status as unknown as { failedDownloads: Set<string> }
|
||||
).failedDownloads = new SvelteSet([FAILED_TAG]);
|
||||
|
||||
|
||||
(modelsStore.status as unknown as { failedDownloads: Set<string> }).failedDownloads =
|
||||
new SvelteSet([FAILED_TAG]);
|
||||
</script>
|
||||
|
||||
<Story name="Progress bar">
|
||||
|
||||
@@ -2,9 +2,8 @@
|
||||
import { mockGemma, mockListModels, mockQwen } from './fixtures/models-discover';
|
||||
import { defineMeta } from '@storybook/addon-svelte-csf';
|
||||
import ModelsDiscoverAvatar from '$lib/components/app/models/discover/ModelsDiscoverAvatar.svelte';
|
||||
import ModelsDiscoverInfo from '$lib/components/app/models/discover/ModelsDiscoverInfo.svelte';
|
||||
import ModelsDiscoverItem from '$lib/components/app/models/discover/ModelsDiscoverItem.svelte';
|
||||
import ModelsDiscoverList from '$lib/components/app/models/discover/ModelsDiscoverList.svelte';
|
||||
import ModelsDiscoverListItem from '$lib/components/app/models/discover/ModelsDiscoverListItem.svelte';
|
||||
|
||||
const { Story } = defineMeta({
|
||||
tags: ['autodocs'],
|
||||
@@ -30,17 +29,17 @@
|
||||
|
||||
<Story name="Info">
|
||||
<div class="flex w-80 flex-col gap-2 p-4">
|
||||
<ModelsDiscoverInfo model={mockGemma} />
|
||||
<ModelsDiscoverListItem model={mockGemma} />
|
||||
|
||||
<ModelsDiscoverInfo model={mockQwen} />
|
||||
<ModelsDiscoverListItem model={mockQwen} />
|
||||
</div>
|
||||
</Story>
|
||||
|
||||
<Story name="Item">
|
||||
<ul class="w-96 p-2">
|
||||
<ModelsDiscoverItem active model={mockGemma} />
|
||||
<ModelsDiscoverListItem active model={mockGemma} />
|
||||
|
||||
<ModelsDiscoverItem model={mockQwen} />
|
||||
<ModelsDiscoverListItem model={mockQwen} />
|
||||
</ul>
|
||||
</Story>
|
||||
|
||||
|
||||
+17
-35
@@ -2,12 +2,11 @@
|
||||
import { mockDetails, mockSiblings } from './fixtures/models-discover';
|
||||
import { defineMeta } from '@storybook/addon-svelte-csf';
|
||||
import ModelsDiscoverChatTemplateDialog from '$lib/components/app/models/discover/ModelsDiscoverChatTemplateDialog.svelte';
|
||||
import ModelsDiscoverDetails from '$lib/components/app/models/discover/ModelsDiscoverDetails.svelte';
|
||||
import ModelsDiscoverDetailsDownloadOptions from '$lib/components/app/models/discover/ModelsDiscoverDetailsDownloadOptions.svelte';
|
||||
import ModelsDiscoverDetailsHeader from '$lib/components/app/models/discover/ModelsDiscoverDetailsHeader.svelte';
|
||||
import ModelsDiscoverDetailsName from '$lib/components/app/models/discover/ModelsDiscoverDetailsName.svelte';
|
||||
import ModelsDiscoverDetailsReadme from '$lib/components/app/models/discover/ModelsDiscoverDetailsReadme.svelte';
|
||||
import TerminalCommands from '$lib/components/app/models/discover/TerminalCommands.svelte';
|
||||
import ModelsDiscoverModelDetails from '$lib/components/app/models/discover/ModelsDiscoverModelDetails.svelte';
|
||||
import ModelsDiscoverModelDetailsCommands from '$lib/components/app/models/discover/ModelsDiscoverModelDetailsCommands.svelte';
|
||||
import ModelsDiscoverModelDetailsDownloadOptions from '$lib/components/app/models/discover/ModelsDiscoverModelDetailsDownloadOptions.svelte';
|
||||
import ModelsDiscoverModelDetailsHeader from '$lib/components/app/models/discover/ModelsDiscoverModelDetailsHeader.svelte';
|
||||
import ModelsDiscoverModelDetailsReadme from '$lib/components/app/models/discover/ModelsDiscoverModelDetailsReadme.svelte';
|
||||
import { ModelDraftSidecar } from '$lib/enums';
|
||||
import type { HfModelSibling } from '$lib/types';
|
||||
|
||||
@@ -34,7 +33,7 @@
|
||||
|
||||
<Story name="Header">
|
||||
<div class="w-160 p-4">
|
||||
<ModelsDiscoverDetailsHeader
|
||||
<ModelsDiscoverModelDetailsHeader
|
||||
baseModels={mockDetails.cardData?.base_model ? [String(mockDetails.cardData.base_model)] : []}
|
||||
details={mockDetails}
|
||||
hasReasoning
|
||||
@@ -48,29 +47,9 @@
|
||||
</div>
|
||||
</Story>
|
||||
|
||||
<Story name="Name">
|
||||
<div class="space-y-4 p-4">
|
||||
<ModelsDiscoverDetailsName
|
||||
baseModels={['google/gemma-4-12b-it']}
|
||||
hasReasoning
|
||||
hasTools
|
||||
hasVision
|
||||
modelId="ggml-org/gemma-4-12b-it"
|
||||
/>
|
||||
|
||||
<ModelsDiscoverDetailsName
|
||||
baseModels={[]}
|
||||
hasReasoning={false}
|
||||
hasTools={false}
|
||||
hasVision={false}
|
||||
modelId="ggml-org/Qwen3.8-27B"
|
||||
/>
|
||||
</div>
|
||||
</Story>
|
||||
|
||||
<Story name="Download options">
|
||||
<div class="w-200 p-4">
|
||||
<ModelsDiscoverDetailsDownloadOptions
|
||||
<ModelsDiscoverModelDetailsDownloadOptions
|
||||
bitDepthRows={[
|
||||
{ bitDepth: 4, files: files.filter((f) => f.path.includes('Q4_K_M')) },
|
||||
{ bitDepth: 8, files: files.filter((f) => f.path.includes('Q8_0')) },
|
||||
@@ -83,7 +62,7 @@
|
||||
|
||||
<Story name="Download options (unknown device)">
|
||||
<div class="w-200 p-4">
|
||||
<ModelsDiscoverDetailsDownloadOptions
|
||||
<ModelsDiscoverModelDetailsDownloadOptions
|
||||
bitDepthRows={[
|
||||
{ bitDepth: 4, files: files.filter((f) => f.path.includes('Q4_K_M')) },
|
||||
{ bitDepth: 8, files: files.filter((f) => f.path.includes('Q8_0')) }
|
||||
@@ -95,19 +74,22 @@
|
||||
|
||||
<Story name="Terminal commands (no sidecars)">
|
||||
<div class="w-200 p-4">
|
||||
<TerminalCommands modelId="ggml-org/Qwen3.8-27B-GGUF" />
|
||||
<ModelsDiscoverModelDetailsCommands modelId="ggml-org/Qwen3.8-27B-GGUF" />
|
||||
</div>
|
||||
</Story>
|
||||
|
||||
<Story name="Terminal commands (MTP sidecar)">
|
||||
<div class="w-200 p-4">
|
||||
<TerminalCommands modelId="ggml-org/gemma-4-12b-it-GGUF" sidecars={[ModelDraftSidecar.MTP]} />
|
||||
<ModelsDiscoverModelDetailsCommands
|
||||
modelId="ggml-org/gemma-4-12b-it-GGUF"
|
||||
sidecars={[ModelDraftSidecar.MTP]}
|
||||
/>
|
||||
</div>
|
||||
</Story>
|
||||
|
||||
<Story name="Readme">
|
||||
<div class="w-160 p-4">
|
||||
<ModelsDiscoverDetailsReadme {readme} />
|
||||
<ModelsDiscoverModelDetailsReadme {readme} />
|
||||
</div>
|
||||
</Story>
|
||||
|
||||
@@ -119,7 +101,7 @@
|
||||
|
||||
<Story name="Details (loading)">
|
||||
<div class="h-96 w-200 border">
|
||||
<ModelsDiscoverDetails
|
||||
<ModelsDiscoverModelDetails
|
||||
details={null}
|
||||
files={[]}
|
||||
loading
|
||||
@@ -131,7 +113,7 @@
|
||||
|
||||
<Story name="Details (error)">
|
||||
<div class="h-96 w-200 border">
|
||||
<ModelsDiscoverDetails
|
||||
<ModelsDiscoverModelDetails
|
||||
details={null}
|
||||
error="Model not found"
|
||||
files={[]}
|
||||
@@ -143,7 +125,7 @@
|
||||
|
||||
<Story name="Details (loaded)">
|
||||
<div class="h-96 w-200 overflow-y-auto border">
|
||||
<ModelsDiscoverDetails
|
||||
<ModelsDiscoverModelDetails
|
||||
details={mockDetails}
|
||||
{files}
|
||||
modelId={mockDetails.id ?? 'ggml-org/gemma-4-12b-it-GGUF'}
|
||||
Reference in New Issue
Block a user