Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | import { Button } from "@heroui/button" import { cn } from "@heroui/react" import { CheckIcon, CopyIcon } from "lucide-react" import { useCallback, useState } from "react" import HeroTooltip from "@/components/common/HeroTooltip" const CopyTaskButton: React.FC<{ taskText?: string className?: string }> = ({ taskText, className }) => { const [copied, setCopied] = useState(false) const handleCopy = useCallback(() => { if (!taskText) { return } navigator.clipboard.writeText(taskText).then(() => { setCopied(true) setTimeout(() => setCopied(false), 1500) }) }, [taskText]) return ( <HeroTooltip content="Copy Text" placement="right"> <Button aria-label="Copy" className={cn("bg-transparent hover:opacity-100", className)} isIconOnly={true} onPress={() => handleCopy()} radius="sm" size="sm"> {copied ? <CheckIcon size="13" /> : <CopyIcon size="13" />} </Button> </HeroTooltip> ) } export default CopyTaskButton |