From edd8b98a021d960bad4bdf8dd76fdbbdbc623e2d Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Tue, 25 Aug 2026 15:27:59 +0200 Subject: [PATCH] ui : apply ESLint formatting to models discover components Assisted-by: Claude --- .../ContextGaugeLoadModel.svelte | 1 + ...ChatMessageToolCallBlockGetDatetime.svelte | 1 + .../ChatMessageToolCallBlockGetInfo.svelte | 1 + ...atMessageToolCallBlockSearchResults.svelte | 1 + .../ChatScreenStreamResumeStatus.svelte | 1 + .../app/dialogs/DialogModelsDiscover.svelte | 2 +- .../lib/components/app/models/ModelId.svelte | 7 ++ .../discover/DialogModelDownload.svelte | 33 ++++++--- .../app/models/discover/ModelsDiscover.svelte | 8 +- .../discover/ModelsDiscoverAvatar.svelte | 17 +++-- .../ModelsDiscoverChatTemplateDialog.svelte | 7 +- .../discover/ModelsDiscoverDetails.svelte | 16 ++-- ...odelsDiscoverDetailsDownloadOptions.svelte | 34 +++++---- .../ModelsDiscoverDetailsHeader.svelte | 33 ++++++--- .../discover/ModelsDiscoverDetailsName.svelte | 14 +++- .../ModelsDiscoverDetailsReadme.svelte | 3 +- .../models/discover/ModelsDiscoverInfo.svelte | 14 ++-- .../models/discover/ModelsDiscoverItem.svelte | 5 +- .../models/discover/ModelsDiscoverList.svelte | 6 +- .../models/discover/TerminalCommands.svelte | 8 +- .../selector/ModelsSelectorDropdown.svelte | 56 +++++++------- .../models/selector/ModelsSelectorList.svelte | 17 +++-- .../selector/ModelsSelectorOption.svelte | 74 +++++++++---------- .../selector/ModelsSelectorSheet.svelte | 34 +++++---- .../ui/src/routes/model-manager/+page.svelte | 46 +++++++----- .../routes/temp/models-hub/Breadcrumb.svelte | 4 +- .../models-hub/DialogModelDownload.svelte | 13 +++- .../temp/models-hub/DownloadToast.svelte | 8 +- .../routes/temp/models-hub/ModelDetail.svelte | 66 ++++++++++++----- .../routes/temp/models-hub/ModelsHub.svelte | 43 +++++++---- 30 files changed, 348 insertions(+), 225 deletions(-) diff --git a/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormContextGauge/ContextGaugeLoadModel.svelte b/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormContextGauge/ContextGaugeLoadModel.svelte index 8b22da797c..cd64157954 100644 --- a/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormContextGauge/ContextGaugeLoadModel.svelte +++ b/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormContextGauge/ContextGaugeLoadModel.svelte @@ -20,6 +20,7 @@ {:else if isLoading}
+ Loading model...
{/if} diff --git a/tools/ui/src/lib/components/app/chat/ChatMessages/ChatMessage/ChatMessageToolCall/ChatMessageToolCallBlockGetDatetime.svelte b/tools/ui/src/lib/components/app/chat/ChatMessages/ChatMessage/ChatMessageToolCall/ChatMessageToolCallBlockGetDatetime.svelte index 72ed8e900f..02d18a0cf6 100644 --- a/tools/ui/src/lib/components/app/chat/ChatMessages/ChatMessage/ChatMessageToolCall/ChatMessageToolCallBlockGetDatetime.svelte +++ b/tools/ui/src/lib/components/app/chat/ChatMessages/ChatMessage/ChatMessageToolCall/ChatMessageToolCallBlockGetDatetime.svelte @@ -47,6 +47,7 @@ {#if showSpinner} Current time + {:else if dateMeta.errorMessage} Current time  diff --git a/tools/ui/src/lib/components/app/chat/ChatMessages/ChatMessage/ChatMessageToolCall/ChatMessageToolCallBlockGetInfo.svelte b/tools/ui/src/lib/components/app/chat/ChatMessages/ChatMessage/ChatMessageToolCall/ChatMessageToolCallBlockGetInfo.svelte index 15f52b0318..9ffb53992e 100644 --- a/tools/ui/src/lib/components/app/chat/ChatMessages/ChatMessage/ChatMessageToolCall/ChatMessageToolCallBlockGetInfo.svelte +++ b/tools/ui/src/lib/components/app/chat/ChatMessages/ChatMessage/ChatMessageToolCall/ChatMessageToolCallBlockGetInfo.svelte @@ -55,6 +55,7 @@ {#if showSpinner} Runtime info + {:else if infoMeta.errorMessage} Runtime info  diff --git a/tools/ui/src/lib/components/app/chat/ChatMessages/ChatMessage/ChatMessageToolCall/ChatMessageToolCallBlockSearchResults.svelte b/tools/ui/src/lib/components/app/chat/ChatMessages/ChatMessage/ChatMessageToolCall/ChatMessageToolCallBlockSearchResults.svelte index c13a81f7d2..151e9b5d8e 100644 --- a/tools/ui/src/lib/components/app/chat/ChatMessages/ChatMessage/ChatMessageToolCall/ChatMessageToolCallBlockSearchResults.svelte +++ b/tools/ui/src/lib/components/app/chat/ChatMessages/ChatMessage/ChatMessageToolCall/ChatMessageToolCallBlockSearchResults.svelte @@ -168,6 +168,7 @@ {:else if showSpinner}
+ Searching...
{:else} diff --git a/tools/ui/src/lib/components/app/chat/ChatScreen/ChatScreenStreamResumeStatus.svelte b/tools/ui/src/lib/components/app/chat/ChatScreen/ChatScreenStreamResumeStatus.svelte index 1663ff8e8d..d98f6d8e38 100644 --- a/tools/ui/src/lib/components/app/chat/ChatScreen/ChatScreenStreamResumeStatus.svelte +++ b/tools/ui/src/lib/components/app/chat/ChatScreen/ChatScreenStreamResumeStatus.svelte @@ -13,6 +13,7 @@ role="status" > + Reconnecting to the stream... {/if} diff --git a/tools/ui/src/lib/components/app/dialogs/DialogModelsDiscover.svelte b/tools/ui/src/lib/components/app/dialogs/DialogModelsDiscover.svelte index 80f330f834..b94b9a8795 100644 --- a/tools/ui/src/lib/components/app/dialogs/DialogModelsDiscover.svelte +++ b/tools/ui/src/lib/components/app/dialogs/DialogModelsDiscover.svelte @@ -15,7 +15,7 @@ } - + +

Tool use

@@ -180,6 +181,7 @@ +

Reasoning

@@ -193,6 +195,7 @@ +

Vision

@@ -204,6 +207,7 @@ +

Video

@@ -215,6 +219,7 @@ +

Audio

@@ -228,6 +233,7 @@ {#if contextLength} + {formatParameters(contextLength)} {/if} @@ -235,6 +241,7 @@ {#if sizeRange} + {HuggingFaceService.formatSizeRange(sizeRange.min, sizeRange.max)} diff --git a/tools/ui/src/lib/components/app/models/discover/DialogModelDownload.svelte b/tools/ui/src/lib/components/app/models/discover/DialogModelDownload.svelte index fed5f88b1a..26095a13d0 100644 --- a/tools/ui/src/lib/components/app/models/discover/DialogModelDownload.svelte +++ b/tools/ui/src/lib/components/app/models/discover/DialogModelDownload.svelte @@ -168,17 +168,19 @@ }); - - + + + {#if phase === 'pending'} Download this model? {:else} Downloading {tagDisplay} {/if} + {#if phase === 'pending'} llama-server will download this file (and related sidecar weights such as multimodal @@ -194,6 +196,7 @@ role="status" > + A previous attempt for this tag failed and left partial files on disk. The server will reject a fresh download until those files are removed. The Retry button below deletes @@ -206,10 +209,10 @@ {#if canDelete}
@@ -68,11 +69,12 @@ class="group flex items-center justify-between gap-2 rounded px-2 py-1 font-mono text-xs" > {cmd} + @@ -320,32 +320,32 @@ {@const isFav = ms.isFavorite(option.model)} (highlightedId = option.id)} onKeyDown={(event) => { if (event.key === KeyboardKey.ENTER || event.key === KeyboardKey.SPACE) { event.preventDefault(); void handleModelKeyAction(option.id, event.altKey); } }} + onMouseEnter={() => (highlightedId = option.id)} + onSelect={ms.handleSelect} + {option} /> {/snippet} @@ -384,18 +384,18 @@ : 'text-foreground', isOpen && 'text-foreground' ]} - style="max-width: min(calc(100cqw - 6.5rem), 32rem)" - onclick={() => ms.handleOpenChange(true)} disabled={disabled || ms.updating} + onclick={() => ms.handleOpenChange(true)} + style="max-width: min(calc(100cqw - 6.5rem), 32rem)" > {#if selectedOption} {/if} @@ -422,9 +422,9 @@ {#if ms.showModelDialog} ms.setShowModelDialog(v)} modelId={ms.infoModelId} + onOpenChange={(v) => ms.setShowModelDialog(v)} + open={ms.showModelDialog} /> {/if} diff --git a/tools/ui/src/lib/components/app/models/selector/ModelsSelectorList.svelte b/tools/ui/src/lib/components/app/models/selector/ModelsSelectorList.svelte index c7badca513..704ed3535b 100644 --- a/tools/ui/src/lib/components/app/models/selector/ModelsSelectorList.svelte +++ b/tools/ui/src/lib/components/app/models/selector/ModelsSelectorList.svelte @@ -31,21 +31,22 @@ {@const isFav = modelsStore.favoriteModelIds.has(option.model)} {}} onKeyDown={() => {}} + onMouseEnter={() => {}} + {onSelect} + {option} /> {/snippet} {#if groups.loaded.length > 0}

Loaded models

+ {#each groups.loaded as item (`loaded-${item.option.id}`)} {@render render(item, false)} {/each} @@ -53,6 +54,7 @@ {#if groups.favorites.length > 0}

Favorite models

+ {#each groups.favorites as item (`fav-${item.option.id}`)} {@render render(item, true)} {/each} @@ -60,6 +62,7 @@ {#if groups.available.length > 0}

Available models

+ {#each groups.available as item (`avail-${item.option.id}`)} {@render render(item, false)} {/each} diff --git a/tools/ui/src/lib/components/app/models/selector/ModelsSelectorOption.svelte b/tools/ui/src/lib/components/app/models/selector/ModelsSelectorOption.svelte index fd4c7a14db..3225351357 100644 --- a/tools/ui/src/lib/components/app/models/selector/ModelsSelectorOption.svelte +++ b/tools/ui/src/lib/components/app/models/selector/ModelsSelectorOption.svelte @@ -68,6 +68,7 @@
onSelect(option.id)} - onmouseenter={onMouseEnter} onkeydown={onKeyDown} + onmouseenter={onMouseEnter} + role="option" + tabindex="0" + title={loadTitle} > {#if !compact} {/if}
@@ -119,30 +119,30 @@ > {#if isFav} modelsStore.toggleFavorite(option.model)} + tooltip="Remove from favorites" /> {:else} modelsStore.toggleFavorite(option.model)} + tooltip="Add to favorites" /> {/if} {#if isLoaded && onInfoClick} onInfoClick(option.model)} + tooltip="Model information" /> {/if}
@@ -159,12 +159,12 @@
@@ -176,14 +176,14 @@ @@ -195,12 +195,12 @@ @@ -212,12 +212,12 @@ diff --git a/tools/ui/src/lib/components/app/models/selector/ModelsSelectorSheet.svelte b/tools/ui/src/lib/components/app/models/selector/ModelsSelectorSheet.svelte index b8094608a2..6d484edb1a 100644 --- a/tools/ui/src/lib/components/app/models/selector/ModelsSelectorSheet.svelte +++ b/tools/ui/src/lib/components/app/models/selector/ModelsSelectorSheet.svelte @@ -79,7 +79,6 @@ {#if ms.isRouter} - + Select Model @@ -133,24 +133,26 @@
ms.setSearchTerm(v)} placeholder="Search models..." value={ms.searchTerm} - onInput={(v) => ms.setSearchTerm(v)} />
{#if !ms.isCurrentModelInCache && currentModel} +
{/if} @@ -159,12 +161,12 @@ {/if}
@@ -182,13 +184,13 @@ ? 'text-foreground' : 'text-foreground' ]} - style="max-width: min(calc(100cqw - 6.5rem), 32rem)" - onclick={() => ms.handleOpenChange(true)} disabled={disabled || ms.updating} + onclick={() => ms.handleOpenChange(true)} + style="max-width: min(calc(100cqw - 6.5rem), 32rem)" > - + {#if ms.updating} @@ -200,8 +202,8 @@ {#if ms.showModelDialog} ms.setShowModelDialog(v)} modelId={ms.infoModelId} + onOpenChange={(v) => ms.setShowModelDialog(v)} + open={ms.showModelDialog} /> {/if} diff --git a/tools/ui/src/routes/model-manager/+page.svelte b/tools/ui/src/routes/model-manager/+page.svelte index 5b37952e44..f9e320c8f7 100644 --- a/tools/ui/src/routes/model-manager/+page.svelte +++ b/tools/ui/src/routes/model-manager/+page.svelte @@ -74,13 +74,13 @@ @@ -88,21 +88,27 @@ {#if isLoading} + Loading {:else if isDownloading} + Downloading {:else if isLoaded} + {statusValue === ServerModelStatus.SLEEPING ? 'Sleeping' : 'Loaded'} {:else if isFailed} + Failed {:else if statusValue === ServerModelStatus.DOWNLOADED} + Downloaded {:else} + Unloaded {/if} @@ -125,57 +131,57 @@ {#if isLoading} modelsStore.status.cancelLoad(option.model)} + tooltip="Cancel load" /> {:else if isDownloading} modelsStore.status.cancelDownload(option.model)} + tooltip="Cancel download" /> {:else if isLoaded} modelsStore.status.unload(option.model)} + tooltip="Unload model" /> {:else} modelsStore.status.load(option.model)} + tooltip="Load model" /> {/if} {#if canRemove && !isDownloading} modelsStore.status.cancelDownload(option.model)} + tooltip="Delete model" /> {/if} {/if} modelsStore.toggleFavorite(option.model)} + tooltip={isFav ? 'Remove from favorites' : 'Add to favorites'} /> copyToClipboard(option.model)} + tooltip="Copy model id" /> {#if hfLink} @@ -196,7 +202,7 @@

-
+
{#if error} @@ -179,11 +180,13 @@ {author} {/if} + {#if modelInfo.pipeline_tag} {HuggingFaceService.pipelineTagLabel(modelInfo.pipeline_tag)} {/if} + {#if modelInfo.library_name} {/if} + {#if modelInfo.gated === true} {/if} + {#if licenseTag} {licenseTag} @@ -213,6 +218,7 @@

About

+

{description}

{/if} @@ -222,26 +228,32 @@

GGUF Specs

+
{#if gguf.architecture}
Architecture
+
{gguf.architecture.replace(/_/g, ' ')}
{/if} + {#if gguf.total}
Total params
+
{HuggingFaceService.formatFileSize(gguf.total).replace(' B', '')}B
{/if} + {#if gguf.context_length}
Context length
+
{gguf.context_length.toLocaleString()}
@@ -257,6 +269,7 @@

Stats

+
{#if typeof modelInfo.downloads === 'number'}
@@ -264,33 +277,40 @@ Downloads +
{HuggingFaceService.formatDownloads(modelInfo.downloads)}
{/if} + {#if typeof modelInfo.likes === 'number'}
Likes
+
{HuggingFaceService.formatLikes(modelInfo.likes)}
{/if} + {#if details?.lastModified}
Last modified
+
{HuggingFaceService.formatRelativeTime(details.lastModified)}
{/if} + {#if gguf?.totalFileSize}
Total size
+
{HuggingFaceService.formatFileSize(gguf.totalFileSize)}
@@ -302,7 +322,8 @@ {#if ggufFiles.length}
- + +

Available files

@@ -318,6 +339,7 @@ {row.bitDepth}-bit {/if}
+
{#each row.files as file (file.path)} {@const meta = HuggingFaceService.extractQuantMeta(file.path)} @@ -349,7 +371,10 @@ ? 'failed' : 'idle'} +