diff --git a/packages/checkout/package.json b/packages/checkout/package.json index c2ff8f209..8d42ed732 100644 --- a/packages/checkout/package.json +++ b/packages/checkout/package.json @@ -36,7 +36,6 @@ "motion": "^12.9.2", "pako": "^2.1.0", "qrcode.react": "^4.2.0", - "react-copy-to-clipboard": "^5.1.0", "timeago-react": "^3.0.7" }, "peerDependencies": { @@ -58,7 +57,6 @@ "@0xsequence/connect": "workspace:*", "@tanstack/react-query": "^5.74.11", "@types/pako": "^2.0.3", - "@types/react-copy-to-clipboard": "^5.0.7", "ethers": "^6.13.7", "react": "^19.1.0", "react-dom": "^19.1.0", diff --git a/packages/checkout/src/components/CopyButton.tsx b/packages/checkout/src/components/CopyButton.tsx index 21a185077..f1c245bd2 100644 --- a/packages/checkout/src/components/CopyButton.tsx +++ b/packages/checkout/src/components/CopyButton.tsx @@ -1,32 +1,27 @@ import { Button, CheckmarkIcon, CopyIcon } from '@0xsequence/design-system' -import React, { useEffect, useState, type ComponentProps } from 'react' -import { CopyToClipboard } from 'react-copy-to-clipboard' +import { useClipboard } from '@0xsequence/hooks' +import React, { type ComponentProps } from 'react' type ButtonProps = ComponentProps interface CopyButtonProps extends ButtonProps { text: string + inline?: boolean } export const CopyButton = (props: CopyButtonProps) => { - const { text, size = 'xs', ...rest } = props - const [isCopied, setCopy] = useState(false) + const { text, size = 'xs', inline = false, ...rest } = props + const [isCopied, setCopied] = useClipboard({ timeout: 4000 }) - useEffect(() => { - if (isCopied) { - setTimeout(() => { - setCopy(false) - }, 4000) - } - }, [isCopied]) - - const handleCopy = () => { - setCopy(true) - } - - return ( - -