From b2485d147c6b3e16b1c5149031e0576a488d67da Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Sat, 17 Feb 2024 18:03:51 -0700 Subject: [PATCH] Show icons for what was detected --- .../player/PreviewThumbnailPlayer.tsx | 10 +++-- web/src/pages/Events.tsx | 37 +++++++++++-------- web/src/utils/iconUtil.tsx | 22 +++++++++++ 3 files changed, 50 insertions(+), 19 deletions(-) create mode 100644 web/src/utils/iconUtil.tsx diff --git a/web/src/components/player/PreviewThumbnailPlayer.tsx b/web/src/components/player/PreviewThumbnailPlayer.tsx index 6c251cf45..c39b281d9 100644 --- a/web/src/components/player/PreviewThumbnailPlayer.tsx +++ b/web/src/components/player/PreviewThumbnailPlayer.tsx @@ -183,6 +183,13 @@ function PreviewContent({ if (relevantPreview && !isVisible) { return
; + } else if (!relevantPreview && isCurrentHour(startTs)) { + return ( + + ); } else if (!relevantPreview && !isCurrentHour(startTs)) { return ( ("config"); @@ -83,7 +84,11 @@ export default function Events() { // preview videos const previewTimes = useMemo(() => { - if (!reviewPages) { + if ( + !reviewPages || + reviewPages.length == 0 || + reviewPages.at(-1)!!.length == 0 + ) { return undefined; } @@ -178,26 +183,26 @@ export default function Events() { ); return ( - <> +
- {relevantPreview ? ( - - ) : ( -
- {value.camera} {value.data.objects} + + {(severity == "alert" || severity == "detection") && ( +
+ {value.data.objects.map((object) => { + return getIconForLabel(object); + })}
)}
@@ -211,7 +216,7 @@ export default function Events() {
{lastRow && !isDone && } - +
); }); })} diff --git a/web/src/utils/iconUtil.tsx b/web/src/utils/iconUtil.tsx new file mode 100644 index 000000000..5dbfda599 --- /dev/null +++ b/web/src/utils/iconUtil.tsx @@ -0,0 +1,22 @@ +import { + LuBox, + LuCar, + LuDog, + LuLassoSelect, + LuPersonStanding, +} from "react-icons/lu"; + +export function getIconForLabel(label: string, className?: string) { + switch (label) { + case "car": + return ; + case "dog": + return ; + case "package": + return ; + case "person": + return ; + default: + return ; + } +}