Spaces:
Runtime error
Runtime error
<script lang="ts"> | |
import Bolt from '$lib/components/icons/Bolt.svelte'; | |
import { onMount, getContext, createEventDispatcher } from 'svelte'; | |
const i18n = getContext('i18n'); | |
const dispatch = createEventDispatcher(); | |
export let suggestionPrompts = []; | |
export let className = ''; | |
let prompts = []; | |
$: prompts = (suggestionPrompts ?? []) | |
.reduce((acc, current) => [...acc, ...[current]], []) | |
.sort(() => Math.random() - 0.5); | |
</script> | |
{#if prompts.length > 0} | |
<div class="mb-1 flex gap-1 text-sm font-medium items-center text-gray-400 dark:text-gray-600"> | |
<Bolt /> | |
{$i18n.t('Suggested')} | |
</div> | |
{/if} | |
<div class=" h-40 max-h-full overflow-auto scrollbar-none {className}"> | |
{#each prompts as prompt, promptIdx} | |
<button | |
class="flex flex-col flex-1 shrink-0 w-full justify-between px-3 py-2 rounded-xl bg-transparent hover:bg-black/5 dark:hover:bg-white/5 transition group" | |
on:click={() => { | |
dispatch('select', prompt.content); | |
}} | |
> | |
<div class="flex flex-col text-left"> | |
{#if prompt.title && prompt.title[0] !== ''} | |
<div | |
class=" font-medium dark:text-gray-300 dark:group-hover:text-gray-200 transition line-clamp-1" | |
> | |
{prompt.title[0]} | |
</div> | |
<div class="text-xs text-gray-500 font-normal line-clamp-1">{prompt.title[1]}</div> | |
{:else} | |
<div | |
class=" font-medium dark:text-gray-300 dark:group-hover:text-gray-200 transition line-clamp-1" | |
> | |
{prompt.content} | |
</div> | |
<div class="text-xs text-gray-500 font-normal line-clamp-1">Prompt</div> | |
{/if} | |
</div> | |
</button> | |
{/each} | |
</div> | |