mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-08 20:25:26 +03:00
reduce preview calculations on rerenders
This commit is contained in:
parent
feb4a6fb32
commit
540a33fcdc
@ -32,7 +32,7 @@ import { useSwipeable } from "react-swipeable";
|
||||
|
||||
type PreviewPlayerProps = {
|
||||
review: ReviewSegment;
|
||||
relevantPreview?: Preview;
|
||||
allPreviews?: Preview[];
|
||||
autoPlayback?: boolean;
|
||||
setReviewed?: (reviewId: string) => void;
|
||||
onTimeUpdate?: (time: number | undefined) => void;
|
||||
@ -49,7 +49,7 @@ type Preview = {
|
||||
|
||||
export default function PreviewThumbnailPlayer({
|
||||
review,
|
||||
relevantPreview,
|
||||
allPreviews,
|
||||
setReviewed,
|
||||
onClick,
|
||||
onTimeUpdate,
|
||||
@ -87,6 +87,17 @@ export default function PreviewThumbnailPlayer({
|
||||
|
||||
// playback
|
||||
|
||||
const relevantPreview = useMemo(
|
||||
() =>
|
||||
Object.values(allPreviews || []).find(
|
||||
(preview) =>
|
||||
preview.camera == review.camera &&
|
||||
preview.start < review.start_time &&
|
||||
preview.end > review.end_time,
|
||||
),
|
||||
[allPreviews],
|
||||
);
|
||||
|
||||
const playingBack = useMemo(() => playback, [playback]);
|
||||
|
||||
const onPlayback = useCallback(
|
||||
|
||||
@ -305,14 +305,6 @@ export default function EventView({
|
||||
currentItems.map((value, segIdx) => {
|
||||
const lastRow = segIdx == reviewItems[severity].length - 1;
|
||||
const selected = selectedReviews.includes(value.id);
|
||||
const relevantPreview = Object.values(
|
||||
relevantPreviews || [],
|
||||
).find(
|
||||
(preview) =>
|
||||
preview.camera == value.camera &&
|
||||
preview.start < value.start_time &&
|
||||
preview.end > value.end_time,
|
||||
);
|
||||
|
||||
return (
|
||||
<div
|
||||
@ -328,7 +320,7 @@ export default function EventView({
|
||||
<div className="aspect-video rounded-lg overflow-hidden">
|
||||
<PreviewThumbnailPlayer
|
||||
review={value}
|
||||
relevantPreview={relevantPreview}
|
||||
allPreviews={relevantPreviews}
|
||||
setReviewed={markItemAsReviewed}
|
||||
onTimeUpdate={setPreviewTime}
|
||||
onClick={onSelectReview}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user