import { isSameDay } from 'date-fns';
import {
Icon,
StatusLight,
Column,
Row,
Heading,
Text,
Button,
DialogTrigger,
Popover,
Dialog,
} from '@umami/react-zen';
import { LoadingPanel } from '@/components/common/LoadingPanel';
import { Eye, FileText } from '@/components/icons';
import { Lightning } from '@/components/svg';
import { useMessages, useSessionActivityQuery, useTimezone } from '@/components/hooks';
import { EventData } from '@/components/metrics/EventData';
export function SessionActivity({
websiteId,
sessionId,
startDate,
endDate,
}: {
websiteId: string;
sessionId: string;
startDate: Date;
endDate: Date;
}) {
const { formatMessage, labels } = useMessages();
const { formatTimezoneDate } = useTimezone();
const { data, isLoading, error } = useSessionActivityQuery(
websiteId,
sessionId,
startDate,
endDate,
);
let lastDay = null;
return (
{data?.map(({ eventId, createdAt, urlPath, eventName, visitId, hasData }) => {
const showHeader = !lastDay || !isSameDay(new Date(lastDay), new Date(createdAt));
lastDay = createdAt;
return (
{showHeader && {formatTimezoneDate(createdAt, 'PPPP')}}
{formatTimezoneDate(createdAt, 'pp')}
{eventName ? : }
{eventName
? formatMessage(labels.triggeredEvent)
: formatMessage(labels.viewedPage)}
{eventName || urlPath}
{hasData > 0 && }
);
})}
);
}
const PropertiesButton = props => {
return (
);
};