Files
llama.cpp/tools/ui/src/lib/components/app/backends/BackendPresetIcon.svelte
T
Aleksander Grygier c441bb491b ui : brand the backend presets with provider logos
Assisted-by: pi:llama.cpp/DeepSeek-V4.1-Flash
2026-09-16 23:20:55 +02:00

35 lines
692 B
Svelte

<script lang="ts">
import { Plug } from '@lucide/svelte';
import type { BackendPreset } from '$lib/types';
import { mode } from 'mode-watcher';
interface Props {
class?: string;
preset?: BackendPreset;
}
let { class: className = 'h-4 w-4', preset }: Props = $props();
let iconUrl = $derived.by(() => {
if (!preset) return null;
return (
(mode.current === 'dark'
? (preset.iconUrlDark ?? preset.iconUrl)
: (preset.iconUrlLight ?? preset.iconUrl)) ?? null
);
});
</script>
{#if iconUrl}
<img
alt=""
class={['shrink-0 rounded-sm object-contain', className]}
decoding="async"
loading="lazy"
src={iconUrl}
/>
{:else}
<Plug class={className} />
{/if}