import { useEffect, useRef } from 'react' import { ChatMessage } from './ChatMessage' import { ChatInput } from './ChatInput' import { Spinner } from '@/components/common/Spinner' import type { ChatMessage as ChatMessageType } from '@/types' interface ChatPanelProps { messages: ChatMessageType[] isResponding: boolean onSendMessage: (content: string) => void disabled?: boolean } export function ChatPanel({ messages, isResponding, onSendMessage, disabled }: ChatPanelProps) { const scrollRef = useRef(null) // Auto-scroll to bottom on new messages useEffect(() => { if (scrollRef.current) { scrollRef.current.scrollTop = scrollRef.current.scrollHeight } }, [messages, isResponding]) return (
{/* Messages */}
{messages.map((msg, i) => ( ))} {isResponding && (
Thinking...
)}
{/* Input */}
) }