| 1234567891011121314151617181920212223242526272829 | 
							- import { useState } from 'react'
 
- type CopiedValue = string | null
 
- type 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
 
 
  |