11import { useRef , useState } from "react" ;
22import Link from "next/link" ;
33import { NetworkOptions } from "./NetworkOptions" ;
4+ import { FundButton } from "@coinbase/onchainkit/fund" ;
45import { Avatar , Badge , Identity , Name } from "@coinbase/onchainkit/identity" ;
56import CopyToClipboard from "react-copy-to-clipboard" ;
67import { getAddress } from "viem" ;
78import { Address } from "viem" ;
89import { useAccount , useDisconnect } from "wagmi" ;
910import {
11+ ArrowDownLeftIcon ,
1012 ArrowLeftOnRectangleIcon ,
1113 ArrowTopRightOnSquareIcon ,
14+ ArrowUpRightIcon ,
1215 ArrowsRightLeftIcon ,
1316 CheckCircleIcon ,
1417 DocumentDuplicateIcon ,
15- QrCodeIcon ,
1618 UserIcon ,
17- WalletIcon ,
1819} from "@heroicons/react/24/outline" ;
1920import { useOutsideClick } from "~~/hooks/scaffold-eth" ;
2021import { getTargetNetworks } from "~~/utils/scaffold-eth" ;
@@ -43,14 +44,21 @@ export const AddressInfoDropdown = ({ address, blockExplorerAddressLink }: Addre
4344 } ;
4445 useOutsideClick ( dropdownRef , closeDropdown ) ;
4546
47+ const openPopupWindow = ( url : string | URL | undefined ) => {
48+ window . open ( url , "popup" , "width=800,height=600" ) ;
49+ } ;
50+
4651 return (
4752 < >
4853 < details ref = { dropdownRef } className = "dropdown dropdown-end leading-3" >
4954 { /* <summary
5055 tabIndex={0}
5156 className="btn btn-secondary bg-base-200 btn-sm pl-0 pr-2 shadow-md dropdown-toggle gap-0 !h-auto"
5257 > */ }
53- < summary tabIndex = { 0 } className = "btn btn-secondary bg-base-300 btn-sm shadow-md dropdown-toggle gap-0 !h-auto" >
58+ < summary
59+ tabIndex = { 0 }
60+ className = "btn btn-secondary bg-base-300 hover:bg-base-300 btn-sm shadow-md dropdown-toggle gap-0 !h-auto"
61+ >
5462 < Identity
5563 className = "rounded-lg bg-base-300 p-0 "
5664 address = { address }
@@ -68,27 +76,46 @@ export const AddressInfoDropdown = ({ address, blockExplorerAddressLink }: Addre
6876 >
6977 < NetworkOptions hidden = { ! selectingNetwork } />
7078 < li className = { selectingNetwork ? "hidden" : "" } >
71- < div className = "btn-sm !rounded-xl flex gap-3 py-3" >
79+ < div className = "btn-sm !rounded-xl flex gap-3 py-3 bg-orange-500 hover:bg-orange-600 active:bg-orange-500 " >
7280 < UserIcon className = "text-xl font-normal h-6 w-4 cursor-pointer ml-2 sm:ml-0" aria-hidden = "true" />
7381 { /* <Link href={blockExplorerAddressLink} rel="noopener noreferrer" className="whitespace-nowrap"> */ }
7482 < Link href = { `/profile/${ connectedAddress } ` } passHref >
7583 Go to Profile
7684 </ Link >
7785 </ div >
7886 </ li >
87+ < FundButton text = "Add funds" className = "py-1 px-3.5 gap-1 text-md rounded-xl justify-start font-normal" />
7988 < li className = { selectingNetwork ? "hidden" : "" } >
80- < button className = "menu-item btn-sm !rounded-xl flex gap-3 py-3" type = "button" >
81- < WalletIcon className = "h-6 w-4 ml-2 sm:ml-0" />
82- < a
83- target = "_blank"
84- href = "https://wallet.coinbase.com"
85- rel = "noopener noreferrer"
86- className = "whitespace-nowrap"
87- >
88- Go to Wallet Dashboard
89- </ a >
89+ < button
90+ className = "menu-item btn-sm !rounded-xl bg-[#4f46e5] hover:bg-[#4338CA] active:bg-[#4338CA] flex gap-3 py-3"
91+ type = "button"
92+ onClick = { ( ) => openPopupWindow ( "https://wallet.coinbase.com/es-ES/receive" ) }
93+ >
94+ < ArrowDownLeftIcon className = "h-6 w-4 ml-2 sm:ml-0 text-white" />
95+ < span className = "text-white" > Receive funds</ span >
96+ </ button >
97+ </ li >
98+ < li className = { selectingNetwork ? "hidden" : "" } >
99+ < button
100+ className = "menu-item btn-sm !rounded-xl bg-[#4f46e5] hover:bg-[#4338CA] active:bg-[#4338CA] flex gap-3 py-3"
101+ type = "button"
102+ onClick = { ( ) => openPopupWindow ( "https://wallet.coinbase.com/es-ES/send" ) }
103+ >
104+ < ArrowUpRightIcon className = "h-6 w-4 ml-2 sm:ml-0 text-white" />
105+ < span className = "text-white" > Send funds</ span >
90106 </ button >
91107 </ li >
108+ < li className = { selectingNetwork ? "hidden" : "" } >
109+ < button
110+ className = "menu-item btn-sm !rounded-xl bg-[#4f46e5] hover:bg-[#4338CA] active:bg-[#4338CA] flex gap-3 py-3"
111+ type = "button"
112+ onClick = { ( ) => openPopupWindow ( "https://wallet.coinbase.com/es-ES/swap" ) }
113+ >
114+ < ArrowsRightLeftIcon className = "h-6 w-4 ml-2 sm:ml-0 text-white" />
115+ < span className = "text-white" > Convert funds</ span >
116+ </ button >
117+ </ li >
118+
92119 < li className = { selectingNetwork ? "hidden" : "" } >
93120 { addressCopied ? (
94121 < div className = "btn-sm !rounded-xl flex gap-3 py-3" >
@@ -119,13 +146,6 @@ export const AddressInfoDropdown = ({ address, blockExplorerAddressLink }: Addre
119146 ) }
120147 </ li >
121148
122- < li className = { selectingNetwork ? "hidden" : "" } >
123- < label htmlFor = "qrcode-modal" className = "btn-sm !rounded-xl flex gap-3 py-3" >
124- < QrCodeIcon className = "h-6 w-4 ml-2 sm:ml-0" />
125- < span className = "whitespace-nowrap" > View QR Code</ span >
126- </ label >
127- </ li >
128-
129149 < li className = { selectingNetwork ? "hidden" : "" } >
130150 < button className = "menu-item btn-sm !rounded-xl flex gap-3 py-3" type = "button" >
131151 < ArrowTopRightOnSquareIcon className = "h-6 w-4 ml-2 sm:ml-0" />
0 commit comments