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