import { cn } from '@/lib/utils';
import { renderMarkdown } from '@/lib/markdown';
import { RefreshCw, ArrowRight, Quote, Bot, User } from 'lucide-react';
import type { Message } from '@/types';
interface Props {
message: Message;
onRegenerate?: (msgId: string) => void;
onContinue?: (msgId: string) => void;
onQuote?: (content: string) => void;
}
export function ChatMessage({ message, onRegenerate, onContinue, onQuote }: Props) {
const isUser = message.role === 'user';
const isEmpty = !message.content;
return (
{/* Avatar */}
{isUser ? : }
{/* Content */}
{/* Role label */}
{isUser ? '你' : '美图 Agent'}
{/* Bubble */}
{isEmpty ? (
) : isUser ? (
{message.content}
) : (
)}
{/* Actions - only for assistant messages */}
{!isUser && !isEmpty && (
)}
);
}