@extends('layouts.app') @section('title', 'Rekap Nilai') @section('content')

Rekap Nilai

Ringkasan nilai siswa per mata pelajaran dalam bentuk grid.

@if ($classRoom && $subject && $students->isNotEmpty()) @if ($stats)
Rata-rata {{ $stats['total'] }} input

{{ $stats['avg'] }}

Tertinggi Max

{{ $stats['max'] }}

Nilai ≥ 80 {{ $stats['pct_above80'] }}%

{{ $stats['above80'] }}

Nilai < 60 {{ $stats['pct_below60'] }}%

{{ $stats['below60'] }}

@if ($stats['by_type'] && $stats['by_type']->isNotEmpty())
@foreach ($stats['by_type'] as $typeData)
{{ $typeData['name'] }} Bobot {{ $typeData['weight'] }}%
avg {{ $typeData['avg'] }} {{ $typeData['count'] }} input
@endforeach
@endif @endif

{{ $classRoom->class_name }} · {{ $subject->name }} · {{ $stats ? $stats['total'] : 0 }} input

@foreach ($dates as $date) @endforeach @foreach ($students as $student) @php $sStats = $studentStats->get($student->id); @endphp @foreach ($dates as $date) @php $grade = $allGrades->first(fn($g) => $g->student_id === $student->id && $g->date === $date); @endphp @endforeach @endforeach
Nama Siswa {{ \Carbon\Carbon::parse($date)->format('d/m') }}
{{ \Carbon\Carbon::parse($date)->isoFormat('ddd') }}
Avg Min Max Jml
{{ $student->name }} @if ($grade && $grade->score !== null) {{ $grade->score }} @else @endif @if ($sStats) {{ $sStats['avg'] }} @else - @endif {{ $sStats['min'] ?? '-' }} {{ $sStats['max'] ?? '-' }} {{ $sStats['count'] ?? 0 }}
80+ Baik 60+ Cukup <60 Kurang - Belum ada
@elseif ($classRoom)

Belum ada data nilai untuk rentang tanggal ini

@endif @endsection