* Add escape to close review details

* Refresh review page automatically if there are currently no items to review
This commit is contained in:
Nicolas Mowen 2025-02-25 18:17:39 -07:00 committed by GitHub
parent 7ce1b354cc
commit 7eb3c87fa0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 0 deletions

View File

@ -41,6 +41,7 @@ import { useOverlayState } from "@/hooks/use-overlay-state";
import { DownloadVideoButton } from "@/components/button/DownloadVideoButton"; import { DownloadVideoButton } from "@/components/button/DownloadVideoButton";
import { TooltipPortal } from "@radix-ui/react-tooltip"; import { TooltipPortal } from "@radix-ui/react-tooltip";
import { LuSearch } from "react-icons/lu"; import { LuSearch } from "react-icons/lu";
import useKeyboardListener from "@/hooks/use-keyboard-listener";
type ReviewDetailDialogProps = { type ReviewDetailDialogProps = {
review?: ReviewSegment; review?: ReviewSegment;
@ -133,6 +134,14 @@ export default function ReviewDetailDialog({
// eslint-disable-next-line react-hooks/exhaustive-deps // eslint-disable-next-line react-hooks/exhaustive-deps
}, [review]); }, [review]);
// keyboard listener
useKeyboardListener(["Esc"], (key, modifiers) => {
if (key == "Esc" && modifiers.down && !modifiers.repeat) {
setIsOpen(false);
}
});
const Overlay = isDesktop ? Sheet : MobilePage; const Overlay = isDesktop ? Sheet : MobilePage;
const Content = isDesktop ? SheetContent : MobilePageContent; const Content = isDesktop ? SheetContent : MobilePageContent;
const Header = isDesktop ? SheetHeader : MobilePageHeader; const Header = isDesktop ? SheetHeader : MobilePageHeader;

View File

@ -621,6 +621,16 @@ function DetectionReview({
// existing review item // existing review item
useEffect(() => {
if (loading || currentItems == null || itemsToReview == undefined) {
return;
}
if (currentItems.length == 0 && itemsToReview > 0) {
pullLatestData();
}
}, [loading, currentItems, itemsToReview, pullLatestData]);
useEffect(() => { useEffect(() => {
if (!startTime || !currentItems || currentItems.length == 0) { if (!startTime || !currentItems || currentItems.length == 0) {
return; return;