import { cn } from '@/lib/utils';
import { renderMarkdown } from '@/lib/markdown';
import { RefreshCw, ArrowRight, Quote } 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 (
{isEmpty ? (
...
) : isUser ? (
{message.content}
) : (
)}
{/* Action buttons - only for assistant messages */}
{!isUser && !isEmpty && (
{onQuote && (
)}
{onRegenerate && (
)}
{onContinue && (
)}
)}
);
}