diff --git a/app/vision/page.tsx b/app/vision/page.tsx index cea355e..5aede7d 100644 --- a/app/vision/page.tsx +++ b/app/vision/page.tsx @@ -296,6 +296,29 @@ export default function VisionPage() { return now >= fiveMinutesBeforeStart && now <= end; }; + // Check if there's an active meeting for a group or mission (5 minutes before start until end) + const hasActiveMeeting = (type: "group" | "mission", entityId: string): boolean => { + const now = new Date(); + + // Find meetings for this group/mission + const relevantMeetings = scheduledMeetings.filter(meeting => + meeting.type === type && meeting.entityId === entityId + ); + + // Check if any meeting is currently active (5 minutes before start until end) + return relevantMeetings.some(meeting => { + const start = new Date(meeting.start); + const end = new Date(meeting.end); + + // Calculate 5 minutes before start + const fiveMinutesBeforeStart = new Date(start); + fiveMinutesBeforeStart.setMinutes(fiveMinutesBeforeStart.getMinutes() - 5); + + // Active if now is between 5 minutes before start and end + return now >= fiveMinutesBeforeStart && now <= end; + }); + }; + // Helper function to format date as YYYY-MM-DD in local timezone const formatDateLocal = (date: Date): string => { const year = date.getFullYear(); @@ -871,17 +894,19 @@ export default function VisionPage() {