@extends('admin.layouts.app')
@section('title', 'Leaderboard')
@push('styles')
@endpush
@section('content')
LEADERBOARD
Peringkat siswa berdasarkan total EXP yang dikumpulkan.
{{-- Filter --}}
Semester {{ $semester }} · {{ $tahunAjaran }}{{ $idKelas ? ' · ' . ($kelasList->firstWhere('id_kelas', $idKelas)?->nama_kelas ?? '') : ' · Semua Kelas' }}
@if($leaderboard->isEmpty())
Belum ada data leaderboard.
Belum ada siswa yang menyelesaikan challenge pada periode ini.
@else
{{-- Podium --}}
@php
$first = $leaderboard->firstWhere('ranking', 1);
$second = $leaderboard->firstWhere('ranking', 2);
$third = $leaderboard->firstWhere('ranking', 3);
@endphp
@php
function fotoSiswa($item) {
if (!empty($item['foto_profil'])) {
$fileName = basename($item['foto_profil']);
return '/E31230356/storage/app/public/foto_profil/siswa/' . $fileName;
}
return null;
}
@endphp
@if($first)
@if($second)
@php $fotoUrl = fotoSiswa($second); @endphp
@if($fotoUrl)
![Foto {{ $second['nama'] }}]({{ $fotoUrl }})
@else
{{ strtoupper(substr($second['nama'],0,1)) }}
@endif
{{ $second['nama'] }}
{{ $second['nama_kelas'] }}
 }})
{{ number_format($second['exp']) }}
2
@endif
@php $fotoUrl = fotoSiswa($first); @endphp
@if($fotoUrl)
![Foto {{ $first['nama'] }}]({{ $fotoUrl }})
@else
{{ strtoupper(substr($first['nama'],0,1)) }}
@endif
{{ $first['nama'] }}
{{ $first['nama_kelas'] }}
 }})
{{ number_format($first['exp']) }}
1
@if($third)
@php $fotoUrl = fotoSiswa($third); @endphp
@if($fotoUrl)
![Foto {{ $third['nama'] }}]({{ $fotoUrl }})
@else
{{ strtoupper(substr($third['nama'],0,1)) }}
@endif
{{ $third['nama'] }}
{{ $third['nama_kelas'] }}
 }})
{{ number_format($third['exp']) }}
3
@endif
@endif
{{-- Tabel --}}
Semua Peringkat ({{ $leaderboard->count() }} siswa)
@foreach($leaderboard as $item)
@php
$rankClass = match($item['ranking']) { 1=>'gold', 2=>'silver', 3=>'bronze', default=>'' };
@endphp
@if($item['ranking']===1)
 }})
@elseif($item['ranking']===2)
 }})
@elseif($item['ranking']===3)
 }})
@else
{{ $item['ranking'] }}
@endif
@php $fotoUrl = fotoSiswa($item); @endphp
@if($fotoUrl)
![Foto {{ $item['nama'] }}]({{ $fotoUrl }})
@else
{{ strtoupper(substr($item['nama'],0,1)) }}
@endif
{{ $item['nama'] }}
{{ $item['nisn'] }}
{{ $item['nama_kelas'] }}
 }})
{{ number_format($item['exp']) }}
@endforeach
@endif
@endsection