@extends('Frontpage.Home.layout') @section('title', 'Student Marks - Iqra Schools') @section('content')

{{ __('Public Results Board') }}

{{ __('Browse academic results by Class and Section. The most recently uploaded tests appear first.') }}

@forelse($groupedExams as $className => $sections)
@foreach($sections as $sectionName => $exams)
@foreach($exams as $exam)
{{ $exam->exam_date->format('d M, Y') }}

{{ $exam->title }}

{{ $exam->subject }} • Tr. {{ $exam->teacher->name }} • Max Marks: {{ number_format($exam->max_marks, 0) }}
@if($loop->first) New @endif
@if($exam->marks->count() > 0)
Total Students: {{ $exam->marks->count() }}
Avg Score: {{ number_format($exam->marks->avg('marks_obtained'), 1) }}
@php $highest = $exam->marks->max('marks_obtained'); @endphp
Top Score: {{ rtrim(rtrim(number_format($highest, 2), '0'), '.') }}
@php // Sort by marks desc to assign ranks $sortedMarks = $exam->marks->sortByDesc('marks_obtained')->values(); @endphp @foreach($sortedMarks as $index => $mark) @php $percentage = ($exam->max_marks > 0) ? ($mark->marks_obtained / $exam->max_marks) * 100 : 0; $gradeColor = 'text-blue-600 bg-blue-50'; $gradeText = 'Average'; if($percentage >= 90) { $gradeColor = 'text-emerald-600 bg-emerald-50'; $gradeText = 'Excellent'; } elseif($percentage >= 75) { $gradeColor = 'text-cyan-600 bg-cyan-50'; $gradeText = 'Good'; } elseif($percentage >= 50) { $gradeColor = 'text-amber-600 bg-amber-50'; $gradeText = 'Pass'; } elseif($percentage < 35) { $gradeColor = 'text-rose-600 bg-rose-50'; $gradeText = 'Needs Work'; } $rank = $index + 1; @endphp @endforeach
Rank Student Marks Obtained Grade
@if($rank == 1) 1 @elseif($rank == 2) 2 @elseif($rank == 3) 3 @else {{ $rank }} @endif
Avatar
{{ $mark->student->first_name }} {{ $mark->student->surname }}
{{ $mark->student->login_id }}
{{ rtrim(rtrim(number_format($mark->marks_obtained, 2), '0'), '.') }} / {{ number_format($exam->max_marks, 0) }} {{ $gradeText }}
@foreach($sortedMarks as $index => $mark) @php $percentage = ($exam->max_marks > 0) ? ($mark->marks_obtained / $exam->max_marks) * 100 : 0; $gradeColor = 'text-blue-600 bg-blue-50'; $gradeText = 'Average'; $progressColor = 'bg-blue-500'; if($percentage >= 90) { $gradeColor = 'text-emerald-600 bg-emerald-50'; $gradeText = 'Excellent'; $progressColor = 'bg-emerald-500'; } elseif($percentage >= 75) { $gradeColor = 'text-cyan-600 bg-cyan-50'; $gradeText = 'Good'; $progressColor = 'bg-cyan-500'; } elseif($percentage >= 50) { $gradeColor = 'text-amber-600 bg-amber-50'; $gradeText = 'Pass'; $progressColor = 'bg-amber-500'; } elseif($percentage < 35) { $gradeColor = 'text-rose-600 bg-rose-50'; $gradeText = 'Needs Work'; $progressColor = 'bg-rose-500'; } $rank = $index + 1; @endphp
@if($rank <= 3)
#{{ $rank }}
@endif
Avatar
{{ $mark->student->first_name }} {{ $mark->student->surname }}
{{ $mark->student->login_id }}
{{ rtrim(rtrim(number_format($mark->marks_obtained, 2), '0'), '.') }}
out of {{ number_format($exam->max_marks, 0) }}
{{ $gradeText }}
@endforeach
@else

No Marks Yet

Marks have not been uploaded for this test.

@endif
@endforeach
@endforeach
@empty

{{ __('No Tests Uploaded') }}

{{ __('There are no test results available at the moment. Please check back later.') }}

@endforelse
@endsection