Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@sushiswap/hooks / dist / useCopyClipboard.js
Size: Mime:
import copy from 'copy-to-clipboard';
import { useCallback, useEffect, useState } from 'react';
export function useCopyClipboard(timeout = 500) {
    const [isCopied, setIsCopied] = useState(false);
    const staticCopy = useCallback((text) => {
        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];
}