"use client"; import * as React from "react"; export interface useCopyToClipboardProps { timeout?: number; } export function useCopyToClipboard({ timeout = 2000, }: useCopyToClipboardProps) { const [isCopied, setIsCopied] = React.useState(false); const copyToClipboard = (value: string) => { if (typeof window === "undefined" || !navigator.clipboard?.writeText) { return; } if (!value) { return; } navigator.clipboard.writeText(value).then(() => { setIsCopied(true); setTimeout(() => { setIsCopied(false); }, timeout); }); }; return { isCopied, copyToClipboard }; }