'use client'; import { Button } from "@/components/ui/button"; import { cn } from "@/lib/utils"; import { CheckCircle2, Copy } from "lucide-react"; import { useCallback, useState } from "react"; interface CopyIconButtonProps { onCopy: () => boolean; className?: string; } export const CopyIconButton = ({ onCopy, className }: CopyIconButtonProps) => { const [copied, setCopied] = useState(false); const onClick = useCallback(() => { const success = onCopy(); if (success) { setCopied(true); setTimeout(() => setCopied(false), 2000); } }, [onCopy]); return ( ) }