import { Menu, Transition } from '@headlessui/react' import { ArrowRightOnRectangleIcon, UserCircleIcon, } from '@heroicons/react/20/solid' import { useWallet } from '@solana/wallet-adapter-react' import { useTranslation } from 'next-i18next' import { Fragment, useCallback, useEffect, useState } from 'react' import mangoStore from '@store/mangoStore' import { notify } from '../../utils/notifications' import ProfileImage from '../shared/ProfileImage' import { abbreviateAddress } from '../../utils/formatting' import { PublicKey } from '@solana/web3.js' import { useViewport } from 'hooks/useViewport' import { breakpoints } from '../../utils/theme' import EditProfileModal from '@components/modals/EditProfileModal' const ConnectedMenu = () => { const { t } = useTranslation('common') // const [showProfileImageModal, setShowProfileImageModal] = useState(false) const [showEditProfileModal, setShowEditProfileModal] = useState(false) const set = mangoStore((s) => s.set) const { publicKey, disconnect, wallet } = useWallet() const actions = mangoStore((s) => s.actions) const profileDetails = mangoStore((s) => s.profile.details) const loadProfileDetails = mangoStore((s) => s.profile.loadDetails) const { width } = useViewport() const isMobile = width ? width < breakpoints.md : false const handleDisconnect = useCallback(() => { set((state) => { state.mangoAccount.current = undefined state.connected = false }) disconnect() wallet?.adapter.disconnect() notify({ type: 'info', title: t('wallet-disconnected'), }) }, [set, t, disconnect]) useEffect(() => { if (publicKey) { actions.fetchProfileDetails(publicKey.toString()) } }, [publicKey]) const { profile_name, wallet_pk } = profileDetails return ( <> {({ open }) => (
{!loadProfileDetails && !isMobile ? (

{wallet_pk ? abbreviateAddress(new PublicKey(wallet_pk)) : ''}

{profile_name}

) : null}
{/* */} {/* */}
)}
{showEditProfileModal ? ( setShowEditProfileModal(false)} /> ) : null} ) } export default ConnectedMenu