@extends('admin.layouts.app') @section('title', 'Dashboard Admin') @push('styles') @endpush @section('content') @php use Carbon\Carbon; @endphp
{{ Carbon::now()->isoFormat('dddd, D MMMM Y') }}
{{-- STAT CARDS --}}
Guru
Total Guru
{{ $totalGuru }}
Kelas
Total Kelas
{{ $totalKelas }}
Siswa
Total Siswa
{{ $totalSiswa }}
Mapel
Total Mapel
{{ $totalMapel }}
{{-- BOTTOM GRID: Chart + Challenge --}}
Total Siswa Berdasarkan Kelas
{{ $chartData->count() }} Kelas
Challenge Terbaru
Lihat Semua →
@forelse($latestChallenges as $ch)
{{ $ch->kelas->pluck('nama_kelas')->join(', ') ?: 'Semua Kelas' }}
{{ $ch->judul_challenge }}
{{ $ch->soal->count() }} Soal @if($ch->tenggat_waktu) · Tenggat: {{ \Carbon\Carbon::parse($ch->tenggat_waktu)->isoFormat('D MMM Y') }} @endif
@empty
Belum ada challenge dibuat.
@endforelse + Tambahkan Challenge Baru
{{-- 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.
@endif
@endsection @push('scripts') @endpush