diff --git a/src/app/(main)/websites/[websiteId]/realtime/RealtimeHeader.tsx b/src/app/(main)/websites/[websiteId]/realtime/RealtimeHeader.tsx index c27143aac..a73c5207f 100644 --- a/src/app/(main)/websites/[websiteId]/realtime/RealtimeHeader.tsx +++ b/src/app/(main)/websites/[websiteId]/realtime/RealtimeHeader.tsx @@ -2,10 +2,15 @@ import MetricCard from 'components/metrics/MetricCard'; import { useMessages } from 'components/hooks'; import { RealtimeData } from 'lib/types'; import styles from './RealtimeHeader.module.css'; +import { type FormatNumberOptions, useIntl } from 'react-intl'; export function RealtimeHeader({ data }: { data: RealtimeData }) { const { formatMessage, labels } = useMessages(); const { totals }: any = data || {}; + const intl = useIntl(); + + const optionsNumber: FormatNumberOptions = { notation: 'compact', maximumSignificantDigits: 3 }; + const optionsSmallNumber: FormatNumberOptions = { notation: 'compact' }; return (
@@ -14,21 +19,33 @@ export function RealtimeHeader({ data }: { data: RealtimeData }) { className={styles.card} label={formatMessage(labels.views)} value={totals.views} + formatValue={(n: number) => + intl.formatNumber(+n, +n < 100 ? optionsSmallNumber : optionsNumber) + } /> + intl.formatNumber(+n, +n < 100 ? optionsSmallNumber : optionsNumber) + } /> + intl.formatNumber(+n, +n < 100 ? optionsSmallNumber : optionsNumber) + } /> + intl.formatNumber(+n, +n < 100 ? optionsSmallNumber : optionsNumber) + } />