import clsx from 'clsx' import { useTranslation } from 'react-i18next' import { ChainStatusProps } from '@dao-dao/types' import { formatDateTimeTz } from '@dao-dao/utils' import { ErrorPage } from '../error' import { ChainLabel } from './ChainLabel' export const ChainStatus = ({ chainId, upStatus }: ChainStatusProps) => { const { t } = useTranslation() return (
{upStatus.loading ? t('info.loading') : upStatus.errored ? t('info.errored') : upStatus.data.caughtUp ? t('info.upToDate') : t('info.catchingUp')}
{t('info.blocksBehind')}
{( upStatus.data.remoteBlock.height - upStatus.data.exportedBlock.height ).toLocaleString()}
{t('info.lastBlock')}
{!upStatus.loading && !upStatus.errored ? upStatus.data.exportedBlock.height.toLocaleString() : '...'}
{!upStatus.loading && !upStatus.errored ? formatDateTimeTz( new Date(upStatus.data.exportedBlock.timestamp) ) : '...'}