{{-- resources/views/tests/manage/stats.blade.php --}} @extends('layouts.superadmin') @section('title', 'إحصاءات الاختبارات 📊') @section('page-title', '📊 لوحة إحصاءات الاختبارات') @section('content')
{{-- هيدر ملحمي --}}

إحصاءات الاختبارات الأسبوعية

نظرة شاملة على معدلات الأعضاء، نسب النجاح والفشل، وأداء كل اختبار في نظام الأسد.

حدّ النجاح الحالي: {{ $passScore }}% يمكن تعديل درجة النجاح من الكنترولر إذا احتجت.
{{-- أرقام عامة سريعة --}}
إجمالي المحاولات
{{ number_format($globalStats->total_attempts) }}
المعدل العام لكل المحاولات
{{ $globalStats->avg_score !== null ? $globalStats->avg_score.'%' : '—' }}
نسبة النجاح
{{ $globalStats->pass_rate }}%

({{ $globalStats->pass_count }} محاولة ناجحة)

نسبة الفشل
{{ $globalStats->fail_rate }}%

({{ $globalStats->fail_count }} محاولة راسبة)

{{-- معدلات حسب الفئات (بدون كومبوننتات) --}}
{{-- الأعضاء العاديون --}}
معدل الأعضاء العاديين
{{ $extraStats->members_avg !== null ? $extraStats->members_avg.'%' : '—' }}
{{-- المشرفون --}}
معدل المشرفين
{{ $extraStats->moderators_avg !== null ? $extraStats->moderators_avg.'%' : '—' }}
{{-- السوبر أدمنز --}}
معدل السوبر أدمنز
{{ $extraStats->super_admins_avg !== null ? $extraStats->super_admins_avg.'%' : '—' }}
{{-- الشباب / البنات --}}
معدل الشباب / البنات
الشباب {{ $extraStats->male_avg !== null ? $extraStats->male_avg.'%' : '—' }}
البنات {{ $extraStats->female_avg !== null ? $extraStats->female_avg.'%' : '—' }}
{{-- قائمة الاختبارات + معدل كل اختبار --}}

إحصاءات كل اختبار

اضغط على أي اختبار لقراءة الوصف ومعدل النجاح/الفشل بالتفصيل.
@if($tests->isEmpty())
لا توجد اختبارات مسجّلة حتى الآن.
@else
@foreach ($tests as $test) @php $s = $test->stats; $audMap = [ 'all' => 'لكل الأعضاء', 'moderators' => 'المشرفون فقط', 'beta' => 'أعضاء بيتا', 'male' => 'الذكور', 'female' => 'الإناث', ]; $audienceText = $audMap[$test->audience] ?? 'غير محدد'; @endphp
#{{ $test->id }} {{ $test->title }}

الجمهور: {{ $audienceText }} • عدد الأسئلة: {{ $test->questions_count }} • المحاولات: {{ $s->total_attempts }}

نجاح: {{ $s->pass_rate }}% فشل: {{ $s->fail_rate }}% المعدل: {{ $s->avg_score !== null ? $s->avg_score.'%' : '—' }}
{{-- محتوى التفاصيل --}}

هذا القسم يوضّح أداء الأعضاء في هذا الاختبار: عدد المحاولات الكلي: {{ $s->total_attempts }}، ناجحة: {{ $s->pass_count }}، راسبة: {{ $s->fail_count }}.

كل الأرقام هنا هي نسب مئوية محسوبة في الكنترولر، حيث تُحوَّل درجة كل محاولة إلى % حسب عدد أسئلة الاختبار، ثم يُحسب منها المتوسط ونِسَب النجاح والفشل.

@endforeach
@endif
{{-- قسم خاص بإحصائيات الفشل --}}
{{-- أكثر الاختبارات فشلاً --}}

أكثر الاختبارات فشلاً

@if($topFailTests->isEmpty())

لا توجد بيانات كافية لعرض اختبارات عالية الفشل.

@else
@foreach($topFailTests as $rank => $t)
{{ $rank + 1 }} {{ $t->title }}

محاولات: {{ $t->stats->total_attempts }} • معدل: {{ $t->stats->avg_score ?? 0 }}%

فشل: {{ $t->stats->fail_rate }}%
نجاح: {{ $t->stats->pass_rate }}%
@endforeach
@endif
{{-- أضعف الأعضاء أداءً --}}

أضعف الأعضاء أداءً (للمتابعة والتحفيز)

@if($weakMembers->isEmpty())

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

@else
@foreach($weakMembers as $i => $item) @php // الهيكل جاي من الكنترولر: ['user','avg','attempts','fails'] $u = $item['user']; $avg = (float) $item['avg']; $attempts = (int) $item['attempts']; $fails = (int) $item['fails']; $cls = $avg >= 85 ? 'text-emerald-400' : ($avg >= 60 ? 'text-yellow-300' : 'text-rose-300'); $roleMap = [ 'super-admin' => 'سوبر أدمن', 'moderator' => 'مشرف', 'beta' => 'عضو بيتا', 'official' => 'عضو رسمي', ]; $role = $roleMap[$u->membership_status] ?? 'عضو'; @endphp @endforeach
# العضو الرتبة المعدل المحاولات مرات الفشل
{{ $i + 1 }} {{ $u->name }} {{ $role }} {{ $avg }}% {{ $attempts }} {{ $fails }}
@endif
{{-- شرح تفصيلي مبسّط --}}

كيف تُحسب هذه الإحصاءات؟

  • درجة كل محاولة: في الكنترولر يتم تحويل عدد الإجابات الصحيحة في الاختبار إلى نسبة مئوية % = (الإجابات الصحيحة ÷ عدد الأسئلة) × 100.
  • المعدل العام: متوسط هذه النِّسَب لكل المحاولات في جميع الاختبارات.
  • نسبة النجاح: عدد المحاولات التي حصلت على {{ $passScore }}% فأكثر ÷ إجمالي المحاولات × 100.
  • نسبة الفشل: عدد المحاولات الأقل من {{ $passScore }}% ÷ إجمالي المحاولات × 100.
  • معدل كل اختبار: متوسط النِّسَب المئوية لكل المحاولات المرتبطة بهذا الاختبار فقط.
  • أكثر الاختبارات فشلاً: يتم ترتيب الاختبارات حسب أعلى نسبة فشل، مع عرض عدد المحاولات ومعدل الدرجة.
  • أضعف الأعضاء: يتم حساب معدل كل عضو وعدد محاولاته وعدد مرات الرسوب؛ الهدف متابعة الضعفاء وتحفيزهم، وليس "فضحهم".
@endsection