umami/src/app/(main)/websites/[id]/realtime/RealtimeHeader.tsx

43 lines
1.2 KiB
TypeScript
Raw Normal View History

import MetricCard from 'components/metrics/MetricCard';
import useMessages from 'components/hooks/useMessages';
2023-12-09 08:35:54 +00:00
import { RealtimeData } from 'lib/types';
import styles from './RealtimeHeader.module.css';
2023-12-09 08:35:54 +00:00
export function RealtimeHeader({ data }: { data: RealtimeData }) {
2023-03-22 21:05:55 +00:00
const { formatMessage, labels } = useMessages();
2023-12-09 08:35:54 +00:00
const { pageviews, visitors, events, countries } = data || {};
2023-02-18 05:42:42 +00:00
return (
<div className={styles.header}>
<div className={styles.metrics}>
<MetricCard
className={styles.card}
label={formatMessage(labels.views)}
value={pageviews?.length}
hideComparison
/>
<MetricCard
className={styles.card}
label={formatMessage(labels.visitors)}
2023-02-18 05:42:42 +00:00
value={visitors?.length}
hideComparison
/>
<MetricCard
className={styles.card}
label={formatMessage(labels.events)}
value={events?.length}
hideComparison
/>
<MetricCard
className={styles.card}
label={formatMessage(labels.countries)}
2023-02-15 10:27:18 +00:00
value={countries?.length}
hideComparison
/>
</div>
</div>
);
}
2023-04-21 15:00:42 +00:00
export default RealtimeHeader;