diff --git a/src/app/settings/page.tsx b/src/app/settings/page.tsx index dc8fa29..8ea356b 100644 --- a/src/app/settings/page.tsx +++ b/src/app/settings/page.tsx @@ -91,9 +91,28 @@ export default function SettingsPage() { }; const copyToClipboard = async (text: string) => { - await navigator.clipboard.writeText(text); - setCopied(true); - setTimeout(() => setCopied(false), 2000); + try { + await navigator.clipboard.writeText(text); + setCopied(true); + setTimeout(() => setCopied(false), 2000); + } catch { + // Fallback for older browsers or permission denied + const textArea = document.createElement("textarea"); + textArea.value = text; + textArea.style.position = "fixed"; + textArea.style.left = "-9999px"; + document.body.appendChild(textArea); + textArea.select(); + try { + document.execCommand("copy"); + setCopied(true); + setTimeout(() => setCopied(false), 2000); + } catch { + // If all else fails, show the URL in a prompt + window.prompt("Copy this URL:", text); + } + document.body.removeChild(textArea); + } }; const handleImport = async () => {