From e06c88564cb54bd67ab0729aef3f6f4895c70358 Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Sat, 25 Oct 2025 09:33:27 -0500 Subject: [PATCH] verified icon, recognized plate, and clicking tweaks --- .../overlay/detail/ObjectLifecycle.tsx | 14 ++++- web/src/components/timeline/DetailStream.tsx | 51 +++++++++++++------ web/src/types/event.ts | 1 + 3 files changed, 49 insertions(+), 17 deletions(-) diff --git a/web/src/components/overlay/detail/ObjectLifecycle.tsx b/web/src/components/overlay/detail/ObjectLifecycle.tsx index 0f1eaadf5..7026e7b3d 100644 --- a/web/src/components/overlay/detail/ObjectLifecycle.tsx +++ b/web/src/components/overlay/detail/ObjectLifecycle.tsx @@ -94,6 +94,10 @@ export default function ObjectLifecycle({ ); }, [config, event]); + const label = event.sub_label + ? event.sub_label + : getTranslatedLabel(event.label); + const getZoneColor = useCallback( (zoneName: string) => { const zoneColor = @@ -635,10 +639,18 @@ export default function ObjectLifecycle({ )}
- {getTranslatedLabel(event.label)} + {label} {formattedStart ?? ""} - {formattedEnd ?? ""} + {event.data?.recognized_license_plate && ( + <> + ·{" "} + + {event.data.recognized_license_plate} + + + )}
diff --git a/web/src/components/timeline/DetailStream.tsx b/web/src/components/timeline/DetailStream.tsx index 92c77d502..e22b2a6ad 100644 --- a/web/src/components/timeline/DetailStream.tsx +++ b/web/src/components/timeline/DetailStream.tsx @@ -254,7 +254,9 @@ function ReviewGroup({ const rawIconLabels: string[] = [ ...(fetchedEvents - ? fetchedEvents.map((e) => e.label) + ? fetchedEvents.map((e) => + e.sub_label ? e.label + "-verified" : e.label, + ) : (review.data?.objects ?? [])), ...(review.data?.audio ?? []), ]; @@ -317,7 +319,7 @@ function ReviewGroup({
{displayTime}
-
+
{iconLabels.slice(0, 5).map((lbl, idx) => (
{ if (event) { // onSeek(event.start_time ?? 0); @@ -466,28 +470,43 @@ function EventList({ "bg-secondary-highlight", )} > -
-
{ - e.stopPropagation(); - handleObjectSelect(isSelected ? undefined : event); - }} - role="button" - > +
+
{ + e.stopPropagation(); + handleObjectSelect(isSelected ? undefined : event); + }} > - {getIconForLabel(event.label, "size-3 text-white")} + {getIconForLabel( + event.sub_label ? event.label + "-verified" : event.label, + "size-3 text-white", + )}
-
- {getTranslatedLabel(event.label)} +
{ + e.stopPropagation(); + onSeek(event.start_time ?? 0); + }} + role="button" + > + {label} + {event.data?.recognized_license_plate && ( + <> + ·{" "} + + {event.data.recognized_license_plate} + + + )}
-
+