11import { Card , CheckmarkIcon , CopyIcon , IconButton , Text , truncateAddress } from '@0xsequence/design-system'
2+ import { useClipboard } from '@0xsequence/hooks'
23import { QRCodeCanvas } from 'qrcode.react'
3- import { useEffect , useState } from 'react'
4- import { CopyToClipboard } from 'react-copy-to-clipboard'
54import { useAccount } from 'wagmi'
65
76import { useSelectPaymentModal , useTransferFundsModal } from '../../hooks'
@@ -10,19 +9,7 @@ export const TransferFunds = () => {
109 const { openTransferFundsModal } = useTransferFundsModal ( )
1110 const { openSelectPaymentModal, closeSelectPaymentModal, selectPaymentSettings } = useSelectPaymentModal ( )
1211 const { address : userAddress } = useAccount ( )
13- const [ isCopied , setCopy ] = useState ( false )
14-
15- useEffect ( ( ) => {
16- if ( isCopied ) {
17- setTimeout ( ( ) => {
18- setCopy ( false )
19- } , 4000 )
20- }
21- } , [ isCopied ] )
22-
23- const handleCopy = ( ) => {
24- setCopy ( true )
25- }
12+ const [ isCopied , setCopied ] = useClipboard ( { timeout : 4000 } )
2613
2714 const onClickQrCode = ( e : React . MouseEvent < HTMLDivElement > ) => {
2815 e . preventDefault ( )
@@ -83,14 +70,13 @@ export const TransferFunds = () => {
8370 e . preventDefault ( )
8471 } }
8572 >
86- < CopyToClipboard text = { userAddress || '' } onCopy = { handleCopy } >
87- < IconButton
88- className = "text-muted"
89- variant = "base"
90- size = "md"
91- icon = { isCopied ? ( ) => < CheckmarkIcon size = "lg" /> : ( ) => < CopyIcon size = "lg" /> }
92- />
93- </ CopyToClipboard >
73+ < IconButton
74+ className = "text-muted"
75+ variant = "base"
76+ size = "md"
77+ icon = { isCopied ? ( ) => < CheckmarkIcon size = "lg" /> : ( ) => < CopyIcon size = "lg" /> }
78+ onClick = { ( ) => setCopied ( userAddress || '' ) }
79+ />
9480 </ div >
9581 </ Card >
9682 </ div >
0 commit comments