feat: copiers

This commit is contained in:
TrèsAbhi committed 2024-08-11 12:44:16 -05:00
1 parent 1fcb60ab3f
commit 1359452f67
2 files changed
+80 -19

No files matched your search

+27
View File
@@ -0,0 +1,27 @@
import { Button, ButtonProps, Tooltip } from '@radix-ui/themes';
import { useState } from 'react';
interface CopyButtonProps extends ButtonProps {
copy: () => string | undefined;
}
export function CopyButton({ copy, ...props }: CopyButtonProps) {
const [tooltipOpen, setTooltipOpen] = useState(false);
return (
<Tooltip open={tooltipOpen} content="Copied!">
<Button
{...props}
onClick={() => {
const content = copy();
if (content === undefined) return;
navigator.clipboard.writeText(content);
setTooltipOpen(true);
setTimeout(() => setTooltipOpen(false), 2000);
}}
/>
</Tooltip>
);
}