Spaces:
Build error
Build error
| <script lang="ts"> | |
| import ChevronDown from '$lib/components/icons/ChevronDown.svelte'; | |
| import ChevronUp from '$lib/components/icons/ChevronUp.svelte'; | |
| import Search from '$lib/components/icons/Search.svelte'; | |
| import Collapsible from '$lib/components/common/Collapsible.svelte'; | |
| export let status = { urls: [], query: '' }; | |
| let state = false; | |
| </script> | |
| <Collapsible grow={true} className="w-full" buttonClassName="w-full" bind:open={state}> | |
| <div class="flex items-center gap-2 text-gray-500 transition"> | |
| <slot /> | |
| {#if state} | |
| <ChevronUp strokeWidth="2.5" className="size-3.5 " /> | |
| {:else} | |
| <ChevronDown strokeWidth="2.5" className="size-3.5 " /> | |
| {/if} | |
| </div> | |
| <div | |
| class="text-sm border border-gray-50 dark:border-gray-850/30 rounded-xl my-1.5 p-2 w-full" | |
| slot="content" | |
| > | |
| {#if status?.query} | |
| <a | |
| href="https://www.google.com/search?q={status.query}" | |
| target="_blank" | |
| class="flex w-full items-center p-1 px-3 group/item justify-between text-gray-800 dark:text-gray-300 font-normal! no-underline!" | |
| > | |
| <div class="flex gap-2 items-center"> | |
| <Search /> | |
| <div class=" line-clamp-1"> | |
| {status.query} | |
| </div> | |
| </div> | |
| <div | |
| class=" ml-1 text-white dark:text-gray-900 group-hover/item:text-gray-600 dark:group-hover/item:text-white transition" | |
| > | |
| <!-- --> | |
| <svg | |
| xmlns="http://www.w3.org/2000/svg" | |
| viewBox="0 0 16 16" | |
| fill="currentColor" | |
| class="size-4" | |
| > | |
| <path | |
| fill-rule="evenodd" | |
| d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" | |
| clip-rule="evenodd" | |
| /> | |
| </svg> | |
| </div> | |
| </a> | |
| {/if} | |
| {#if status?.items} | |
| {#each status.items as item, itemIdx} | |
| <a | |
| href={item.link} | |
| target="_blank" | |
| class="flex w-full items-center p-1 px-3 group/item justify-between text-gray-800 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-850 rounded-lg font-normal! no-underline! mb-1" | |
| > | |
| <div class=" flex justify-center items-center gap-3"> | |
| <div class="w-fit"> | |
| <img | |
| src="https://www.google.com/s2/favicons?sz=32&domain={item.link}" | |
| alt="favicon" | |
| class="size-3.5" | |
| /> | |
| </div> | |
| <div class="w-full text-sm line-clamp-1"> | |
| {item?.title ?? item.link} | |
| </div> | |
| </div> | |
| <div | |
| class=" ml-1 text-white dark:text-gray-900 group-hover/item:text-gray-600 dark:group-hover/item:text-white transition" | |
| > | |
| <!-- --> | |
| <svg | |
| xmlns="http://www.w3.org/2000/svg" | |
| viewBox="0 0 16 16" | |
| fill="currentColor" | |
| class="size-4" | |
| > | |
| <path | |
| fill-rule="evenodd" | |
| d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" | |
| clip-rule="evenodd" | |
| /> | |
| </svg> | |
| </div> | |
| </a> | |
| {/each} | |
| {:else if status?.urls} | |
| {#each status.urls as url, urlIdx} | |
| <a | |
| href={url} | |
| target="_blank" | |
| class="flex w-full items-center p-1 px-3 group/item justify-between text-gray-800 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-850 rounded-lg no-underline mb-1" | |
| > | |
| <div class=" flex justify-center items-center gap-3"> | |
| <div class="w-fit"> | |
| <img | |
| src="https://www.google.com/s2/favicons?sz=32&domain={url}" | |
| alt="favicon" | |
| class="size-3.5" | |
| /> | |
| </div> | |
| <div class="w-full text-sm line-clamp-1"> | |
| {url} | |
| </div> | |
| </div> | |
| <div | |
| class=" ml-1 text-white dark:text-gray-900 group-hover/item:text-gray-600 dark:group-hover/item:text-white transition" | |
| > | |
| <!-- --> | |
| <svg | |
| xmlns="http://www.w3.org/2000/svg" | |
| viewBox="0 0 16 16" | |
| fill="currentColor" | |
| class="size-4" | |
| > | |
| <path | |
| fill-rule="evenodd" | |
| d="M4.22 11.78a.75.75 0 0 1 0-1.06L9.44 5.5H5.75a.75.75 0 0 1 0-1.5h5.5a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0V6.56l-5.22 5.22a.75.75 0 0 1-1.06 0Z" | |
| clip-rule="evenodd" | |
| /> | |
| </svg> | |
| </div> | |
| </a> | |
| {/each} | |
| {/if} | |
| </div> | |
| </Collapsible> | |