@extends('layouts.superadmin') @section('title', 'تفاصيل التقييم - ' . $evaluation->user->name) @section('content')
{{-- ===================== Breadcrumb (Epic Socrates) ===================== --}} {{-- ===================== ADD: Integrity / Anomaly Card (NO LOGIC CHANGES) ===================== --}} @php $integrityIssues = []; $attendance = (string)($evaluation->attendance_status ?? ''); $wp = (int)($evaluation->whatsapp_presence ?? 0); $tt = (int)($evaluation->tiktok_interaction ?? 0); $pts = (int)($evaluation->total_daily_points ?? 0); $notes = trim((string)($evaluation->evaluator_notes ?? '')); $excuse = trim((string)($evaluation->excuse_reason ?? '')); // حاضر لكن النقاط = 0 (واتس+تيكتوك=0) if ($attendance === 'present' && $pts === 0 && ($wp + $tt) === 0) { $integrityIssues[] = "حاضر لكن النقاط = 0 (واتساب 0 + تيكتوك 0)."; } // غياب لكن النقاط > 0 if (in_array($attendance, ['absent_with_excuse','absent_without_excuse'], true) && $pts > 0) { $integrityIssues[] = "غياب لكن النقاط > 0 (لازم تكون 0 عند الغياب)."; } // غياب لكن يوجد ملاحظات if (in_array($attendance, ['absent_with_excuse','absent_without_excuse'], true) && $notes !== '') { $integrityIssues[] = "غياب لكن يوجد ملاحظات مقيم (المفروض تكون فارغة عند الغياب)."; } // غياب بدون عذر: حسبة -2 if ($attendance === 'absent_without_excuse') { $expected = max(0, ($wp + $tt) - 2); if ($pts !== $expected) { $integrityIssues[] = "حسبة الغياب بدون عذر غير صحيحة (المتوقع {$expected} لكن الموجود {$pts})."; } } // الغياب لازم يكون فيه سبب if (in_array($attendance, ['absent_with_excuse','absent_without_excuse'], true) && $excuse === '') { $integrityIssues[] = "غياب بدون سبب عذر (سبب العذر إجباري عند الغياب)."; } // حاضر: total points لازم يساوي واتس+تيكتوك if ($attendance === 'present') { $expected = $wp + $tt; if ($pts !== $expected) { $integrityIssues[] = "النقاط لا تطابق مجموع واتساب+تيكتوك (المتوقع {$expected} لكن الموجود {$pts})."; } } @endphp @if(!empty($integrityIssues))
⚠️ تنبيه نزاهة: يوجد تناقضات منطقية في هذا التقييم
يُنصح بمراجعة البيانات قبل الاعتماد/الترحيل للنقاط.
{{ count($integrityIssues) }}
    @foreach($integrityIssues as $issue)
  • {{ $issue }}
  • @endforeach
ملاحظة: هذا الفحص بصري داخل الصفحة، والفحص الرسمي يجب أن يكون داخل كنترول الاعتماد (Approve) أيضًا.
@endif {{-- ===================== END ADD ===================== --}} {{-- ===================== HERO / SUMMARY (Epic Socrates) ===================== --}}
{{-- النص الرئيسي --}}
مراجعة تفصيلية لتقييم عضو داخل النظام

تقييم {{ $evaluation->user->name }} بتاريخ {{ $evaluation->evaluation_date->format('Y/m/d') }} – رقم التقييم #{{ $evaluation->id }}

هذه الصفحة تعرض كل تفاصيل التقييم الخاصة بالعضو: حالة الحضور، النقاط، الإنذارات، سبب العذر، وملاحظات المقيم. التقييم جزء من سجل العضو داخل الفريق، ويتم تحليله لاحقًا بواسطة أنظمة الذكاء الاصطناعي لدعم القرارات العادلة والترقيات.

{{-- Chips سريعة --}}
@php $statusLabel = [ 'approved' => 'معتمد', 'pending' => 'قيد المراجعة', 'rejected' => 'مرفوض', ][$evaluation->status] ?? $evaluation->status; $statusBadgeClass = match($evaluation->status){ 'approved' => 'bg-emerald-500/10 text-emerald-200 border-emerald-400/25', 'pending' => 'bg-yellow-500/10 text-yellow-200 border-yellow-400/25', 'rejected' => 'bg-rose-500/10 text-rose-200 border-rose-400/25', default => 'bg-white/5 text-white/80 border-white/10' }; @endphp حالة التقييم: {{ $statusLabel }} الحضور: {{ $evaluation->attendance_status_text }} إجمالي النقاط: {{ $evaluation->total_daily_points }} @if($evaluation->warnings_count > 0) {{ $evaluation->warnings_count }} إنذار/إنذارات @endif @if($evaluation->edit_count > 0) تم تعديل التقييم {{ $evaluation->edit_count }} مرة @endif
{{-- كارد المستخدم + الأزرار --}}

العضو

{{ $evaluation->user->name }}

{{ $evaluation->user->email }}

تذكير: قراءة التقييم تتم من قبل الإدارة والذكاء الاصطناعي، لذلك كل كلمة في سبب العذر أو الملاحظات تعتبر جزءًا من ملف العضو المهني.

تعديل التقييم @if($evaluation->status == 'pending') @endif العودة
{{-- ===================== Socrates Slides (Guided Reading) ===================== --}}
سلايدات سقراط
كيف تقرأ التقييم بسرعة وبذكاء؟
إرشاد بصري — ما بيغير أي شيء بالنظام.
نمط ملحمي
خطوة 1
ابدأ من الهيرو
راقب: حالة التقييم + الحضور + إجمالي النقاط + الإنذارات + عدد التعديلات.
خطوة 2
افحص تنبيه النزاهة
إذا ظهر، يعني فيه تناقضات منطقية (نقاط/حضور/عذر/ملاحظات) لازم تنحل قبل الاعتماد.
خطوة 3
انتقل لكارد التفاصيل
شوف: هوية المقيم (لو مسموحة) + التاريخ + حالة الحضور + توزيع النقاط (واتس/تيكتوك/إجمالي).
خطوة 4
اعتماد؟ لا تسرّع
إذا الحالة Pending: اعتمد فقط بعد ما تتأكد إن الحضور والنقاط والملاحظات متسقة.
* السلايدات للتوضيح فقط — لا تغيّر أي حسابات أو صلاحيات.
{{-- ===================== كارد التفاصيل الرئيسية (Epic Socrates) ===================== --}}
{{-- Header --}}

تفاصيل التقييم #{{ $evaluation->id }}

آخر تحديث: {{ $evaluation->updated_at->format('Y/m/d H:i') }}

@if($evaluation->edit_count > 0)
تم تعديل هذا التقييم {{ $evaluation->edit_count }} مرة
@endif
{{-- Body --}}
{{-- معلومات المستخدم / المقيم / التاريخ / الحضور --}}
{{-- المستخدم --}}
@if($evaluation->user->gender == 'female') @else @endif
اسم المستخدم
{{ $evaluation->user->name }}
{{ $evaluation->user->email }}
@php $userRole = $evaluation->user->roles->first(); $roleNames = [ 'moderator' => 'مشرف', 'official-member' => 'عضو رسمي', 'member' => 'عضو بيتا' ]; @endphp @if($userRole)
{{ $roleNames[$userRole->name] ?? $userRole->name }}
@endif
{{-- المقيم --}}
المقيم
@if($evaluation->show_evaluator_name && $evaluation->evaluator) {{ $evaluation->evaluator->name }} @elseif($evaluation->evaluator) مقيم مجهول الهوية @else غير محدد @endif
@if($evaluation->show_evaluator_name && $evaluation->evaluator)
{{ $evaluation->evaluator->email }}
@endif @if(!$evaluation->show_evaluator_name && $evaluation->evaluator)
(تم إخفاء هوية المقيم في هذا التقييم)
@endif
{{-- تاريخ التقييم --}}
تاريخ التقييم
{{ $evaluation->evaluation_date->format('Y/m/d') }}
تم الإنشاء في {{ $evaluation->created_at->format('H:i') }}
{{-- حالة الحضور --}}
@if($evaluation->attendance_status === 'present') @elseif($evaluation->attendance_status === 'absent_with_excuse') @else @endif
حالة الحضور
{{ $evaluation->attendance_status_text }}
{{-- نقاط الأنشطة --}}
تفاصيل
النقاط والأنشطة
* عرض ملحمي — الحسابات كما هي
{{-- واتساب --}}
نقاط واتساب
{{ $evaluation->whatsapp_presence }}
من 2 نقاط
{{-- تيكتوك --}}
نقاط تيكتوك
{{ $evaluation->tiktok_interaction }}
من 2 نقاط
{{-- إجمالي --}}
إجمالي النقاط
{{ $evaluation->total_daily_points }}
نقطة يومية
@if($evaluation->warnings_count > 0)
الإنذارات
{{ $evaluation->warnings_count }} إنذار
إنذارات مسجّلة لهذا اليوم ضمن هذا التقييم.
@endif
{{-- سبب العذر والملاحظات --}} @if($evaluation->excuse_reason || $evaluation->evaluator_notes)
@if($evaluation->excuse_reason)
سبب العذر
{{ $evaluation->excuse_reason }}
@endif @if($evaluation->evaluator_notes)
ملاحظات المقيم
{{ $evaluation->evaluator_notes }}
@endif
@endif
{{-- ===================== مودال اعتماد التقييم (Epic Socrates) ===================== --}} @if($evaluation->status == 'pending') @endif {{-- ===================== Alerts (Epic Socrates) ===================== --}} {{-- ===================== Slider Script (Safe / No Dependencies) ===================== --}} @if($evaluation->status == 'pending') @endif @endsection