mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-04-12 10:07:36 +03:00
use reviewsegment as type instead of list of strings
This commit is contained in:
parent
d01f353dc6
commit
b97618a30e
@ -135,11 +135,11 @@ export default function EventView({
|
|||||||
|
|
||||||
// review interaction
|
// review interaction
|
||||||
|
|
||||||
const [selectedReviews, setSelectedReviews] = useState<string[]>([]);
|
const [selectedReviews, setSelectedReviews] = useState<ReviewSegment[]>([]);
|
||||||
const onSelectReview = useCallback(
|
const onSelectReview = useCallback(
|
||||||
(review: ReviewSegment, ctrl: boolean) => {
|
(review: ReviewSegment, ctrl: boolean) => {
|
||||||
if (selectedReviews.length > 0 || ctrl) {
|
if (selectedReviews.length > 0 || ctrl) {
|
||||||
const index = selectedReviews.indexOf(review.id);
|
const index = selectedReviews.findIndex((r) => r.id === review.id);
|
||||||
|
|
||||||
if (index != -1) {
|
if (index != -1) {
|
||||||
if (selectedReviews.length == 1) {
|
if (selectedReviews.length == 1) {
|
||||||
@ -153,7 +153,7 @@ export default function EventView({
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const copy = [...selectedReviews];
|
const copy = [...selectedReviews];
|
||||||
copy.push(review.id);
|
copy.push(review);
|
||||||
setSelectedReviews(copy);
|
setSelectedReviews(copy);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -175,7 +175,7 @@ export default function EventView({
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (selectedReviews.length < currentReviewItems.length) {
|
if (selectedReviews.length < currentReviewItems.length) {
|
||||||
setSelectedReviews(currentReviewItems.map((seg) => seg.id));
|
setSelectedReviews(currentReviewItems);
|
||||||
} else {
|
} else {
|
||||||
setSelectedReviews([]);
|
setSelectedReviews([]);
|
||||||
}
|
}
|
||||||
@ -429,7 +429,7 @@ type DetectionReviewProps = {
|
|||||||
currentItems: ReviewSegment[] | null;
|
currentItems: ReviewSegment[] | null;
|
||||||
itemsToReview?: number;
|
itemsToReview?: number;
|
||||||
relevantPreviews?: Preview[];
|
relevantPreviews?: Preview[];
|
||||||
selectedReviews: string[];
|
selectedReviews: ReviewSegment[];
|
||||||
severity: ReviewSeverity;
|
severity: ReviewSeverity;
|
||||||
filter?: ReviewFilter;
|
filter?: ReviewFilter;
|
||||||
timeRange: { before: number; after: number };
|
timeRange: { before: number; after: number };
|
||||||
@ -439,7 +439,7 @@ type DetectionReviewProps = {
|
|||||||
markAllItemsAsReviewed: (currentItems: ReviewSegment[]) => void;
|
markAllItemsAsReviewed: (currentItems: ReviewSegment[]) => void;
|
||||||
onSelectReview: (review: ReviewSegment, ctrl: boolean) => void;
|
onSelectReview: (review: ReviewSegment, ctrl: boolean) => void;
|
||||||
onSelectAllReviews: () => void;
|
onSelectAllReviews: () => void;
|
||||||
setSelectedReviews: (reviewIds: string[]) => void;
|
setSelectedReviews: (reviews: ReviewSegment[]) => void;
|
||||||
pullLatestData: () => void;
|
pullLatestData: () => void;
|
||||||
};
|
};
|
||||||
function DetectionReview({
|
function DetectionReview({
|
||||||
@ -667,7 +667,7 @@ function DetectionReview({
|
|||||||
case "r":
|
case "r":
|
||||||
if (selectedReviews.length > 0 && !modifiers.repeat) {
|
if (selectedReviews.length > 0 && !modifiers.repeat) {
|
||||||
currentItems?.forEach((item) => {
|
currentItems?.forEach((item) => {
|
||||||
if (selectedReviews.includes(item.id)) {
|
if (selectedReviews.some((r) => r.id === item.id)) {
|
||||||
item.has_been_reviewed = true;
|
item.has_been_reviewed = true;
|
||||||
markItemAsReviewed(item);
|
markItemAsReviewed(item);
|
||||||
}
|
}
|
||||||
@ -723,7 +723,7 @@ function DetectionReview({
|
|||||||
>
|
>
|
||||||
{!loading && currentItems
|
{!loading && currentItems
|
||||||
? currentItems.map((value) => {
|
? currentItems.map((value) => {
|
||||||
const selected = selectedReviews.includes(value.id);
|
const selected = selectedReviews.some((r) => r.id === value.id);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user