{{-- resources/views/tests/marks/fails.blade.php --}} @extends('layouts.superadmin') @section('title','إحصاءات الفشل والغياب عن الاختبارات') @section('page-title','📉 إحصاءات الفشل — من يرسب ومن لا يشارك؟') @section('content')
{{-- هيدر --}}

إحصاءات الفشل والمتخلّفين عن الاختبارات

هنا بنشوف الاختبارات اللي فيها رسوب عالي، الأعضاء الأكثر تعثّراً، ومن الأعضاء الفعّالين اللي لسه ما دخلوا ولا اختبار في النظام.

حد النجاح المعتمد: {{ $passScore }}% أي محاولة أقل من {{ $passScore }}% تُعتبر راسبة.
{{-- ملخص عام --}}
المعدل العام (كل المحاولات)
{{ $failSummary->avg_percent }}%
مجموع المحاولات: {{ number_format($failSummary->total_attempts) }}
نسبة النجاح الإجمالية
{{ $failSummary->pass_rate }}%
{{ number_format($failSummary->total_passes) }} محاولة ناجحة
نسبة الفشل الإجمالية
{{ $failSummary->fail_rate }}%
{{ number_format($failSummary->total_fails) }} محاولة راسبة
{{-- أكثر الاختبارات فشلاً + من لم يحل --}}

أكثر الاختبارات فشلاً ومستوى المشاركة

يوضّح المحاولات، نسبة الفشل، وعدد الأعضاء الذين لم يشاركوا في كل اختبار.
@if($tests->isEmpty())

لا توجد اختبارات مسجّلة حالياً.

@else
@foreach($tests->sortByDesc(fn($t) => $t->stats->fail_rate)->values() as $i => $test) @php $s = $test->stats; $avg = $s->avg ?? 0; $avgCls = $avg >= 85 ? 'text-emerald-400' : ($avg >= 60 ? 'text-amber-400' : 'text-rose-300'); $audMap = [ 'all' => 'لكل الأعضاء', 'moderators' => 'المشرفون فقط', 'beta' => 'أعضاء بيتا', 'male' => 'الذكور', 'female' => 'الإناث', ]; $audienceText = $audMap[$test->audience] ?? 'غير محدد'; @endphp @endforeach
# الاختبار المحاولات المعدل نسبة الفشل نسبة النجاح لم يشاركوا معدلات الشباب/البنات
{{ $i + 1 }}
{{ $test->title }} الجمهور: {{ $audienceText }} • الأسئلة: {{ $test->questions_count }}
{{ $s->attempts }} {{ $avg }}% {{ $s->fail_rate }}% ({{ $s->fails }}) {{ $s->pass_rate }}% ({{ $s->passes }}) {{ $test->missing_count }} عضو
الشباب: {{ $s->male_avg !== null ? $s->male_avg.'%' : '—' }} البنات: {{ $s->female_avg !== null ? $s->female_avg.'%' : '—' }}
@endif
{{-- أضعف الأعضاء أداءً --}}

الأعضاء الأكثر تعثّراً (رسوباً) في الاختبارات

@if($weakMembers->isEmpty())

لا توجد بيانات كافية عن الأعضاء حتى الآن.

@else
@foreach($weakMembers as $i => $row) @php $u = $row->user; $avg = $row->avg; $avgCls = $avg >= 85 ? 'text-emerald-400' : ($avg >= 60 ? 'text-amber-400' : 'text-rose-300'); $roleMap = [ 'super-admin' => 'سوبر أدمن', 'moderator' => 'مشرف', 'advisor' => 'مستشار', 'beta' => 'عضو بيتا', 'official' => 'عضو رسمي', ]; $role = $roleMap[$u?->membership_status] ?? 'عضو'; @endphp @endforeach
# العضو الرتبة المعدل المحاولات مرات الرسوب نسبة الرسوب
{{ $i + 1 }} {{ $u?->name ?? '—' }} {{ $role }} {{ $avg }}% {{ $row->attempts }} {{ $row->fails }} {{ $row->fail_rate }}%
@endif
{{-- أعضاء لم يشاركوا بأي اختبار --}}

أعضاء فعّالون لم يشاركوا بأي اختبار حتى الآن

@if($neverSubmitted->isEmpty())

كل الأعضاء الفعّالين قاموا بحلّ almeno اختبار واحد 👏

@else

هذه القائمة تضم الأعضاء الفعّالين (لم يخرجوا من التيم) الذين لم يرسلوا أي محاولة في نظام الاختبارات حتى الآن. هؤلاء يحتاجون متابعة من القيادة / غرفة الصقر.

@foreach($neverSubmitted as $i => $u) @php $roleMap = [ 'super-admin' => 'سوبر أدمن', 'moderator' => 'مشرف', 'advisor' => 'مستشار', 'beta' => 'عضو بيتا', 'official' => 'عضو رسمي', ]; $role = $roleMap[$u->membership_status] ?? 'عضو'; $gender = $u->gender === 'male' ? 'ذكر' : ($u->gender === 'female' ? 'أنثى' : 'غير محدد'); @endphp @endforeach
# العضو الرتبة الجنس
{{ $i + 1 }} {{ $u->name }} {{ $role }} {{ $gender }}
@endif
@endsection