@extends('layouts.app', ['class' => 'g-sidenav-show bg-gray-100']) @section('content') @include('layouts.navbars.auth.topnav', ['title' => ''])
@php use App\Enums\ExamStatus; use App\Enums\AttendanceStatus; use App\Enums\AttemptStatus; @endphp {{-- ── Banner: Ujian Hari Ini (Peserta) ─────────────────────────────── --}} @if(isset($todayExams) && $todayExams->isNotEmpty())
{{-- Header --}}
Today's Exams {{ $todayExams->count() }}
{{ now()->translatedFormat('l, d F Y') }}
{{-- Item list --}}
@foreach($todayExams as $loop_u => $todayItem) @php $submitted = $todayItem->attempt_status === AttemptStatus::SUBMITTED->value; $onProgress = $todayItem->attempt_status === AttemptStatus::ON_PROGRESS->value; $examOpen = $todayItem->exam_status === ExamStatus::ON_PROGRESS->value; $hadir = $todayItem->attendance_status === AttendanceStatus::HADIR->value; if ($submitted) { $accentColor = '#17c1e8'; $rowBg = '#f0fbff'; $statusBadge = 'bg-gradient-info'; $statusLabel = 'Completed'; $btnClass = 'bg-gradient-info'; $btnIcon = 'fa-chart-bar'; $btnLabel = 'View Results'; $btnHref = url('trsuex/result/' . encrypt($todayItem->exam_id)); $btnDisabled = false; } elseif ($hadir && $examOpen && $onProgress) { $accentColor = '#fb8c00'; $rowBg = '#fff8f0'; $statusBadge = 'bg-gradient-warning'; $statusLabel = 'In Progress'; $btnClass = 'bg-gradient-warning'; $btnIcon = 'fa-play'; $btnLabel = 'Continue'; $btnHref = url('trsuex/run/' . encrypt($todayItem->exam_id)); $btnDisabled = false; } elseif ($hadir && $examOpen) { $accentColor = '#82d616'; $rowBg = '#f6ffed'; $statusBadge = 'bg-gradient-success'; $statusLabel = 'Exam Open'; $btnClass = 'bg-gradient-success'; $btnIcon = 'fa-pencil-alt'; $btnLabel = 'Start Exam'; $btnHref = url('trsuex/run/' . encrypt($todayItem->exam_id)); $btnDisabled = false; } elseif ($hadir && !$examOpen) { $accentColor = '#00b7bd'; $rowBg = '#f0feff'; $statusBadge = 'bg-gradient-secondary'; $statusLabel = 'Waiting to Start'; $btnClass = ''; $btnIcon = 'fa-hourglass-half'; $btnLabel = 'Not Yet Started'; $btnHref = '#'; $btnDisabled = true; } else { $accentColor = '#8392ab'; $rowBg = '#f8f9fa'; $statusBadge = 'bg-gradient-secondary'; $statusLabel = 'Not Available'; $btnClass = ''; $btnIcon = 'fa-lock'; $btnLabel = 'Locked'; $btnHref = '#'; $btnDisabled = true; } @endphp
{{-- Indikator kiri --}}
@if($hadir && $examOpen && !$submitted) @else @endif
{{-- Info training --}}
{{ $todayItem->training_name }}
{{ $statusLabel }} @if($todayItem->time_start) {{ \Carbon\Carbon::parse($todayItem->time_start)->format('H:i') }} – {{ \Carbon\Carbon::parse($todayItem->time_end)->format('H:i') }} @endif @if( ($todayItem->control_type ?? null) === 'TIMER' && ($todayItem->exam_status ?? null) === ExamStatus::ON_PROGRESS->value && !empty($todayItem->exam_end_time) ) Sisa: 00:00:00 @endif
{{-- Tombol aksi --}}
@if($btnDisabled) @else {{ $btnLabel }} @endif
@endforeach
@endif
@include('assesm.trsuex._partials.summary_stats') @include('assesm.trsuex._partials.exam_list_table')
@endsection @include('assesm._partials.jsmenu_push')