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')}

{!upStatus.loading && !upStatus.errored && !upStatus.data.caughtUp && (

{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) ) : '...'}

{upStatus.errored && }
) }