@extends('staff.layouts.app') @section('title', 'Online Classes') @section('content') @php $now = \Carbon\Carbon::now(); @endphp

Online Classes

Schedule
Reset
@if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif
@forelse($classes as $oc) @php $startTs = \Carbon\Carbon::parse($oc->class_date.' '.$oc->start_time)->timestamp; $endTs = \Carbon\Carbon::parse($oc->class_date.' '.$oc->end_time)->timestamp; $nowTs = $now->timestamp; $dyn = $nowTs >= $endTs ? 'completed' : ($nowTs >= $startTs ? 'current' : 'upcoming'); $startable = $nowTs >= ($startTs - 120); // ✅ enabled 2 minutes before $badge = [ 'upcoming' => 'bg-blue-100 text-blue-600', 'current' => 'bg-green-100 text-green-600', 'completed' => 'bg-slate-100 text-slate-500', ][$dyn]; $icon = [ 'upcoming' => 'fa-clock', 'current' => 'fa-play', 'completed' => 'fa-check', ][$dyn]; @endphp

{{ $oc->title }}

{{ $dyn }}
{{ $oc->subject }} {{ $oc->class_name }}{{ $oc->section_name ? ' - '.$oc->section_name : ' (All Sections)' }} {{ $oc->student_count > 0 ? $oc->student_count.' Students' : 'All Students' }}

{{ \Carbon\Carbon::parse($oc->class_date)->format('d M Y') }} | {{ \Carbon\Carbon::parse($oc->start_time)->format('h:i A') }} - {{ \Carbon\Carbon::parse($oc->end_time)->format('h:i A') }}

@if($dyn == 'completed') {{-- ✅ COMPLETED STATUS BADGE --}}
Class Completed
@else {{-- ✅ START CLASS BUTTON — blinking + enabled 2 min before start --}} {{ $startable ? 'Start Class' : 'Starts ' . \Carbon\Carbon::parse($oc->start_time)->format('h:i A') }} {{-- ✅ EDIT & DELETE ONLY IF UPCOMING --}} @if($dyn == 'upcoming')
@csrf @method('DELETE')
@endif @endif
@empty

No online classes found.

@endforelse
@endsection