diff --git a/apps/website/app/demos/[demoname]/Social.tsx b/apps/website/app/demos/[demoname]/Social.tsx new file mode 100644 index 00000000..62b1d3a5 --- /dev/null +++ b/apps/website/app/demos/[demoname]/Social.tsx @@ -0,0 +1,120 @@ +"use client"; + +import { Style } from "@/components/Style"; +import { useEffect, useState } from "react"; +import { GoCommandPalette } from "react-icons/go"; +import { RxOpenInNewWindow } from "react-icons/rx"; +import { SiCodesandbox, SiGithub, SiStackblitz } from "react-icons/si"; + +export function Social({ + demoname, + embed_url, +}: { + demoname: string; + embed_url: string; +}) { + const [copied, setCopied] = useState(false); + + const handleClick = async () => { + await navigator.clipboard.writeText( + `npx -y degit pmndrs/examples/demos/${demoname}` + ); + setCopied(true); + }; + + useEffect(() => { + if (!copied) return; + const int = setTimeout(() => setCopied(false), 2000); + return () => clearTimeout(int); + }, [copied]); + + return ( +