import React, { useState } from 'react'; import { User, Sparkles, ChevronDown, ChevronRight, Copy, Check } from 'lucide-react'; import MarkdownRenderer from './MarkdownRenderer'; import ProcessFlow from './ProcessFlow'; import { ChatMessage } from '../types'; interface ChatMessageProps { message: ChatMessage; isLast?: boolean; } const ChatMessageItem = ({ message, isLast }: ChatMessageProps) => { const isUser = message.role === 'user'; const [showThinking, setShowThinking] = useState(false); const [copied, setCopied] = useState(false); // Check if there is any thinking data to show const hasThinkingData = message.analysis || (message.experts && message.experts.length > 0); const handleCopy = () => { if (!message.content) return; navigator.clipboard.writeText(message.content); setCopied(true); setTimeout(() => setCopied(false), 2000); }; return (