Batch Schedule

Class Schedule

Batch: {{ $batch->name }}

@can('create', \Modules\Batch\Models\ClassSchedule::class) Add Class @endcan
@php $today = now()->startOfDay(); $upcomingSchedules = $schedules->filter(fn ($schedule) => $schedule->class_date && $schedule->class_date->gte($today))->values(); $completedSchedules = $schedules->filter(fn ($schedule) => $schedule->class_date && $schedule->class_date->lt($today))->values(); @endphp @if (session('success'))
{{ session('success') }}
@endif

Total Classes

{{ $schedules->count() }}

Published in this batch

Upcoming

{{ $upcomingSchedules->count() }}

Classes still ahead

Completed

{{ $completedSchedules->count() }}

Sessions already finished

Class Time

{{ $batch->class_time ?: 'Not set' }}

{{ implode(', ', (array) ($batch->class_days ?? [])) ?: 'Days not set' }}

Next Live Session
@if($nextSchedule) @php $nextDate = $nextSchedule->class_date; $relativeLabel = $nextDate?->isSameDay($today) ? 'Today' : ($nextDate?->isSameDay($today->copy()->addDay()) ? 'Tomorrow' : $nextDate?->diffForHumans($today, ['parts' => 1])); @endphp

{{ $nextSchedule->topic }}

{{ $nextDate?->format('l, d M Y') }} @if($batch->class_time) | {{ $batch->class_time }} @endif

{{ $relativeLabel }}

@else

No upcoming class yet

Admin will see the next session here after publishing a class date.

@endif
@if($batch->live_class_link) Join Live Class @else Live link not set @endif @can('updateLiveClassLink', $batch) Edit Live Link @endcan

All Classes

A cleaner timeline view of every scheduled class in this batch.

{{ $schedules->count() }} Entries
@forelse($schedules as $index => $classSchedule) @php $scheduleDate = $classSchedule->class_date; $isPast = $scheduleDate && $scheduleDate->lt($today); $isToday = $scheduleDate && $scheduleDate->isSameDay($today); $isTomorrow = $scheduleDate && $scheduleDate->isSameDay($today->copy()->addDay()); $statusLabel = $isToday ? 'Today' : ($isTomorrow ? 'Tomorrow' : ($isPast ? 'Completed' : 'Upcoming')); $statusClasses = $isToday ? 'bg-[#F47B20]/10 text-[#C9570B]' : ($isTomorrow ? 'bg-emerald-100 text-emerald-700' : ($isPast ? 'bg-slate-200 text-slate-600' : 'bg-[#2E3192]/10 text-[#2E3192]')); @endphp
{{ $index + 1 }}

{{ $classSchedule->topic }}

{{ $statusLabel }}
{{ $scheduleDate?->format('d M Y') ?? 'Date not set' }} {{ $batch->class_time ?: 'Time not set' }} {{ $scheduleDate?->format('l') ?? 'Day not set' }}
Expand
Live Class Link
@if($batch->live_class_link) Join live class @else Live class link not set yet. @endif
Recording
@if($classSchedule->recorded_video_link) Watch recording @else No recording uploaded yet. @endif
Full View @can('update', $classSchedule) Edit @endcan
@empty

No class schedule yet

Once classes are published, they will appear here in a cleaner timeline layout.

@endforelse