From bc132403a8497eb537cd0f7dbbb74cd859b4d018 Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Fri, 25 Sep 2026 10:00:31 +0200 Subject: [PATCH] ui : show the selected model's org avatar on the selector trigger Assisted-by: pi:llama.cpp/GLM-5.3-Flash --- .../components/app/models/ModelAvatar.svelte | 6 +++++ .../ModelsSelectorTriggerIcon.svelte | 23 ++++++------------- .../app/models/ModelsSelector/index.ts | 6 ++--- .../discover/ModelsDiscoverAvatar.svelte | 2 +- 4 files changed, 17 insertions(+), 20 deletions(-) diff --git a/tools/ui/src/lib/components/app/models/ModelAvatar.svelte b/tools/ui/src/lib/components/app/models/ModelAvatar.svelte index 2c7051a868..ca456d1333 100644 --- a/tools/ui/src/lib/components/app/models/ModelAvatar.svelte +++ b/tools/ui/src/lib/components/app/models/ModelAvatar.svelte @@ -8,9 +8,12 @@ import { orgOf } from '$lib/utils'; import { getBackend } from '$lib/utils/api-base'; import { getBackendCapabilities } from '$lib/utils/backend'; + import type { Snippet } from 'svelte'; interface Props { class?: string; + /** Rendered when the model has neither an org avatar nor a provider mark. */ + fallback?: Snippet; option: ModelOption; quantPositionClass?: string; quantSize?: string; @@ -28,6 +31,7 @@ let { class: className = '', + fallback, option, quantPositionClass = '-bottom-1 -right-1', quantSize = 'h-3 w-3', @@ -130,4 +134,6 @@ {size} /> +{:else} + {@render fallback?.()} {/if} diff --git a/tools/ui/src/lib/components/app/models/ModelsSelector/ModelsSelectorTriggerIcon.svelte b/tools/ui/src/lib/components/app/models/ModelsSelector/ModelsSelectorTriggerIcon.svelte index 3b41c91541..adb6ac1a60 100644 --- a/tools/ui/src/lib/components/app/models/ModelsSelector/ModelsSelectorTriggerIcon.svelte +++ b/tools/ui/src/lib/components/app/models/ModelsSelector/ModelsSelectorTriggerIcon.svelte @@ -1,32 +1,23 @@ {#if option} - + {#snippet fallback()} - {#if isLocal} - - {:else} - - {/if} + {/snippet} - + {:else} {/if} diff --git a/tools/ui/src/lib/components/app/models/ModelsSelector/index.ts b/tools/ui/src/lib/components/app/models/ModelsSelector/index.ts index 6bcab3c7b4..6607ae5102 100644 --- a/tools/ui/src/lib/components/app/models/ModelsSelector/index.ts +++ b/tools/ui/src/lib/components/app/models/ModelsSelector/index.ts @@ -104,8 +104,8 @@ export { default as ModelsSelectorSheet } from './ModelsSelectorSheet.svelte'; /** * **ModelsSelectorTriggerIcon** - Icon for the selector trigger button * - * Shows the selected model's provider mark (preset logo or favicon) and falls - * back to the generic model icon when the provider has none. The bundled local - * server falls back to the llama.cpp logo. + * Shows the selected model's own org avatar (the same mark the option rows + * use) and falls back to the generic model icon when the model has neither an + * org nor a provider mark. */ export { default as ModelsSelectorTriggerIcon } from './ModelsSelectorTriggerIcon.svelte'; diff --git a/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverAvatar.svelte b/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverAvatar.svelte index 8523f0685b..5543720982 100644 --- a/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverAvatar.svelte +++ b/tools/ui/src/lib/components/app/models/discover/ModelsDiscoverAvatar.svelte @@ -59,7 +59,7 @@ }); - + {#if orgAvatarFailed}