import { type ClassValue, clsx } from "clsx"; import { twMerge } from "tailwind-merge"; export const cn = (...inputs: ClassValue[]) => { return twMerge(clsx(inputs)); }; export const copyToClipboard = async (text: string): Promise => { try { if (navigator?.clipboard?.writeText) { await navigator.clipboard.writeText(text); return true; } else { const textArea = document.createElement("textarea"); textArea.value = text; textArea.style.position = "fixed"; textArea.style.left = "-9999px"; textArea.style.top = "-9999px"; document.body.appendChild(textArea); textArea.focus(); textArea.select(); const successful = document.execCommand("copy"); document.body.removeChild(textArea); return successful; } } catch (err) { console.error("Failed to copy to clipboard:", err); return false; } };