MCPcopy Create free account
hub / github.com/VGabriel45/SolidityVisualizer / CopyButton

Function CopyButton

src/components/copy-button.tsx:16–61  ·  view source on GitHub ↗
({ onClick, loading = false }: CopyButtonProps)

Source from the content-addressed store, hash-verified

14}
15
16export function CopyButton({ onClick, loading = false }: CopyButtonProps) {
17 const [copied, setCopied] = useState(false);
18
19 const handleClick = () => {
20 if (!loading) {
21 onClick();
22 setCopied(true);
23 setTimeout(() => setCopied(false), 2000); // Reset after 2 seconds
24 }
25 };
26
27 return (
28 <TooltipProvider>
29 <Tooltip>
30 <TooltipTrigger asChild>
31 <Button
32 onClick={handleClick}
33 disabled={loading}
34 className="border-[3px] border-black bg-green-400 p-4 px-4 text-base text-black shadow-[4px_4px_0_0_#000000] transition-transform hover:-translate-x-0.5 hover:-translate-y-0.5 hover:transform hover:bg-green-400 sm:p-6 sm:px-6 sm:text-lg relative"
35 >
36 {loading ? (
37 <Loader2 className="h-6 w-6 animate-spin" />
38 ) : copied ? (
39 <>
40 <Check className="h-6 w-6" />
41 <span className="text-sm">Copied!</span>
42 </>
43 ) : (
44 <>
45 <FileText className="h-6 w-6" />
46 <span className="text-sm">Copy Mermaid.js Code</span>
47 </>
48 )}
49 </Button>
50 </TooltipTrigger>
51 <TooltipContent>
52 <p>
53 {copied
54 ? "Copied!"
55 : "Copy the internal Mermaid.js code needed to generate the diagram"}
56 </p>
57 </TooltipContent>
58 </Tooltip>
59 </TooltipProvider>
60 );
61}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected