import React from 'react'; import { Bot, User } from 'lucide-react'; import { MarkdownRenderer } from '../MarkdownRenderer'; import { ToolCallCard, ToolCall } from './ToolCallCard'; export interface Message { id: string; role: 'user' | 'assistant'; content: string; timestamp: Date; isStreaming?: boolean; toolCalls?: ToolCall[]; } interface ChatMessageProps { message: Message; } export const ChatMessage: React.FC = ({ message }) => { const isAssistant = message.role === 'assistant'; return (
{/* Avatar */}
{isAssistant ? ( ) : ( )}
{/* Message Content */}
{isAssistant ? (
{/* Tool calls */} {message.toolCalls && message.toolCalls.length > 0 && (
{message.toolCalls.map((toolCall, idx) => ( ))}
)} {/* Message content */} {message.content && ( )} {message.isStreaming && ( )}
) : (

{message.content}

)}
{/* Timestamp */}
{message.timestamp.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', })}
); };