'use client'; import { useChat } from '@ai-sdk/react'; import { DefaultChatTransport, type UIMessage } from 'ai'; import Link from 'next/link'; import ChatInput from '@component/chat-input'; export function Chat({ id, autoResume, initialMessages = [], }: { id: string; autoResume: boolean; initialMessages: UIMessage[]; }) { const { error, status, sendMessage, messages, regenerate, stop } = useChat({ id, messages: initialMessages, transport: new DefaultChatTransport({ api: '/api/use-chat-resume' }), onError: error => { console.error('Error streaming text:', error); }, resume: autoResume, }); return (
Chat Id: {id}
Status: {status}
{messages.map(message => (
{message.role === 'user' ? 'User: ' : 'AI: '}
{message.id}
{message.parts.map((part, partIndex) => { if (part.type === 'text') { return (
{part.text}
); } })}
))} {(status === 'submitted' || status === 'streaming') && (
{status === 'submitted' &&
Loading...
}
)} {error && (
An error occurred.
)} sendMessage({ text })} />
); }