import React from 'react' import type { UseChatHelpers } from 'ai/react' import { cn } from '@/lib/utils' import { Button } from '@/components/ui/button' import { IconRefresh, IconStop } from '@/components/ui/icons' import { ButtonScrollToBottom } from '@/components/button-scroll-to-bottom' import { FooterText } from '@/components/footer' import { PromptForm, PromptFormRef } from '@/components/prompt-form' export interface ChatPanelProps extends Pick< UseChatHelpers, | 'append' | 'isLoading' | 'reload' | 'messages' | 'stop' | 'input' | 'setInput' > { id?: string className?: string onSubmit: (content: string) => Promise } export function ChatPanel({ id, isLoading, stop, append, reload, input, setInput, messages, className, onSubmit }: ChatPanelProps) { const promptFormRef = React.useRef(null) React.useEffect(() => { promptFormRef?.current?.focus() }, [id]) return (
{isLoading ? ( ) : ( messages?.length > 0 && ( ) )}
) }