// Copyright 2017-2021 @polkadot/react-query authors & contributors // SPDX-License-Identifier: Apache-2.0 import type { Moment } from '@polkadot/types/interfaces'; import BN from 'bn.js'; import React, { useEffect, useState } from 'react'; import { useApi, useCall } from '@polkadot/react-hooks'; import Elapsed from './Elapsed'; interface Props { children?: React.ReactNode; className?: string; label?: React.ReactNode; value?: Moment; } function TimeNow ({ children, className = '', label, value }: Props): React.ReactElement { const { api } = useApi(); const timestamp = useCall(!value && api.query.timestamp.now); const [now, setNow] = useState(); useEffect((): void => { setNow(value || timestamp); }, [timestamp, value]); return (
{label || ''} {children}
); } export default React.memo(TimeNow);