@extends('layouts.app') @section('title', 'Daftar Ujian') @php $statusMeta = [ 'tersedia' => ['label' => 'Siap Dikerjakan', 'class' => 'bg-emerald-50 text-emerald-700', 'icon' => 'bi-pencil-square'], 'ulang' => ['label' => 'Boleh Diulang', 'class' => 'bg-amber-50 text-amber-700', 'icon' => 'bi-arrow-clockwise'], 'belum' => ['label' => 'Belum Dimulai', 'class' => 'bg-sky-50 text-sky-700', 'icon' => 'bi-clock-history'], 'lewat' => ['label' => 'Waktu Habis', 'class' => 'bg-rose-50 text-rose-700', 'icon' => 'bi-alarm'], 'habis' => ['label' => 'Kesempatan Habis', 'class' => 'bg-slate-100 text-slate-600', 'icon' => 'bi-lock-fill'], 'menunggu' => ['label' => 'Menunggu Jadwal', 'class' => 'bg-slate-100 text-slate-600', 'icon' => 'bi-hourglass-split'], ]; @endphp @section('content')

Ruang BelajarUjian

Daftar Ujian PTS & PAS

{{ $student->className ?: 'Kelas Anda' }} · {{ $period ? 'TP '.$period->tahun_pelajaran.' · Semester '.$period->semester : 'Periode akademik belum diatur' }}

Siswa {{ $student->name }}
@if (session('status'))
{{ session('status') }}
@endif @if ($errors->any())@endif
@foreach ([ ['label' => 'Total Ujian', 'value' => $counts['total'], 'icon' => 'bi-journal-text', 'tone' => 'text-slate-700'], ['label' => 'Siap Dikerjakan', 'value' => $counts['tersedia'], 'icon' => 'bi-pencil-square', 'tone' => 'text-emerald-600'], ['label' => 'Sudah Dikerjakan', 'value' => $counts['selesai'], 'icon' => 'bi-check2-circle', 'tone' => 'text-blue-600'], ['label' => 'Terkunci', 'value' => $counts['habis'], 'icon' => 'bi-lock-fill', 'tone' => 'text-rose-600'], ] as $card)

{{ $card['value'] }}

{{ $card['label'] }}

@endforeach
@if (! $period)

Periode akademik aktif belum diatur oleh administrator.

@elseif ($exams->isEmpty())

Belum Ada Ujian

Butir soal ujian belum dipublikasikan untuk kelas Anda pada periode ini.

@else
@foreach ($exams as $exam) @php $meta = $statusMeta[$exam->status] ?? $statusMeta['menunggu']; @endphp
{{ $exam->jenis === 'PTS' ? 'PTS / PSTS' : 'PAS / PSAS' }} {{ $meta['label'] }}

{{ $exam->subjectName }}

{{ $exam->examName }} · {{ $exam->questionCount }} butir soal

@if ($exam->schedule)

{{ $exam->schedule->hari ?: '-' }} · {{ $exam->schedule->tgl_ujian }}

{{ substr((string) $exam->schedule->waktu_mulai, 0, 5) }} – {{ substr((string) $exam->schedule->waktu_selesai, 0, 5) }} WIB

@endif

Kesempatan terpakai: {{ $exam->attempt }}/{{ $exam->maxAttempts }} @if ($exam->answered > 0) · Terkirim {{ $exam->answered }} jawaban @endif @if ($exam->avgScore !== null) · Rata-rata nilai {{ number_format($exam->avgScore, 2, ',', '.') }} @endif

@if ($exam->notice)

{{ $exam->notice }}

@endif
@if ($exam->open) {{ $exam->attempt > 0 ? 'Kerjakan Ulang' : 'Kerjakan' }} @else @endif @if ($exam->answered > 0) Lihat Jawaban @endif
@endforeach
@endif
@endsection