import React, { useMemo } from 'react'; import { FormattedMessage } from 'react-intl'; import classNames from 'classnames'; import useFetch from 'hooks/useFetch'; import Dot from 'components/common/Dot'; import { TOKEN_HEADER } from 'lib/constants'; import useShareToken from 'hooks/useShareToken'; import styles from './ActiveUsers.module.css'; export default function ActiveUsers({ websiteId, className, value, interval = 60000 }) { const shareToken = useShareToken(); const url = value !== undefined && websiteId ? `/website/${websiteId}/active` : null; const { data } = useFetch(url, { interval, headers: { [TOKEN_HEADER]: shareToken?.token }, }); const count = useMemo(() => { return value || data?.[0]?.x || 0; }, [data, value]); if (count === 0) { return null; } return (
); }