"use client"; import { useState } from "react"; import { Copy, Edit3, RefreshCw, Check, ChevronDown } from "lucide-react"; import { useCopyPrefs } from "@/hooks/useCopyPrefs"; import { stripMarkdown } from "@/hooks/useMarkdown"; type MessageActionsProps = { content: string; disabled?: boolean; onEdit?: () => void; onRegenerate?: () => void; }; export function MessageActions({ content, disabled, onEdit, onRegenerate, }: MessageActionsProps) { const [copied, setCopied] = useState(false); const [dropdownOpen, setDropdownOpen] = useState(false); const { copyMode, setCopyMode } = useCopyPrefs(); const copy = async (text: string) => { await navigator.clipboard.writeText(text); setCopied(true); setTimeout(() => setCopied(false), 1500); }; const handleCopyDefault = () => { const textToCopy = copyMode === "markdown" ? content : stripMarkdown(content); copy(textToCopy); }; const handleModeSelect = (mode: "markdown" | "text") => { setCopyMode(mode); const textToCopy = mode === "markdown" ? content : stripMarkdown(content); copy(textToCopy); setDropdownOpen(false); }; return (