@php $user = auth()->user(); if ($user->hasRole('super-admin')) $layout = 'layouts.superadmin'; elseif ($user->hasRole('advisor')) $layout = 'layouts.advisor'; elseif ($user->hasRole('moderator')) $layout = 'layouts.moderator'; else $layout = 'layouts.member'; $from = $from ?? request('from',''); $to = $to ?? request('to',''); $qText = $qText ?? request('q',''); @endphp @extends($layout) @section('title','اختباراتي ومعدلاتي') @section('content') @php $from = $from ?? request('from',''); $to = $to ?? request('to',''); $qText = $qText ?? request('q',''); @endphp
{{-- HERO --}}
سجل شخصي — محاولاتك فقط

اختباراتي ومعدلاتي

ترتيب الأحدث للأقدم — النسبة محسوبة بدقة حتى لو كانت الداتا قديمة.

ضمن الفلاتر
{{ number_format((int)($kpis['total'] ?? 0)) }}
{{-- KPIs --}}
المعدل
{{ $kpis['avg'] ?? 0 }}%
أفضل نتيجة
{{ $kpis['best'] ?? 0 }}%
أضعف نتيجة
{{ $kpis['worst'] ?? 0 }}%
نجاح
{{ (int)($kpis['pass'] ?? 0) }}
رسوب
{{ (int)($kpis['fail'] ?? 0) }}
نسبة النجاح
{{ $kpis['pass_rate'] ?? 0 }}%
{{-- Filters --}}
{{-- LIST --}} @if($rows->count())
@foreach($rows as $r) @php $isPass = (bool)($r->is_pass ?? false); $badgeCls = $isPass ? 'bg-emerald-500/15 border-emerald-400/25 text-emerald-200' : 'bg-rose-500/15 border-rose-400/25 text-rose-200'; $percent = number_format((float)($r->percent ?? 0), 2); $date = $r->submitted_at ? \Carbon\Carbon::parse($r->submitted_at)->format('Y-m-d H:i') : '—'; @endphp
{{ $isPass ? 'ناجح' : 'راسب' }}
الاختبار: {{ $r->test_title ?? ('#'.$r->test_id) }}
تاريخ التسليم: {{ $date }}
نتيجتك
{{ $percent }}%
#{{ $r->id }}
أسئلة: {{ (int)($r->questions_count ?? 0) }} طريقة الحساب: {{ ($r->score_mode ?? '') === 'raw' ? 'عدد صحيح → %' : '% مباشر' }}
@endforeach
{{ $rows->links() }}
@else
لا يوجد محاولات ضمن هذه الفلاتر.
@endif
@endsection