* Reset snapshot state when event is moved

* Add page listener for review page

* Add same listener for search page

* Use content height
This commit is contained in:
Nicolas Mowen
2024-10-02 08:32:12 -06:00
committed by GitHub
parent 20c3b890ae
commit 0aad7db2d2
3 changed files with 53 additions and 15 deletions

View File

@@ -611,23 +611,40 @@ 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: contentRef.current.clientHeight / 2,
behavior: "smooth",
});
break;
case "PageUp":
contentRef.current?.scrollBy({
top: -contentRef.current.clientHeight / 2,
behavior: "smooth",
});
break;
}
});