"use client"; import { ArrowLeft, MessageSquare, MessagesSquare } from "lucide-react"; import { Card } from "@/components/ui/card"; import { getMessageChannelLabel, renderMessageContent } from "@/lib/format"; import type { AttachmentRecord, MessageRecord } from "@/lib/types"; import { cn } from "@/lib/utils"; import { AiAnalysisPanel } from "./ai-analysis-panel"; import { AttachmentsGrid } from "./attachments-grid"; interface MessageDetailProps { message: MessageRecord; attachments?: AttachmentRecord[]; onBack?: () => void; } export function MessageDetail({ message, attachments, onBack, }: MessageDetailProps) { return ( {onBack && ( )} {/* Message header */}
{message.username} {message.thread_id && } {getMessageChannelLabel(message)}
{/* Content */}
{renderMessageContent( message.edited_content ?? message.content, message.metadata, ) || "(no text content)"}
{/* Attachments */} {attachments && attachments.length > 0 && (
)} {/* AI Analysis */}
); }