import { FC, useEffect, useState } from 'react' import { AnimatedOverlay, Content } from 'components/primitives/Dialog' import { useAccount, useDisconnect } from 'wagmi' import { useENSResolver } from 'hooks' import { Box, Button, Flex, Grid, Text } from 'components/primitives' import { Avatar } from 'components/primitives/Avatar' import ThemeSwitcher from './ThemeSwitcher' import Jazzicon from 'react-jazzicon/dist/Jazzicon' import { jsNumberForAddress } from 'react-jazzicon' import * as DialogPrimitive from '@radix-ui/react-dialog' import { AnimatePresence, motion } from 'framer-motion' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { faChartLine, faClose, faCopy, faHand, faList, faRightFromBracket, faStore, } from '@fortawesome/free-solid-svg-icons' import CopyText from 'components/common/CopyText' import Link from 'next/link' import Wallet from './Wallet' import { useRouter } from 'next/router' export const AccountSidebar: FC = () => { const { address } = useAccount() const { disconnect } = useDisconnect() const router = useRouter() const { avatar: ensAvatar, shortAddress, shortName: shortEnsName, } = useENSResolver(address) const [open, setOpen] = useState(false) useEffect(() => { setOpen(false) }, [router.asPath]) const trigger = ( ) return ( {trigger && ( {trigger} )} {open && ( {ensAvatar ? ( ) : ( )} {shortEnsName ? shortEnsName : shortAddress} {!shortEnsName ? ( ) : null} {shortEnsName ? ( {shortAddress} ) : null} Portfolio Listings Offers Made Activity Theme )} ) }