import { useCallback, useState } from 'react' import { ArrowLeftIcon, ArrowRightIcon } from '@heroicons/react/20/solid' import { useTranslation } from 'next-i18next' import mangoStore from '@store/mangoStore' import WalletIcon from './icons/WalletIcon' import { IconButton, LinkButton } from './shared/Button' import ConnectedMenu from './wallet/ConnectedMenu' import { ConnectWalletButton } from './wallet/ConnectWalletButton' import { IS_ONBOARDED_KEY } from '../utils/constants' import useLocalStorageState from '../hooks/useLocalStorageState' import UserSetupModal from './modals/UserSetupModal' import CreateAccountModal from './modals/CreateAccountModal' import MangoAccountsListModal from './modals/MangoAccountsListModal' import { useRouter } from 'next/router' import UserSetup from './UserSetup' const TopBar = () => { const { t } = useTranslation('common') const mangoAccount = mangoStore((s) => s.mangoAccount.current) const connected = mangoStore((s) => s.connected) const [isOnboarded] = useLocalStorageState(IS_ONBOARDED_KEY) const [showUserSetupModal, setShowUserSetupModal] = useState(false) const [showCreateAccountModal, setShowCreateAccountModal] = useState(false) const [showMangoAccountsModal, setShowMangoAccountsModal] = useState(false) const router = useRouter() const { query } = router const handleCloseModal = useCallback(() => { setShowUserSetupModal(false) }, []) const handleShowModal = useCallback(() => { setShowUserSetupModal(true) }, []) const handleShowAccounts = useCallback(() => { if (mangoAccount) { setShowMangoAccountsModal(true) } else { setShowCreateAccountModal(true) } }, [mangoAccount]) return ( <>
{query.token ? (
router.back()} hideBg size="small">
) : null} next {!connected ? ( {t('connect-helper')} ) : null}
{connected ? (
) : isOnboarded ? ( ) : ( )}
{showMangoAccountsModal ? ( setShowMangoAccountsModal(false)} /> ) : null} {showUserSetupModal ? ( ) : null} {showCreateAccountModal ? ( setShowCreateAccountModal(false)} /> ) : null} ) } export default TopBar