diff --git a/packages/page-parachains/src/Overview/Summary.tsx b/packages/page-parachains/src/Overview/Summary.tsx index 29d1f24ab6..b930297329 100644 --- a/packages/page-parachains/src/Overview/Summary.tsx +++ b/packages/page-parachains/src/Overview/Summary.tsx @@ -10,6 +10,7 @@ import { BestNumber } from '@polkadot/react-query'; import { formatNumber, isNumber } from '@polkadot/util'; import { useTranslation } from '../translate'; +import useLeasePeriod from '../useLeasePeriod'; interface Props { parachainCount?: number; @@ -20,6 +21,7 @@ interface Props { function Summary ({ parachainCount, proposalCount, upcomingCount }: Props): React.ReactElement { const { t } = useTranslation(); const { api } = useApi(); + const leaseInfo = useLeasePeriod(); return ( @@ -46,6 +48,18 @@ function Summary ({ parachainCount, proposalCount, upcomingCount }: Props): Reac )} + {leaseInfo && ( + ('lease period')} + progress={{ + total: leaseInfo.length, + value: leaseInfo.remainder, + withTime: true + }} + > + {formatNumber(leaseInfo.currentPeriod)} + + )}
(api.derive.chain.bestNumber); + + return useMemo((): Result | null => { + if (api.consts.slots?.leasePeriod && bestNumber) { + const length = api.consts.slots.leasePeriod as BlockNumber; + + return { + currentPeriod: bestNumber.div(length), + length, + remainder: bestNumber.mod(length) + }; + } + + return null; + }, [api, bestNumber]); +}