import { isSameDay } from 'date-fns'; import { Loading, Icon, StatusLight } from 'react-basics'; import Icons from 'components/icons'; import { useSessionActivity, useTimezone } from 'components/hooks'; import styles from './SessionActivity.module.css'; export function SessionActivity({ websiteId, sessionId, startDate, endDate, }: { websiteId: string; sessionId: string; startDate: Date; endDate: Date; }) { const { formatDate } = useTimezone(); const { data, isLoading } = useSessionActivity(websiteId, sessionId, startDate, endDate); if (isLoading) { return ; } let lastDay = null; return (
{data.map(({ eventId, createdAt, urlPath, eventName, visitId }) => { const showHeader = !lastDay || !isSameDay(new Date(lastDay), new Date(createdAt)); lastDay = createdAt; return ( <> {showHeader && (
{formatDate(createdAt, 'EEEE, PPP')}
)}
{formatDate(createdAt, 'h:mm:ss aaa')}
{eventName ? : }
{eventName || urlPath}
); })}
); }