'use client'; import { firstBy } from 'thenby'; import { Grid } from '@umami/react-zen'; import { GridRow } from '@/components/common/GridRow'; import { PageBody } from '@/components/common/PageBody'; import { Panel } from '@/components/common/Panel'; import { RealtimeChart } from '@/components/metrics/RealtimeChart'; import { WorldMap } from '@/components/metrics/WorldMap'; import { useRealtimeQuery } from '@/components/hooks'; import { RealtimeLog } from './RealtimeLog'; import { RealtimeHeader } from './RealtimeHeader'; import { RealtimeUrls } from './RealtimeUrls'; import { RealtimeCountries } from './RealtimeCountries'; import { percentFilter } from '@/lib/filters'; export function RealtimePage({ websiteId }: { websiteId: string }) { const { data, isLoading, error } = useRealtimeQuery(websiteId); if (isLoading || error) { return ; } const countries = percentFilter( Object.keys(data.countries) .map(key => ({ x: key, y: data.countries[key] })) .sort(firstBy('y', -1)), ); return ( ); }