"use client"; import { X } from "lucide-react"; import { cn } from "@/lib/utils"; import type { Message } from "@/types"; interface ReplyQuoteProps { /** Sender label of the quoted message: "You" for our own messages, * contact name for customer-sent messages. Caller resolves this — the * quote component doesn't see the parent Message. */ authorLabel: string; /** Compact text preview. Falls back to a placeholder for media types. */ preview: string; /** Present → renders the composer-chip variant with an X button. Absent → * renders the embedded-in-bubble variant. */ onDismiss?: () => void; /** True when embedded inside an outbound (primary-filled) bubble, so the * quote must read against the primary surface rather than the neutral * foreground — otherwise it goes low-contrast in light mode. */ onPrimary?: boolean; } export function ReplyQuote({ authorLabel, preview, onDismiss, onPrimary = false, }: ReplyQuoteProps) { const isChip = !!onDismiss; return (