react-hartan
Version:
A simple components library for React
29 lines (24 loc) • 759 B
JavaScript
import { useState } from "react"
export default function useCopy(textToCopy) {
const [isCopied, setIsCopied] = useState(false);
async function copyTextToClipboard(text) {
if ('clipboard' in navigator) {
return await navigator.clipboard.writeText(text);
} else {
return document.execCommand('copy', true, text);
}
}
const handleCopyClick = () => {
copyTextToClipboard(textToCopy)
.then(() => {
setIsCopied(true);
setTimeout(() => {
setIsCopied(false);
}, 1500);
})
.catch((err) => {
console.log(err);
});
}
return [isCopied, handleCopyClick]
}