Spaces:
Paused
Paused
| <script lang="ts"> | |
| import ToolLogo from "./ToolLogo.svelte"; | |
| import { base } from "$app/paths"; | |
| import { browser } from "$app/environment"; | |
| interface Props { | |
| toolId: string; | |
| } | |
| let { toolId }: Props = $props(); | |
| </script> | |
| <div | |
| class="relative flex items-center justify-center space-x-2 rounded border border-gray-300 bg-gray-200 px-2 py-1" | |
| > | |
| {#if browser} | |
| {#await fetch(`${base}/api/tools/${toolId}`).then((res) => res.json()) then value} | |
| {#key value.color + value.icon} | |
| <ToolLogo color={value.color} icon={value.icon} size="sm" /> | |
| {/key} | |
| <div class="flex flex-col items-center justify-center py-1"> | |
| <a | |
| href={`${base}/tools/${value._id}`} | |
| target="_blank" | |
| class="line-clamp-1 truncate font-semibold text-blue-600 hover:underline" | |
| >{value.displayName}</a | |
| > | |
| {#if value.createdByName} | |
| <p class="text-center text-xs text-gray-500"> | |
| Created by | |
| <a class="underline" href="{base}/tools?user={value.createdByName}" target="_blank" | |
| >{value.createdByName}</a | |
| > | |
| </p> | |
| {:else} | |
| <p class="text-center text-xs text-gray-500">Official HuggingChat tool</p> | |
| {/if} | |
| </div> | |
| {/await} | |
| {/if} | |
| </div> | |