@extends('guru.layouts.app') @section('title', 'Dashboard Guru') @push('styles') @endpush @section('content') @php use Carbon\Carbon; use App\Models\Mengajar; $guru = Auth::guard('guru')->user(); $mengajars = Mengajar::with(['mapel','kelas'])->where('id_guru', $guru->id_guru)->get(); $dotColors = ['#2b8ef3','#22c55e','#f97316','#a855f7','#ec4899','#eab308']; @endphp
{{ Carbon::now()->isoFormat('dddd, D MMMM Y') }}
{{-- STAT CARDS --}}
Kelas
Kelas Diampu
{{ $totalKelas }}
Lihat →
Mata Pelajaran
Mata Pelajaran
{{ $totalMapel }}
Lihat →
Siswa
Siswa Diajar
{{ $totalSiswa }}
Lihat →
{{-- BOTTOM GRID: Chart + Mapel List --}}
{{-- Grouped Bar Chart --}}
Pengumpulan Tugas per Mapel & Kelas
Lihat Semua →
@if(count($chartLabels) > 0)
Tepat Waktu
Terlambat
@else
Belum ada data pengumpulan tugas.
@endif
{{-- Daftar Mengajar --}}
Mata Pelajaran & Kelas
Lihat Semua →
@forelse($mengajars->take(7) as $i => $m)
{{ optional($m->mapel)->nama_mapel ?? '-' }}
{{ optional($m->kelas)->nama_kelas ?? '-' }}
@empty
Belum ada data mengajar.
@endforelse
{{-- LEADERBOARD TOP 10 --}}
Leaderboard Top 10 — Semua Kelas
Semester {{ $semester }} • {{ $tahunAjaran }}
Lihat Semua →
@if($leaderboard->count() > 0) @php $maxExp = $leaderboard->max('total_exp') ?: 1; @endphp
@foreach($leaderboard as $row) @php $pct = $maxExp > 0 ? round(($row['total_exp'] / $maxExp) * 100) : 0; @endphp @endforeach
Rank Nama Siswa Kelas Total EXP
@if($row['ranking'] === 1) Rank 1 @elseif($row['ranking'] === 2) Rank 2 @elseif($row['ranking'] === 3) Rank 3 @else {{ $row['ranking'] }} @endif {{ $row['nama'] }} {{ $row['kelas'] }}
{{ number_format($row['total_exp']) }} EXP
@else
Belum ada data leaderboard untuk semester ini.
@endif
@endsection @push('scripts') @endpush