import React from 'react' import ReactMarkdown from 'react-markdown' import { Button } from '@/components/ui/button' import { Textarea } from '@/components/ui/textarea' import { Card } from '@/components/ui/card' import { Badge } from '@/components/ui/badge' import { Message } from '@/types/chat' import { Send, Square, Eye, EyeOff, Brain, User, Bot } from 'lucide-react' interface ChatContainerProps { messages: Message[] input: string setInput: (value: string) => void onSubmit: () => void onStop: () => void isLoading: boolean disabled?: boolean placeholder?: string } export function ChatContainer({ messages, input, setInput, onSubmit, onStop, isLoading, disabled = false, placeholder = "Type your message..." }: ChatContainerProps) { const [showThinking, setShowThinking] = React.useState<{ [key: string]: boolean }>({}) const handleKeyPress = (e: React.KeyboardEvent) => { if (e.key === 'Enter' && !e.shiftKey) { e.preventDefault() if (!isLoading && !disabled) { onSubmit() } } } const toggleThinking = (messageId: string) => { setShowThinking(prev => ({ ...prev, [messageId]: !prev[messageId] })) } return (
Ask me anything and I'll help you out!
{children}
}} > {message.thinking_content}{children}
}} > {message.content}