| 1234567891011121314151617181920212223242526272829 | import { useState } from 'react'type CopiedValue = string | nulltype CopyFn = (text: string) => Promise<boolean>function useCopyToClipboard(): [CopiedValue, CopyFn] {    const [copiedText, setCopiedText] = useState<CopiedValue>(null)    const copy: CopyFn = async text => {        if (!navigator?.clipboard) {            console.warn('Clipboard not supported')            return false        }        try {            await navigator.clipboard.writeText(text)            setCopiedText(text)            return true        } catch (error) {            console.warn('Copy failed', error)            setCopiedText(null)            return false        }    }    return [copiedText, copy]}export default useCopyToClipboard
 |