Files
kiss-translator/src/views/Selection/CopyBtn.js

36 lines
886 B
JavaScript
Raw Normal View History

2023-10-26 12:24:24 +08:00
import IconButton from "@mui/material/IconButton";
import ContentCopyIcon from "@mui/icons-material/ContentCopy";
import LibraryAddCheckIcon from "@mui/icons-material/LibraryAddCheck";
import { useState } from "react";
export default function CopyBtn({ text }) {
const [copied, setCopied] = useState(false);
const handleClick = async (e) => {
2023-10-26 12:24:24 +08:00
e.stopPropagation();
await navigator.clipboard.writeText(text);
2023-10-26 12:24:24 +08:00
setCopied(true);
const timer = setTimeout(() => {
clearTimeout(timer);
setCopied(false);
}, 500);
};
return (
<IconButton
size="small"
sx={{
opacity: 0.5,
"&:hover": {
opacity: 1,
},
}}
onClick={handleClick}
>
{copied ? (
<LibraryAddCheckIcon fontSize="inherit" />
) : (
<ContentCopyIcon fontSize="inherit" />
)}
</IconButton>
);
}