Spaces:
Running
Running
| <script lang="ts"> | |
| import type { Entry } from "./Types"; | |
| import AuthorAvatar from "../AuthorAvatar/AuthorAvatar.svelte"; | |
| import IconArrowRight from "../Icons/IconArrowRight.svelte"; | |
| export let entry: Entry; | |
| export let isSelected: boolean; | |
| export let onClick: (entry: Entry) => void; | |
| </script> | |
| <a | |
| class="flex h-8 cursor-pointer items-center px-2 | |
| {['dataset', 'model', 'no-results', 'space'].includes(entry.type) ? 'font-mono text-xs' : ''} | |
| {['all-datasets', 'all-models', 'all-spaces'].includes(entry.type) && !isSelected ? 'text-gray-400' : ''} | |
| {isSelected ? 'bg-blue-500 text-white dark:bg-blue-700' : 'hover:bg-gray-50 dark:hover:bg-gray-900'}" | |
| href={entry.href} | |
| on:click|stopPropagation={() => onClick(entry)} | |
| > | |
| {#if ["all-datasets", "all-models", "all-spaces"].includes(entry.type)} | |
| <IconArrowRight classNames="flex-none mr-1 h-3 w-3" /> | |
| {:else if ["org", "user"].includes(entry.type) && entry.imgUrl} | |
| <AuthorAvatar | |
| author={{ | |
| avatarUrl: entry.imgUrl, | |
| type: entry.type === "user" ? "user" : "org", | |
| }} | |
| classNames="mr-1.5" | |
| /> | |
| {:else if entry.type === "full-text-search"} | |
| <span | |
| class="mr-1.5 rounded px-1 text-xs leading-tight {isSelected | |
| ? 'bg-white/10 text-white' | |
| : 'bg-blue-500/10 text-blue-700 dark:text-blue-200'}">new</span | |
| > | |
| {/if} | |
| <span | |
| class="flex-shrink-0 truncate | |
| {entry.type === 'model' && !isSelected | |
| ? 'rounded bg-gradient-to-b from-gray-50 to-gray-100 px-1 dark:from-gray-925 dark:to-gray-950' | |
| : 'px-1'}" | |
| > | |
| {entry.label} | |
| </span> | |
| {#if entry.description} | |
| <span class="pl-0.5 pr-1.5 text-gray-300">·</span> | |
| <span class="mr-2 truncate {isSelected ? 'text-white' : 'text-gray-400'}">{entry.description}</span> | |
| {/if} | |
| {#if entry.type === "full-text-search"} | |
| <IconArrowRight classNames="flex-none ml-auto h-3.5 w-3.5" /> | |
| {/if} | |
| </a> | |