@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 Diampu
{{ $totalKelas }}
Lihat →
Mata Pelajaran
{{ $totalMapel }}
Lihat →
Siswa Diajar
{{ $totalSiswa }}
Lihat →
{{-- BOTTOM GRID: Chart + Mapel List --}}
{{-- Grouped Bar Chart --}}
@if(count($chartLabels) > 0)
@else
Belum ada data pengumpulan tugas.
@endif
{{-- Daftar Mengajar --}}
@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
| Rank |
Nama Siswa |
Kelas |
Total EXP |
@foreach($leaderboard as $row)
@php
$pct = $maxExp > 0 ? round(($row['total_exp'] / $maxExp) * 100) : 0;
@endphp
@if($row['ranking'] === 1)
@elseif($row['ranking'] === 2)
@elseif($row['ranking'] === 3)
@else
{{ $row['ranking'] }}
@endif
|
{{ $row['nama'] }} |
{{ $row['kelas'] }} |
{{ number_format($row['total_exp']) }} EXP
|
@endforeach
@else
Belum ada data leaderboard untuk semester ini.
@endif
@endsection
@push('scripts')
@endpush