"use client"; import { cn } from "@/lib/utils"; import { Avatar } from "@/components/ui/avatar"; import { useSession } from "next-auth/react"; export interface ChatMessageViewProps { message: { id: string; body: string; authorUserId: string; timestamp: string | Date; sequence: number; parentMessageId?: string; editState?: "editing" | "saved"; }; author: { id: string; name: string; avatarUrl?: string; }; isEditing?: boolean; onEdit?: (messageId: string) => void; onDelete?: (messageId: string) => void; } export function ChatMessageView({ message, author, isEditing = false, onEdit, onDelete, }: ChatMessageViewProps) { const { data: session } = useSession(); const currentUserId = session?.user?.id; const isAuthor = message.authorUserId === currentUserId; const isEditable = isAuthor && !isEditing; const avatarSrc = author.avatarUrl || `/default-avatar.png`; const displayName = author.name || "Unknown User"; return (