import { HStack, Icon, IconButton, Tooltip, Text } from "@chakra-ui/react"; import { useState } from "react"; import { MdContentCopy } from "react-icons/md"; import { useHandledAsyncCallback } from "~/utils/hooks"; const CopiableCode = ({ code }: { code: string }) => { const [copied, setCopied] = useState(false); const [copyToClipboard] = useHandledAsyncCallback(async () => { await navigator.clipboard.writeText(code); setCopied(true); }, [code]); return ( {code} } size="xs" colorScheme="white" variant="ghost" onClick={copyToClipboard} onMouseLeave={() => setCopied(false)} /> ); }; export default CopiableCode;