Spaces:
Runtime error
Runtime error
File size: 1,021 Bytes
1b66f8d 3aa8136 1b66f8d 3aa8136 1b66f8d b7f9ccb 1b66f8d 3aa8136 1b66f8d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<script lang="ts">
import type { Message } from '$lib/types/Message';
import { snapScrollToBottom } from '$lib/actions/snapScrollToBottom';
import ScrollToBottomBtn from '$lib/components/ScrollToBottomBtn.svelte';
import ChatIntroduction from './ChatIntroduction.svelte';
import ChatMessage from './ChatMessage.svelte';
export let messages: Message[];
export let loading: boolean;
export let pending: boolean;
let chatContainer: HTMLElement;
</script>
<div class="overflow-y-auto h-full" use:snapScrollToBottom={messages} bind:this={chatContainer}>
<div class="max-w-3xl xl:max-w-4xl mx-auto px-5 pt-6 flex flex-col gap-8 h-full">
{#each messages as message, i}
<ChatMessage loading={loading && i === messages.length - 1} {message} />
{:else}
<ChatIntroduction on:message />
{/each}
{#if pending}
<ChatMessage message={{ from: 'assistant', content: '' }} />
{/if}
<div class="h-32 flex-none" />
</div>
<ScrollToBottomBtn class="bottom-10 right-12" scrollNode={chatContainer} />
</div>
|