mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-04-12 01:57:36 +03:00
Fix incorrectly picking start time when date was selected
This commit is contained in:
parent
3b2d136665
commit
178cc97f79
@ -136,7 +136,7 @@ export default function EventView({
|
|||||||
|
|
||||||
const [selectedReviews, setSelectedReviews] = useState<ReviewSegment[]>([]);
|
const [selectedReviews, setSelectedReviews] = useState<ReviewSegment[]>([]);
|
||||||
const onSelectReview = useCallback(
|
const onSelectReview = useCallback(
|
||||||
(review: ReviewSegment, ctrl: boolean) => {
|
(review: ReviewSegment, ctrl: boolean, detail: boolean) => {
|
||||||
if (selectedReviews.length > 0 || ctrl) {
|
if (selectedReviews.length > 0 || ctrl) {
|
||||||
const index = selectedReviews.findIndex((r) => r.id === review.id);
|
const index = selectedReviews.findIndex((r) => r.id === review.id);
|
||||||
|
|
||||||
@ -156,17 +156,31 @@ export default function EventView({
|
|||||||
setSelectedReviews(copy);
|
setSelectedReviews(copy);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
// If a specific date is selected in the calendar and it's after the event start,
|
||||||
|
// use the selected date instead of the event start time
|
||||||
|
const effectiveStartTime =
|
||||||
|
timeRange.after > review.start_time
|
||||||
|
? timeRange.after
|
||||||
|
: review.start_time;
|
||||||
|
|
||||||
onOpenRecording({
|
onOpenRecording({
|
||||||
camera: review.camera,
|
camera: review.camera,
|
||||||
startTime: review.start_time - REVIEW_PADDING,
|
startTime: effectiveStartTime - REVIEW_PADDING,
|
||||||
severity: review.severity,
|
severity: review.severity,
|
||||||
|
timelineType: detail ? "detail" : undefined,
|
||||||
});
|
});
|
||||||
|
|
||||||
review.has_been_reviewed = true;
|
review.has_been_reviewed = true;
|
||||||
markItemAsReviewed(review);
|
markItemAsReviewed(review);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
[selectedReviews, setSelectedReviews, onOpenRecording, markItemAsReviewed],
|
[
|
||||||
|
selectedReviews,
|
||||||
|
setSelectedReviews,
|
||||||
|
onOpenRecording,
|
||||||
|
markItemAsReviewed,
|
||||||
|
timeRange.after,
|
||||||
|
],
|
||||||
);
|
);
|
||||||
const onSelectAllReviews = useCallback(() => {
|
const onSelectAllReviews = useCallback(() => {
|
||||||
if (!currentReviewItems || currentReviewItems.length == 0) {
|
if (!currentReviewItems || currentReviewItems.length == 0) {
|
||||||
@ -402,7 +416,6 @@ export default function EventView({
|
|||||||
onSelectAllReviews={onSelectAllReviews}
|
onSelectAllReviews={onSelectAllReviews}
|
||||||
setSelectedReviews={setSelectedReviews}
|
setSelectedReviews={setSelectedReviews}
|
||||||
pullLatestData={pullLatestData}
|
pullLatestData={pullLatestData}
|
||||||
onOpenRecording={onOpenRecording}
|
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
{severity == "significant_motion" && (
|
{severity == "significant_motion" && (
|
||||||
@ -442,11 +455,14 @@ type DetectionReviewProps = {
|
|||||||
loading: boolean;
|
loading: boolean;
|
||||||
markItemAsReviewed: (review: ReviewSegment) => void;
|
markItemAsReviewed: (review: ReviewSegment) => void;
|
||||||
markAllItemsAsReviewed: (currentItems: ReviewSegment[]) => void;
|
markAllItemsAsReviewed: (currentItems: ReviewSegment[]) => void;
|
||||||
onSelectReview: (review: ReviewSegment, ctrl: boolean) => void;
|
onSelectReview: (
|
||||||
|
review: ReviewSegment,
|
||||||
|
ctrl: boolean,
|
||||||
|
detail: boolean,
|
||||||
|
) => void;
|
||||||
onSelectAllReviews: () => void;
|
onSelectAllReviews: () => void;
|
||||||
setSelectedReviews: (reviews: ReviewSegment[]) => void;
|
setSelectedReviews: (reviews: ReviewSegment[]) => void;
|
||||||
pullLatestData: () => void;
|
pullLatestData: () => void;
|
||||||
onOpenRecording: (recordingInfo: RecordingStartingPoint) => void;
|
|
||||||
};
|
};
|
||||||
function DetectionReview({
|
function DetectionReview({
|
||||||
contentRef,
|
contentRef,
|
||||||
@ -466,7 +482,6 @@ function DetectionReview({
|
|||||||
onSelectAllReviews,
|
onSelectAllReviews,
|
||||||
setSelectedReviews,
|
setSelectedReviews,
|
||||||
pullLatestData,
|
pullLatestData,
|
||||||
onOpenRecording,
|
|
||||||
}: DetectionReviewProps) {
|
}: DetectionReviewProps) {
|
||||||
const { t } = useTranslation(["views/events"]);
|
const { t } = useTranslation(["views/events"]);
|
||||||
|
|
||||||
@ -758,16 +773,7 @@ function DetectionReview({
|
|||||||
ctrl: boolean,
|
ctrl: boolean,
|
||||||
detail: boolean,
|
detail: boolean,
|
||||||
) => {
|
) => {
|
||||||
if (detail) {
|
onSelectReview(review, ctrl, detail);
|
||||||
onOpenRecording({
|
|
||||||
camera: review.camera,
|
|
||||||
startTime: review.start_time - REVIEW_PADDING,
|
|
||||||
severity: review.severity,
|
|
||||||
timelineType: "detail",
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
onSelectReview(review, ctrl);
|
|
||||||
}
|
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user