'use client'; import { useChat, type Message } from 'ai/react'; import { cn } from '@/lib/utils'; import { ChatList } from '@/components/chat/ChatList'; import { ChatPanel } from '@/components/chat-panel'; import { ChatScrollAnchor } from '@/components/chat-scroll-anchor'; import { toast } from 'react-hot-toast'; import { useAtom } from 'jotai'; import { datasetAtom } from '@/state'; import ImageList from './ImageList'; export interface ChatProps extends React.ComponentProps<'div'> { initialMessages?: Message[]; id?: string; } export function Chat({ id, initialMessages, className }: ChatProps) { const [dataset] = useAtom(datasetAtom); const { messages, append, reload, stop, isLoading, input, setInput } = useChat({ initialMessages, id, body: { id, dataset: dataset.filter(entity => entity.selected), }, onResponse(response) { if (response.status === 401) { toast.error(response.statusText); } }, }); return ( <>
); }