@extends('admin.layout') @section('content')
Track student performance and rankings across different subjects and levels
{{ number_format($totalParticipants) }}
@if($leaderboard->count() > 0) {{ $leaderboard->first()->total_score }} @else 0 @endif
{{ number_format($averageScore, 1) }}
{{ request()->anyFilled(['subject', 'level', 'region', 'school', 'search']) ? count(request()->all()) - 1 : 0 }}
| Rank | Student | Subject | Level | Score | Time Spent | School | Region | Last Updated |
|---|---|---|---|---|---|---|---|---|
|
@if($index < 3)
{{ $index + 1 }}
@endif
#{{ ($leaderboard->currentPage() - 1) * $leaderboard->perPage() + $index + 1 }}
|
{{ substr($entry->user->first_name, 0, 1) }}{{ substr($entry->user->last_name, 0, 1) }}
{{ $entry->user->first_name }} {{ $entry->user->last_name }}
{{ $entry->user->email }}
|
{{ $entry->subject->name ?? 'N/A' }}
|
{{ $entry->competitionLevel->name ?? 'N/A' }} |
{{ $entry->total_score }}
points
|
@php $hours = floor($entry->time_spent / 3600); $minutes = floor(($entry->time_spent % 3600) / 60); $seconds = $entry->time_spent % 60; @endphp @if($hours > 0) {{ $hours }}h {{ $minutes }}m @elseif($minutes > 0) {{ $minutes }}m {{ $seconds }}s @else {{ $seconds }}s @endif | {{ $entry->school ?? 'N/A' }} | {{ $entry->region ?? 'N/A' }} | {{ $entry->updated_at->diffForHumans() }} |
|
No leaderboard entries found. @if(request()->anyFilled(['subject', 'level', 'region', 'school', 'search']))Try adjusting your filters @endif |
||||||||
{{ $topPerformer->school ?? 'N/A' }}
points • {{ $topPerformer->subject->name ?? 'N/A' }}