mirror of
https://github.com/luxfi/bridge.git
synced 2026-09-24 00:26:46 +00:00
27 lines
646 B
TypeScript
27 lines
646 B
TypeScript
import copy from 'copy-to-clipboard'
|
|
import { useCallback, useEffect, useState } from 'react'
|
|
|
|
export default function useCopyClipboard(timeout = 500): [boolean, (toCopy: string | number) => void] {
|
|
const [isCopied, setIsCopied] = useState(false)
|
|
|
|
const staticCopy = useCallback((text:any) => {
|
|
const didCopy = copy(text)
|
|
setIsCopied(didCopy)
|
|
}, [])
|
|
|
|
useEffect(() => {
|
|
if (isCopied) {
|
|
const hide = setTimeout(() => {
|
|
setIsCopied(false)
|
|
}, timeout)
|
|
|
|
return () => {
|
|
clearTimeout(hide)
|
|
}
|
|
}
|
|
return undefined
|
|
}, [isCopied, setIsCopied, timeout])
|
|
|
|
return [isCopied, staticCopy]
|
|
}
|