'use client'; import { Attachment, Message } from 'ai'; import { useChat } from 'ai/react'; import { useState } from 'react'; import { ChatHeader } from '@/components/custom/chat-header'; import { Message as PreviewMessage } from '@/components/custom/message'; import { useScrollToBottom } from '@/components/custom/use-scroll-to-bottom'; import { Model } from '@/lib/model'; import { MultimodalInput } from './multimodal-input'; import { Overview } from './overview'; export function Chat({ id, initialMessages, selectedModelName, }: { id: string; initialMessages: Array; selectedModelName: Model['name']; }) { const { messages, handleSubmit, input, setInput, append, isLoading, stop } = useChat({ body: { id, model: selectedModelName }, initialMessages, onFinish: () => { window.history.replaceState({}, '', `/chat/${id}`); }, }); const [messagesContainerRef, messagesEndRef] = useScrollToBottom(); const [attachments, setAttachments] = useState>([]); return (
{messages.length === 0 && } {messages.map((message) => ( ))}
); }