From 2b138a020617a05c38a5877760a394e5726f71b9 Mon Sep 17 00:00:00 2001 From: pheralb Date: Thu, 10 Aug 2023 16:24:46 +0100 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=9B=A0=EF=B8=8F=20copyToClipboard=20h?= =?UTF-8?q?ook=20improvements.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- website/src/hooks/useCopyToClipboard.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/src/hooks/useCopyToClipboard.ts b/website/src/hooks/useCopyToClipboard.ts index c1cf9ff..f17cc7b 100644 --- a/website/src/hooks/useCopyToClipboard.ts +++ b/website/src/hooks/useCopyToClipboard.ts @@ -3,7 +3,7 @@ import { useState } from "react" type CopiedValue = string | null type CopyFn = (text: string) => Promise -function useCopyToClipboard(): [CopiedValue, CopyFn] { +function useCopyToClipboard(): [CopyFn, CopiedValue] { const [copiedText, setCopiedText] = useState(null) const copy: CopyFn = async (text) => { @@ -22,7 +22,7 @@ function useCopyToClipboard(): [CopiedValue, CopyFn] { } } - return [copiedText, copy] + return [copy, copiedText] } export default useCopyToClipboard From 8cbe882dface9c33a7e8fb0aad9ec2b87428684d Mon Sep 17 00:00:00 2001 From: pheralb Date: Thu, 10 Aug 2023 16:25:04 +0100 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=9B=A0=EF=B8=8F=20Fix=20copy=20to=20c?= =?UTF-8?q?lipboard=20bug.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- website/src/components/card/index.tsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/website/src/components/card/index.tsx b/website/src/components/card/index.tsx index 6d8cef9..c4e7285 100644 --- a/website/src/components/card/index.tsx +++ b/website/src/components/card/index.tsx @@ -1,4 +1,5 @@ import type { ReactNode } from "react" +import { useState } from "react" import { toast } from "sonner" import { Tooltip, @@ -16,14 +17,16 @@ interface CardProps { } const Card = (props: CardProps) => { - const [value, copy] = useCopyToClipboard() + const [copy] = useCopyToClipboard() + const [isCopied, setIsCopied] = useState(false) const copyToClipboard = async (txt: string) => { copy(txt) + setIsCopied(true) toast("Copied to clipboard!", { icon: , description: `${txt}`, - onAutoClose: () => copy(""), + onAutoClose: () => setIsCopied(false), }) } @@ -37,7 +40,7 @@ const Card = (props: CardProps) => { > {props.icon}

- {value ? "Copied!" : props.name} + {isCopied ? "Copied!" : props.name}

From d70ce7f921dd28acf56a324d8283d86696629b0e Mon Sep 17 00:00:00 2001 From: pheralb Date: Thu, 10 Aug 2023 16:26:45 +0100 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=9B=A0=EF=B8=8F=20Fix=20handleCopy=20?= =?UTF-8?q?function.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- website/src/components/hero/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/components/hero/index.tsx b/website/src/components/hero/index.tsx index 63f8c6e..0ec556f 100644 --- a/website/src/components/hero/index.tsx +++ b/website/src/components/hero/index.tsx @@ -12,7 +12,7 @@ import ExternalArrow from "../icons/externalArrow" import useCopyToClipboard from "@/hooks/useCopyToClipboard" const Hero = () => { - const [value, copy] = useCopyToClipboard() + const [copy, value] = useCopyToClipboard() const [popoverOpen, setPopoverOpen] = useState(false) const handleCopy = (command: iCommand) => {