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'); } /**