From 195e2e78c76e493b7361c4a0443479aaae79d3af Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Wed, 2 Oct 2024 07:47:48 -0600 Subject: [PATCH] Add page listener for review page --- web/src/views/events/EventView.tsx | 35 ++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/web/src/views/events/EventView.tsx b/web/src/views/events/EventView.tsx index 25e6532d7..673ee624d 100644 --- a/web/src/views/events/EventView.tsx +++ b/web/src/views/events/EventView.tsx @@ -611,23 +611,34 @@ function DetectionReview({ // keyboard - useKeyboardListener(["a", "r"], (key, modifiers) => { + useKeyboardListener(["a", "r", "PageDown", "PageUp"], (key, modifiers) => { if (modifiers.repeat || !modifiers.down) { return; } - if (key == "a" && modifiers.ctrl) { - onSelectAllReviews(); - } - - if (key == "r" && selectedReviews.length > 0) { - currentItems?.forEach((item) => { - if (selectedReviews.includes(item.id)) { - item.has_been_reviewed = true; - markItemAsReviewed(item); + switch (key) { + case "a": + if (modifiers.ctrl) { + onSelectAllReviews(); } - }); - setSelectedReviews([]); + break; + case "r": + if (selectedReviews.length > 0) { + currentItems?.forEach((item) => { + if (selectedReviews.includes(item.id)) { + item.has_been_reviewed = true; + markItemAsReviewed(item); + } + }); + setSelectedReviews([]); + } + break; + case "PageDown": + contentRef.current?.scrollBy({ top: 600, behavior: "smooth" }); + break; + case "PageUp": + contentRef.current?.scrollBy({ top: -600, behavior: "smooth" }); + break; } });