From c784310a1e38c46aefd504f59699fdbb3e7eb638 Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Wed, 23 Sep 2026 14:50:42 +0200 Subject: [PATCH] ui : swap the status dot for the load action on hover Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash --- .../models/ModelsManager/ModelsManager.svelte | 1 - .../ModelsManagerModelsTable.svelte | 32 ++++--------------- 2 files changed, 7 insertions(+), 26 deletions(-) diff --git a/tools/ui/src/lib/components/app/models/ModelsManager/ModelsManager.svelte b/tools/ui/src/lib/components/app/models/ModelsManager/ModelsManager.svelte index e9baa7bd0a..3ddab90a99 100644 --- a/tools/ui/src/lib/components/app/models/ModelsManager/ModelsManager.svelte +++ b/tools/ui/src/lib/components/app/models/ModelsManager/ModelsManager.svelte @@ -218,7 +218,6 @@ {groups} {isFavorite} onSelect={(option) => (selectedId = option.id)} - onToggleLoad={(option) => void toggleLoad(option)} {selectedId} {summary} /> 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 3d79bd480a..564e0bf7b0 100644 --- a/tools/ui/src/lib/components/app/models/ModelsManager/ModelsManagerModelsTable.svelte +++ b/tools/ui/src/lib/components/app/models/ModelsManager/ModelsManagerModelsTable.svelte @@ -10,8 +10,7 @@ HeartOff, MoreHorizontal, Power, - Trash2, - Upload + Trash2 } from '@lucide/svelte'; import { ActionIcon, @@ -42,7 +41,6 @@ groups: ModelsTableGroup[]; isFavorite: (option: ModelOption) => boolean; onSelect: (option: ModelOption) => void; - onToggleLoad: (option: ModelOption) => void; selectedId: string | null; summary: string; } @@ -52,7 +50,6 @@ groups, isFavorite, onSelect, - onToggleLoad, selectedId, summary }: Props = $props(); @@ -107,13 +104,7 @@ } /** Row actions follow the app's dropdown pattern: icon, label, separators, variants. */ - function rowActions( - option: ModelOption, - canLoad: boolean, - isLoaded: boolean, - favorite: boolean, - isHidden: boolean - ) { + function rowActions(option: ModelOption, canLoad: boolean, favorite: boolean, isHidden: boolean) { return [ { icon: favorite ? HeartOff : Heart, @@ -122,11 +113,6 @@ }, ...(canLoad ? [ - { - icon: isLoaded ? Upload : Power, - label: isLoaded ? 'Unload model' : 'Load model', - onclick: () => onToggleLoad(option) - }, { icon: Trash2, label: 'Delete from disk', @@ -166,7 +152,6 @@ {@const status = stateOf(option)} {@const isOperationInProgress = modelsStore.status.isOperationInProgress(option.model)} {@const isLoading = status === ServerModelStatus.LOADING || isOperationInProgress} - {@const isLoaded = isLoadedOption(option)} {@const isFailed = status === ServerModelStatus.FAILED} {@const isSleeping = status === ServerModelStatus.SLEEPING} @@ -174,17 +159,15 @@ canLoad={getBackendCapabilities(getBackend(option.backendId)).loadUnload} class="justify-self-center" {isFailed} - {isLoaded} + isLoaded={isLoadedOption(option)} {isLoading} {isSleeping} {option} - showAction={false} showRemoteMark /> {/snippet} {#snippet row(option: ModelOption, indent = 0, compact = false)} - {@const isLoaded = isLoadedOption(option)} {@const favorite = isFavorite(option)} {@const canLoad = getBackendCapabilities(getBackend(option.backendId)).loadUnload} {@const isHidden = modelsStore.isHidden(option.id)} @@ -193,7 +176,7 @@