mango-v4-ui/pages/index.tsx

76 lines
2.5 KiB
TypeScript
Raw Normal View History

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
}
export default Index