diff --git a/web/src/pages/Events.tsx b/web/src/pages/Events.tsx index bdb78e0d3..e9ec25d2b 100644 --- a/web/src/pages/Events.tsx +++ b/web/src/pages/Events.tsx @@ -15,6 +15,7 @@ import { ReviewSummary, SegmentedReviewData, } from "@/types/review"; +import { TimelineType } from "@/types/timeline"; import { getBeginningOfDayTimestamp, getEndOfDayTimestamp, @@ -49,6 +50,16 @@ export default function Events() { false, ); + const [notificationTab, setNotificationTab] = + useState("timeline"); + + useSearchEffect("tab", (tab: string) => { + if (tab === "timeline" || tab === "events" || tab === "detail") { + setNotificationTab(tab as TimelineType); + } + return true; + }); + useSearchEffect("id", (reviewId: string) => { axios .get(`review/${reviewId}`) @@ -66,7 +77,7 @@ export default function Events() { camera: resp.data.camera, startTime, severity: resp.data.severity, - timelineType: "detail", + timelineType: notificationTab, }, true, ); diff --git a/web/src/types/record.ts b/web/src/types/record.ts index b662ce547..25820c3d9 100644 --- a/web/src/types/record.ts +++ b/web/src/types/record.ts @@ -1,4 +1,5 @@ import { ReviewSeverity } from "./review"; +import { TimelineType } from "./timeline"; export type Recording = { id: string; @@ -37,7 +38,7 @@ export type RecordingStartingPoint = { camera: string; startTime: number; severity: ReviewSeverity; - timelineType?: "timeline" | "events" | "detail"; + timelineType?: TimelineType; }; export type RecordingPlayerError = "stalled" | "startup";