From c7ac146fab0f3c14d3222319c4820efd8f2945fb Mon Sep 17 00:00:00 2001 From: Andrew Gioia Date: Wed, 4 Feb 2026 16:04:25 -0500 Subject: [PATCH] Orders events by time among all calendar views regardless of calendar --- app/Services/Calendar/CalendarViewBuilder.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/Services/Calendar/CalendarViewBuilder.php b/app/Services/Calendar/CalendarViewBuilder.php index 8078e77..9b4423d 100644 --- a/app/Services/Calendar/CalendarViewBuilder.php +++ b/app/Services/Calendar/CalendarViewBuilder.php @@ -28,7 +28,7 @@ class CalendarViewBuilder $gridStartMinutes = $daytimeHours ? ((int) $daytimeHours['start'] * 60) : 0; $gridEndMinutes = $daytimeHours ? ((int) $daytimeHours['end'] * 60) : (24 * 60); - return $events->flatMap(function ($e) use ( + $payloads = $events->flatMap(function ($e) use ( $calendarMap, $uiFormat, $view, @@ -151,7 +151,12 @@ class CalendarViewBuilder 'duration' => $placement['duration'], ]; })->filter()->values(); - })->keyBy('occurrence_id'); + })->filter(); + + // ensure chronological ordering across calendars for all views + return $payloads + ->sortBy('start') + ->keyBy('occurrence_id'); } /**