"use client" import { memo } from "react" import { formatDistanceToNow } from "date-fns" import { User, Bot, Terminal, Cpu } from "lucide-react" import { cn } from "@/lib/utils" import { ContentPartsRenderer } from "./content-parts-renderer" import type { AdaptedMessage } from "@/lib/adapters/ai-elements-adapter" interface MessageBubbleProps { message: AdaptedMessage } function RoleIcon({ role }: { role: string }) { switch (role) { case "user": return case "assistant": return case "system": return case "tool": return default: return } } export const MessageBubble = memo(function MessageBubble({ message, }: MessageBubbleProps) { const isUser = message.role === "user" const timeAgo = formatDistanceToNow(new Date(message.timestamp), { addSuffix: true, }) return (
{message.role} {timeAgo}
) })