import { ReactElement, useContext } from 'react' import { Button } from '@material-ui/core' import Wallet from 'remixicon-react/Wallet3LineIcon' import ExchangeFunds from 'remixicon-react/ExchangeFundsLineIcon' import Upload from 'remixicon-react/UploadLineIcon' import { Context as BeeContext } from '../../providers/Bee' import Card from '../../components/Card' import Map from '../../components/Map' import ExpandableListItem from '../../components/ExpandableListItem' import { useNavigate } from 'react-router' import { ROUTES } from '../../routes' import { useIsBeeDesktop, useNewBeeDesktopVersion } from '../../hooks/apiHooks' import { BEE_DESKTOP_LATEST_RELEASE_PAGE } from '../../utils/desktop' import NodeInfoCard from './NodeInfoCard' export default function Status(): ReactElement { const { status, latestUserVersion, isLatestBeeVersion, latestBeeVersionUrl, topology, nodeInfo, balance, chequebookBalance, } = useContext(BeeContext) const { isBeeDesktop, beeDesktopVersion } = useIsBeeDesktop() const { newBeeDesktopVersion } = useNewBeeDesktopVersion(isBeeDesktop) const navigate = useNavigate() return (
{nodeInfo?.beeMode && ['light', 'full', 'dev'].includes(nodeInfo.beeMode) ? ( navigate(ROUTES.ACCOUNT_WALLET), }} icon={} title={`${balance?.bzz.toSignificantDigits(4)} xBZZ | ${balance?.dai.toSignificantDigits(4)} xDAI`} subtitle="Current wallet balance." status="ok" /> ) : ( navigate(ROUTES.TOP_UP), }} icon={} title="Your wallet is not setup." subtitle="To share content on Swarm, please setup your wallet." status="error" /> )} {nodeInfo?.beeMode && ['light', 'full', 'dev'].includes(nodeInfo.beeMode) && ( <>
{chequebookBalance?.availableBalance !== undefined && chequebookBalance?.availableBalance.toBigNumber.isGreaterThan(0) ? ( navigate(ROUTES.ACCOUNT_CHEQUEBOOK), }} icon={} title={`${chequebookBalance?.availableBalance.toSignificantDigits(4)} xBZZ`} subtitle="Current chequebook balance." status="ok" /> ) : ( navigate(ROUTES.ACCOUNT_CHEQUEBOOK), }} icon={} title={ chequebookBalance?.availableBalance ? `${chequebookBalance.availableBalance.toFixedDecimal(4)} xBZZ` : 'No available balance.' } subtitle="Chequebook not setup." status="error" /> )} )}
{isBeeDesktop && ( {`${beeDesktopVersion} `}
} /> )} Bee {` ${latestUserVersion ?? '-'} `} {latestUserVersion && !isBeeDesktop && ( )}
} />
) }