Handle undefined end time

This commit is contained in:
Nicolas Mowen 2024-04-10 10:58:45 -06:00
parent f343a5e3db
commit 8d7654d859
3 changed files with 11 additions and 5 deletions

View File

@ -27,7 +27,9 @@ export default function ReviewCard({
config?.ui.time_format == "24hour" ? "%H:%M" : "%I:%M %p", config?.ui.time_format == "24hour" ? "%H:%M" : "%I:%M %p",
); );
const isSelected = useMemo( const isSelected = useMemo(
() => event.start_time <= currentTime && event.end_time >= currentTime, () =>
event.start_time <= currentTime &&
(event.end_time ?? Date.now() / 1000) >= currentTime,
[event, currentTime], [event, currentTime],
); );

View File

@ -100,8 +100,10 @@ export function MotionReviewTimeline({
const overlappingReviewItems = events.some( const overlappingReviewItems = events.some(
(item) => (item) =>
(item.start_time >= motionStart && item.start_time < motionEnd) || (item.start_time >= motionStart && item.start_time < motionEnd) ||
(item.end_time > motionStart && item.end_time <= motionEnd) || ((item.end_time ?? timelineStart) > motionStart &&
(item.start_time <= motionStart && item.end_time >= motionEnd), (item.end_time ?? timelineStart) <= motionEnd) ||
(item.start_time <= motionStart &&
(item.end_time ?? timelineStart) >= motionEnd),
); );
if ((!segmentMotion || overlappingReviewItems) && motionOnly) { if ((!segmentMotion || overlappingReviewItems) && motionOnly) {

View File

@ -107,8 +107,10 @@ export function useCameraMotionNextTimestamp(
const overlappingReviewItems = reviewItems.some( const overlappingReviewItems = reviewItems.some(
(item) => (item) =>
(item.start_time >= motionStart && item.start_time < motionEnd) || (item.start_time >= motionStart && item.start_time < motionEnd) ||
(item.end_time > motionStart && item.end_time <= motionEnd) || ((item.end_time ?? Date.now() / 1000) > motionStart &&
(item.start_time <= motionStart && item.end_time >= motionEnd), (item.end_time ?? Date.now() / 1000) <= motionEnd) ||
(item.start_time <= motionStart &&
(item.end_time ?? Date.now() / 1000) >= motionEnd),
); );
if (!segmentMotion || overlappingReviewItems) { if (!segmentMotion || overlappingReviewItems) {