From 54877a55984955c29a2f0e02e16ab609afd3acd7 Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Fri, 1 Mar 2024 07:47:08 -0700 Subject: [PATCH] Just use multiselect for mobile --- .../player/PreviewThumbnailPlayer.tsx | 171 ++++++++++-------- 1 file changed, 91 insertions(+), 80 deletions(-) diff --git a/web/src/components/player/PreviewThumbnailPlayer.tsx b/web/src/components/player/PreviewThumbnailPlayer.tsx index d9e6b29dc..980773242 100644 --- a/web/src/components/player/PreviewThumbnailPlayer.tsx +++ b/web/src/components/player/PreviewThumbnailPlayer.tsx @@ -13,7 +13,7 @@ import { getIconForLabel, getIconForSubLabel } from "@/utils/iconUtil"; import TimeAgo from "../dynamic/TimeAgo"; import useSWR from "swr"; import { FrigateConfig } from "@/types/frigateConfig"; -import { isFirefox, isMobile, isSafari } from "react-device-detect"; +import { isDesktop, isFirefox, isMobile, isSafari } from "react-device-detect"; import Chip from "../Chip"; import { ContextMenu, @@ -166,87 +166,98 @@ export default function PreviewThumbnailPlayer({ config?.ui.time_format == "24hour" ? "%b %-d, %H:%M" : "%b %-d, %I:%M %p", ); - return ( - - -
onPlayback(true)} - onMouseLeave={isMobile ? undefined : () => onPlayback(false)} - onClick={handleOnClick} - {...swipeHandlers} - > - {playingBack && ( -
- -
- )} - -
- { - onImgLoad(); - }} - /> - - {!playingBack && ( - <> -
-
- {(review.severity == "alert" || - review.severity == "detection") && ( - - {review.data.objects.map((object) => { - return getIconForLabel(object, "size-3 text-white"); - })} - {review.data.audio.map((audio) => { - return getIconForLabel(audio, "size-3 text-white"); - })} - {review.data.sub_labels?.map((sub) => { - return getIconForSubLabel(sub, "size-3 text-white"); - })} - - )} -
-
-
-
- - {formattedDate} -
-
- - )} -
- {!playingBack && imgLoaded && review.has_been_reviewed && ( -
- )} + const previewContent = ( +
onPlayback(true)} + onMouseLeave={isMobile ? undefined : () => onPlayback(false)} + onContextMenu={ + isDesktop + ? undefined + : (e) => { + e.preventDefault(); + onClick(review.id, true); + } + } + onClick={handleOnClick} + {...swipeHandlers} + > + {playingBack && ( +
+
- - onClick(review.id, true)} - setReviewed={handleSetReviewed} - markAboveReviewed={markAboveReviewed} - /> - + )} + +
+ { + onImgLoad(); + }} + /> + + {!playingBack && ( + <> +
+
+ {(review.severity == "alert" || + review.severity == "detection") && ( + + {review.data.objects.map((object) => { + return getIconForLabel(object, "size-3 text-white"); + })} + {review.data.audio.map((audio) => { + return getIconForLabel(audio, "size-3 text-white"); + })} + {review.data.sub_labels?.map((sub) => { + return getIconForSubLabel(sub, "size-3 text-white"); + })} + + )} +
+
+
+
+ + {formattedDate} +
+
+ + )} +
+ {!playingBack && imgLoaded && review.has_been_reviewed && ( +
+ )} +
); + + if (isDesktop) { + return ( + + {previewContent} + onClick(review.id, true)} + setReviewed={handleSetReviewed} + markAboveReviewed={markAboveReviewed} + /> + + ); + } + + return previewContent; } type PreviewContentProps = {