mango-v4-ui/pages/index.tsx

60 lines
1.8 KiB
TypeScript

import { toUiDecimals } from '@blockworks-foundation/mango-v4'
import type { NextPage } from 'next'
import { useTranslation } from 'next-i18next'
import { serverSideTranslations } from 'next-i18next/serverSideTranslations'
import { useState } from 'react'
import AccountActions from '../components/account/AccountActions'
import DepositModal from '../components/modals/DepositModal'
import WithdrawModal from '../components/modals/WithdrawModal'
import mangoStore from '../store/state'
import { formatDecimal } from '../utils/numbers'
export async function getStaticProps({ locale }: { locale: string }) {
return {
props: {
...(await serverSideTranslations(locale, ['common', 'close-account'])),
},
}
}
const Index: NextPage = () => {
const { t } = useTranslation('common')
const mangoAccount = mangoStore((s) => s.mangoAccount)
const [showDepositModal, setShowDepositModal] = useState(false)
const [showWithdrawModal, setShowWithdrawModal] = useState(false)
return (
<>
<div className="flex items-end justify-between">
<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>
<AccountActions />
</div>
{showDepositModal ? (
<DepositModal
isOpen={showDepositModal}
onClose={() => setShowDepositModal(false)}
/>
) : null}
{showWithdrawModal ? (
<WithdrawModal
isOpen={showWithdrawModal}
onClose={() => setShowWithdrawModal(false)}
/>
) : null}
</>
)
}
export default Index