<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>
