/** * 點擊複製按鈕組件 */ import { useState } from "react"; import { Check, Copy } from "lucide-react"; import { Button } from "@/Components/ui/button"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "@/Components/ui/tooltip"; import { toast } from "sonner"; interface CopyButtonProps { text: string; label?: string; className?: string; } export default function CopyButton({ text, label = "複製", className }: CopyButtonProps) { const [copied, setCopied] = useState(false); const handleCopy = async () => { try { await navigator.clipboard.writeText(text); setCopied(true); toast.success(`${label}已複製`); setTimeout(() => setCopied(false), 2000); } catch (err) { toast.error("複製失敗"); } }; return (

{copied ? "已複製!" : label}

); }