1249c0df71
* chore: initial commit * refactor: remove unnecessary wrappers * style: add missing newline * chore: bump bee-js * chore: ignore any cast in fdp * fix: remove cid import * fix: make TextEncoder and TextDecoder available in jest * refactor: dedupe stamp ttl second conversion * refactor: use convenience methods from bee-js * feat: update to bee-js for restored ens support * fix: bump bee-js to get download fix * fix: resolve feed before downloading reference * fix: fix token displays * fix: fix token input modal error message * refactor: remove wallet balance provider * chore: remove dead code * refactor: upcoming bee js 0.15.0 (#692) * chore: initial commit * fix: do not break page when duration seconds is 0 * ci: remove cache * chore: upgrade bee-js * feat: bee-js and bee v2.6 compatibility * chore: switch upcoming/bee-js to ethersphere/bee-js
74 lines
3.1 KiB
TypeScript
74 lines
3.1 KiB
TypeScript
import { Box } from '@material-ui/core'
|
|
import { ReactElement, useContext } from 'react'
|
|
import ExpandableList from '../../../components/ExpandableList'
|
|
import ExpandableListItem from '../../../components/ExpandableListItem'
|
|
import ExpandableListItemActions from '../../../components/ExpandableListItemActions'
|
|
import ExpandableListItemKey from '../../../components/ExpandableListItemKey'
|
|
import TroubleshootConnectionCard from '../../../components/TroubleshootConnectionCard'
|
|
import DepositModal from '../../../containers/DepositModal'
|
|
import WithdrawModal from '../../../containers/WithdrawModal'
|
|
import { useAccounting } from '../../../hooks/accounting'
|
|
import { Context as BeeContext, CheckState } from '../../../providers/Bee'
|
|
import { Context as SettingsContext } from '../../../providers/Settings'
|
|
import PeerBalances from '../../accounting/PeerBalances'
|
|
import { AccountNavigation } from '../AccountNavigation'
|
|
import { Header } from '../Header'
|
|
|
|
export function AccountChequebook(): ReactElement {
|
|
const { status, nodeAddresses, chequebookAddress, chequebookBalance, settlements, peerBalances } =
|
|
useContext(BeeContext)
|
|
const { beeApi } = useContext(SettingsContext)
|
|
|
|
const { accounting, totalUncashed, isLoadingUncashed } = useAccounting(beeApi, settlements, peerBalances)
|
|
|
|
if (status.all === CheckState.ERROR) return <TroubleshootConnectionCard />
|
|
|
|
const showChequebook = chequebookBalance?.totalBalance !== undefined
|
|
|
|
return (
|
|
<>
|
|
<Header />
|
|
<AccountNavigation active="CHEQUEBOOK" />
|
|
<div>
|
|
{showChequebook && (
|
|
<ExpandableList label="Chequebook" defaultOpen>
|
|
<ExpandableListItem
|
|
label="Total Balance"
|
|
value={`${chequebookBalance?.totalBalance.toSignificantDigits(4)} xBZZ`}
|
|
/>
|
|
<ExpandableListItem
|
|
label="Available Uncommitted Balance"
|
|
value={`${chequebookBalance?.availableBalance.toSignificantDigits(4)} xBZZ`}
|
|
/>
|
|
<ExpandableListItem
|
|
label="Total Cheques Amount Sent"
|
|
value={`${settlements?.totalSent.toSignificantDigits(4)} xBZZ`}
|
|
/>
|
|
<Box mb={2}>
|
|
<ExpandableListItem
|
|
label="Total Cheques Amount Received"
|
|
value={`${settlements?.totalReceived.toSignificantDigits(4)} xBZZ`}
|
|
/>
|
|
</Box>
|
|
<ExpandableListItemActions>
|
|
<WithdrawModal />
|
|
<DepositModal />
|
|
</ExpandableListItemActions>
|
|
</ExpandableList>
|
|
)}
|
|
<ExpandableList label="Blockchain" defaultOpen>
|
|
<ExpandableListItemKey
|
|
label="Ethereum address"
|
|
value={nodeAddresses?.ethereum ? nodeAddresses.ethereum.toChecksum() : ''}
|
|
/>
|
|
<ExpandableListItemKey
|
|
label="Chequebook contract address"
|
|
value={chequebookAddress?.chequebookAddress || ''}
|
|
/>
|
|
</ExpandableList>
|
|
<PeerBalances accounting={accounting} isLoadingUncashed={isLoadingUncashed} totalUncashed={totalUncashed} />
|
|
</div>
|
|
</>
|
|
)
|
|
}
|