'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 }; }