import { h } from 'preact'; import useSWR from 'swr'; import Heading from './Heading'; import ActivityIndicator from './ActivityIndicator'; import { formatUnixTimestampToDateTime } from '../utils/dateUtil'; export default function TimelineSummary({ event }) { const { data: eventTimeline } = useSWR([ 'timeline', { source_id: event.id, }, ]); if (!eventTimeline) { return ; } return (
Timeline: {eventTimeline.map((item, index) => (
{getTimelineItemDescription(item, event, index)}
))}
); } function getTimelineItemDescription(timelineItem, event, index) { if (timelineItem.class_type == 'visible') { return `${index}. ${event.label} detected at ${formatUnixTimestampToDateTime(event.start_time, { date_style: "short", time_style: "medium" })}`; } else if (timelineItem.class_type == 'entered_zone') { return `${index}. ${event.label} entered ${timelineItem.data.zones} at ${formatUnixTimestampToDateTime(event.start_time, { date_style: "short", time_style: "medium" })}`; } return `${index}. ${event.label} left at ${formatUnixTimestampToDateTime(event.start_time, { date_style: "short", time_style: "medium" })}`; }