2022-07-14 22:20:20 -07:00
|
|
|
import { toUiDecimals } from '@blockworks-foundation/mango-v4'
|
2022-07-20 21:50:56 -07:00
|
|
|
import { useWallet } from '@solana/wallet-adapter-react'
|
2022-04-12 13:48:22 -07:00
|
|
|
import type { NextPage } from 'next'
|
2022-07-14 22:20:20 -07:00
|
|
|
import { useTranslation } from 'next-i18next'
|
2022-07-14 16:36:31 -07:00
|
|
|
import { serverSideTranslations } from 'next-i18next/serverSideTranslations'
|
2022-07-21 22:09:04 -07:00
|
|
|
import { useState } from 'react'
|
2022-07-15 04:09:23 -07:00
|
|
|
import AccountActions from '../components/account/AccountActions'
|
2022-07-14 22:20:20 -07:00
|
|
|
import DepositModal from '../components/modals/DepositModal'
|
2022-07-21 22:09:04 -07:00
|
|
|
// import UserSetupModal, {
|
|
|
|
// SKIP_ACCOUNT_SETUP_KEY,
|
|
|
|
// } from '../components/modals/UserSetupModal'
|
2022-07-14 22:20:20 -07:00
|
|
|
import WithdrawModal from '../components/modals/WithdrawModal'
|
2022-07-20 21:50:56 -07:00
|
|
|
import TokenList from '../components/TokenList'
|
2022-07-14 22:20:20 -07:00
|
|
|
import mangoStore from '../store/state'
|
|
|
|
import { formatDecimal } from '../utils/numbers'
|
2022-07-21 22:09:04 -07:00
|
|
|
// import useLocalStorageState from '../hooks/useLocalStorageState'
|
2022-04-12 13:48:22 -07:00
|
|
|
|
2022-07-14 16:36:31 -07:00
|
|
|
export async function getStaticProps({ locale }: { locale: string }) {
|
|
|
|
return {
|
|
|
|
props: {
|
2022-07-15 04:09:23 -07:00
|
|
|
...(await serverSideTranslations(locale, ['common', 'close-account'])),
|
2022-07-14 16:36:31 -07:00
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
2022-04-12 13:48:22 -07:00
|
|
|
|
2022-07-14 16:36:31 -07:00
|
|
|
const Index: NextPage = () => {
|
2022-07-14 22:20:20 -07:00
|
|
|
const { t } = useTranslation('common')
|
2022-07-21 22:09:04 -07:00
|
|
|
// const { connected } = useWallet()
|
2022-07-14 22:20:20 -07:00
|
|
|
const mangoAccount = mangoStore((s) => s.mangoAccount)
|
|
|
|
const [showDepositModal, setShowDepositModal] = useState(false)
|
|
|
|
const [showWithdrawModal, setShowWithdrawModal] = useState(false)
|
2022-07-21 22:09:04 -07:00
|
|
|
// const [showFirstAccountModal, setShowFirstAccountModal] = useState(false)
|
|
|
|
// const [skipAccountSetup] = useLocalStorageState(SKIP_ACCOUNT_SETUP_KEY)
|
2022-07-20 21:50:56 -07:00
|
|
|
|
2022-07-21 22:09:04 -07:00
|
|
|
// useEffect(() => {
|
|
|
|
// if (connected && !mangoAccount && !skipAccountSetup) {
|
|
|
|
// setShowFirstAccountModal(true)
|
|
|
|
// }
|
|
|
|
// }, [connected, mangoAccount])
|
2022-07-15 04:09:23 -07:00
|
|
|
|
2022-07-14 22:20:20 -07:00
|
|
|
return (
|
|
|
|
<>
|
2022-07-20 21:50:56 -07:00
|
|
|
<div className="mb-8 flex items-end justify-between border-b border-th-bkg-3 pb-8">
|
2022-07-14 22:20:20 -07:00
|
|
|
<div>
|
|
|
|
<p className="mb-1">{t('account-value')}</p>
|
|
|
|
<div className="text-5xl font-bold text-th-fgd-1">
|
|
|
|
$
|
|
|
|
{mangoAccount
|
|
|
|
? formatDecimal(
|
|
|
|
toUiDecimals(mangoAccount.getEquity().toNumber()),
|
|
|
|
2
|
|
|
|
)
|
|
|
|
: (0).toFixed(2)}
|
|
|
|
</div>
|
|
|
|
</div>
|
2022-07-15 04:09:23 -07:00
|
|
|
<AccountActions />
|
2022-07-14 22:20:20 -07:00
|
|
|
</div>
|
2022-07-20 21:50:56 -07:00
|
|
|
<TokenList />
|
2022-07-14 22:20:20 -07:00
|
|
|
{showDepositModal ? (
|
|
|
|
<DepositModal
|
|
|
|
isOpen={showDepositModal}
|
|
|
|
onClose={() => setShowDepositModal(false)}
|
|
|
|
/>
|
|
|
|
) : null}
|
|
|
|
{showWithdrawModal ? (
|
|
|
|
<WithdrawModal
|
|
|
|
isOpen={showWithdrawModal}
|
|
|
|
onClose={() => setShowWithdrawModal(false)}
|
|
|
|
/>
|
|
|
|
) : null}
|
|
|
|
</>
|
|
|
|
)
|
2022-04-12 13:48:22 -07:00
|
|
|
}
|
|
|
|
|
2022-05-31 18:41:18 -07:00
|
|
|
export default Index
|