@extends('layouts.app', ['title' => 'Nilai', 'eyebrow' => 'Rekap akademik']) @section('content') @php $user = auth()->user(); $scoreColor = function ($score) { return $score < 70 ? 'rose' : ($score < 80 ? 'amber' : 'emerald'); }; $groupedGrades = $grades->groupBy('student_id'); @endphp

@if($user->hasRole('guru')) Kelas perwalian {{ $user->class_name ?? '-' }} @elseif($user->hasRole('siswa')) Rapor ringkas siswa @elseif($user->hasRole('orang_tua')) Pantauan nilai anak @else Kontrol nilai sekolah @endif

Rekap Nilai Akademik

@if($user->hasRole('guru')) Input dan pantau nilai siswa kelas perwalian. Setiap pembaruan nilai akan memberi notifikasi ke siswa dan orang tua. @elseif($user->hasRole('siswa')) Lihat nilai per mata pelajaran dan gunakan catatan ini untuk mengetahui bagian yang perlu ditingkatkan. @elseif($user->hasRole('orang_tua')) Pantau perkembangan nilai anak secara ringkas agar pendampingan belajar di rumah lebih terarah. @else Pantau sebaran nilai, jumlah data, dan siswa yang membutuhkan pendampingan akademik. @endif

{{ $gradeStats['average'] ?: 0 }} rata-rata
@foreach([ ['Siswa', $gradeStats['students']], ['Data nilai', $gradeStats['grades']], ['Rata-rata', $gradeStats['average'] ?: 0], ['Perlu bantuan', $gradeStats['needs_support']], ] as [$label, $value])

{{ $label }}

{{ $value }}

@endforeach
@if($user->hasRole('guru'))
@csrf

Input nilai

Tambah / Perbarui Nilai

Pilih siswa perwalian, mata pelajaran, semester, lalu simpan nilai.

{{ $students->count() }} siswa
@if($errors->any())
{{ $errors->first() }}
@endif

Kelas perwalian

Ringkasan Siswa

{{ $students->count() }} siswa
@forelse($students as $student) @php $studentAverage = round((float) ($student->average_score ?? $groupedGrades->get($student->id, collect())->avg('score')), 1); $color = $scoreColor($studentAverage); @endphp @empty @endforelse
SiswaNISRata-rataStatus
{{ $student->name }} {{ $student->nis ?? '-' }} {{ $studentAverage ?: '-' }} {{ $studentAverage < 70 && $studentAverage > 0 ? 'Perlu bantuan' : 'Baik' }}
Belum ada siswa di kelas perwalian.
@endif

Daftar nilai

{{ $user->hasRole(['siswa','orang_tua']) ? 'Rapor Mata Pelajaran' : 'Nilai Terbaru' }}

{{ $grades->count() }} data
@if($user->hasRole(['siswa','orang_tua']))
@forelse($grades as $grade) @php $color = $scoreColor((float) $grade->score); @endphp

{{ optional($grade->course)->name ?? 'Mata pelajaran' }}

{{ optional($grade->student)->name ?? 'Siswa' }}

Semester {{ $grade->semester }}

{{ number_format((float) $grade->score, 0) }}

{{ $grade->score < 70 ? 'Perlu latihan dan pendampingan lagi.' : 'Pertahankan kebiasaan belajar yang baik.' }}

@empty

Belum ada nilai yang tercatat.

@endforelse
@else
@forelse($grades as $grade) @php $color = $scoreColor((float) $grade->score); @endphp @empty @endforelse
SiswaKelasMata PelajaranSemesterNilaiStatus
{{ optional($grade->student)->name ?? '-' }} {{ optional($grade->student)->class_name ?? '-' }} {{ optional($grade->course)->name ?? '-' }} {{ $grade->semester }} {{ number_format((float) $grade->score, 0) }} {{ $grade->score < 70 ? 'Perlu bantuan' : 'Baik' }}
Belum ada nilai yang tercatat.
@endif
@endsection