{{-- resources/views/superadmin/falcon-room/member-insights.blade.php --}} @extends('layouts.superadmin') @section('title','غرفة الصقر — تحليلات عضو') @section('page-title','🧠 تحليلات عضو — Member Insight') @section('content')
{{-- العنوان --}}

🧠 تحليلات عضو

{{-- اختيار العضو --}}

اختر عضواً لتحليل ملفه

اختر أحد أعضاء الفريق ليتم عرض كل بياناته وتحليلاته وتقييمات الإدارة حوله في صفحة واحدة، متوافقة مع الجوال والكمبيوتر.

@if(!$member) {{-- شرح فقط بدون عضو --}}

👆 ابدأ من اختيار عضو

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

@else @php // بناء رابط الصورة بنفس أسلوب صفحة الأعضاء $avatarUrl = $member->avatar_url ?? ($stats['avatar_url'] ?? null) ?? 'https://ui-avatars.com/api/?name='.urlencode($stats['name'] ?? $member->name ?? 'Member'); // رأي الذكاء الاصطناعي $aiOpinion = trim((string)($stats['ai_opinion'] ?? '')); if ($aiOpinion === '') { $aiOpinion = 'لم يتم توليد رأي آلي بعد لهذا العضو.'; } @endphp @if($member && $stats)
@csrf
@endif {{-- بطاقة العضو الأساسية --}}
صورة العضو

{{ $stats['name'] ?? $member->name }}

@if(($stats['username'] ?? $member->username)) {{ '@'.($stats['username'] ?? $member->username) }} @endif
@if($stats['membership_status'] ?? $member->membership_status) حالة العضوية: {{ $stats['membership_status'] ?? $member->membership_status }} @endif @if($stats['account_status'] ?? $member->account_status) حالة الحساب: {{ $stats['account_status'] ?? $member->account_status }} @endif @if($stats['joined_at'] ?? $member->created_at) انضم منذ: {{ \Illuminate\Support\Carbon::parse($stats['joined_at'] ?? $member->created_at)->format('Y-m-d') }} @endif
{{-- أرقام سريعة (موبايل: صفين، ديسكتوب: 4 كروت) --}}

مجموع النقاط

{{ number_format($stats['total_points'] ?? 0) }}

ترتيب داخل الجنس

#{{ $stats['rank_gender'] ?? '—' }} من {{ $stats['total_gender'] ?? '؟' }}

ترتيبه في التيم

#{{ $stats['rank_team'] ?? '—' }} من {{ $stats['total_team'] ?? '؟' }}

ساعات لايف/نشاط

{{ number_format($stats['score_total_hours'] ?? 0,1) }}

@if($stats['care_case_exists']) @php $level = $stats['care_level'] ?? 'normal'; $levelLabel = [ 'normal' => 'متابعة عادية', 'watch' => 'تحت المراقبة', 'needs_attention' => 'يحتاج عناية خاصة', 'star' => 'متابعة إيجابية (نجم التيم)', ][$level] ?? 'متابعة عادية'; $levelClass = match ($level) { 'watch' => 'bg-amber-100 text-amber-800 dark:bg-amber-900/40 dark:text-amber-200', 'needs_attention' => 'bg-rose-100 text-rose-800 dark:bg-rose-900/40 dark:text-rose-200', 'star' => 'bg-emerald-100 text-emerald-800 dark:bg-emerald-900/40 dark:text-emerald-200', default => 'bg-sky-100 text-sky-800 dark:bg-sky-900/40 dark:text-sky-200', }; $statusText = $stats['care_status'] === 'closed' ? 'ملف المتابعة مغلق' : 'ملف المتابعة مفتوح'; @endphp {{-- متابعات الإدارة — حسب سجلات المتابعة للعضو والاستنتاجات --}}
{{-- الهيدر --}}

🛡️ متابعات الإدارة للعضو

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

{{-- سطر الحالة السريعة --}}

حالة الملف

{{ $statusText }}

مستوى المتابعة

{{ $levelLabel }}

عدد الملاحظات

{{ $stats['care_notes_count'] ?? 0 }}

آخر تحديث

{{ $stats['care_last_note_at'] ? \Illuminate\Support\Carbon::parse($stats['care_last_note_at'])->format('Y-m-d') : '—' }}

{{-- السبب والخطة / استنتاج الإدارة --}}

سبب تركيز الإدارة على العضو

{{ $stats['care_focus_reason'] ?: 'لم تُسجل إدارة التيم سبباً محدداً، الملف في وضع متابعة عامة.' }}

خلاصة واستنتاجات المشرفين

{{ $stats['care_plan_summary'] ?: 'لم تُكتب خطة تفصيلية بعد، ينصح بمراجعة الملاحظات المسجلة لتحديد الخطوات القادمة.' }}

{{-- ملخص المشرفين + آخر الملاحظات --}}
{{-- ملخص المشرفين --}}

👥 المشرفون المتابعون للعضو

@if($tables['care_supervisors']->count())
    @foreach($tables['care_supervisors'] as $sup)
  • {{ $sup->advisor_name ?? 'إداري غير معروف' }} آخر متابعة: {{ $sup->last_note_at ? \Illuminate\Support\Carbon::parse($sup->last_note_at)->format('Y-m-d') : '—' }}
    {{ $sup->notes_count }} ملاحظة
  • @endforeach
@else

لا توجد ملاحظات مسجلة من المشرفين حتى الآن.

@endif
{{-- تايم لاين الملاحظات --}}

📜 آخر ملاحظات المتابعة (تعرض آخر {{ min(10, $tables['care_notes']->count()) }} ملاحظات)

@if($tables['care_notes']->count())
@foreach($tables['care_notes'] as $note) @php $typeLabel = [ 'info' => 'معلومة', 'praise' => 'مدح/تحفيز', 'warning' => 'تحذير', 'issue' => 'مشكلة', 'meeting' => 'اجتماع/جلسة', 'private' => 'ملاحظة خاصة', ][$note->type] ?? $note->type; $badgeClass = match ($note->type) { 'praise' => 'bg-emerald-100 text-emerald-800 dark:bg-emerald-900/60 dark:text-emerald-100', 'warning' => 'bg-rose-100 text-rose-800 dark:bg-rose-900/60 dark:text-rose-100', 'issue' => 'bg-amber-100 text-amber-800 dark:bg-amber-900/60 dark:text-amber-100', 'meeting' => 'bg-sky-100 text-sky-800 dark:bg-sky-900/60 dark:text-sky-100', 'private' => 'bg-slate-200 text-slate-800 dark:bg-slate-800 dark:text-slate-100', default => 'bg-slate-100 text-slate-700 dark:bg-slate-900/60 dark:text-slate-100', }; @endphp
{{ $typeLabel }} {{ $note->created_at->format('Y-m-d H:i') }}

{{ $note->body }}

@if($note->next_action_at)

خطوة قادمة متوقعة في: {{ \Illuminate\Support\Carbon::parse($note->next_action_at)->format('Y-m-d') }}

@endif
@endforeach
@else

لا توجد ملاحظات متابعة مسجلة بعد لهذا العضو.

@endif
@endif {{-- كروت إحصائيات مجمّعة (شبِهة بباقي الداشبورد) --}}
{{-- التقييمات --}}

إجمالي التقييمات اليومية

{{ $stats['evaluations_total'] ?? 0 }}

✅ مقبولة: {{ $stats['evaluations_approved'] ?? 0 }}
⛔ مرفوضة: {{ $stats['evaluations_rejected'] ?? 0 }}
⏳ معلّقة: {{ $stats['evaluations_pending'] ?? 0 }}
{{-- النشاط --}}

النشاط واللايفات

{{ number_format($stats['activities_total'] ?? 0) }}

ساعات مسجلة: {{ number_format($stats['score_total_hours'] ?? 0,1) }}
نقاط من الأنشطة: {{ number_format($stats['score_total_points'] ?? 0) }}
{{-- المخالفات --}}

المخالفات والغياب

{{ $stats['violations_total'] ?? 0 }}

إنذارات: {{ $stats['warnings_total'] ?? 0 }}
غياب مقبول: {{ $stats['excused_approved'] ?? 0 }}
غياب مرفوض: {{ $stats['excused_rejected'] ?? 0 }}
{{-- المسابقات --}}

المسابقات والترتيب

{{ $stats['competitions_total'] ?? 0 }}

مرات الفوز: {{ $stats['competitions_won'] ?? 0 }}
الترتيب في التيم: #{{ $stats['rank_team'] ?? '—' }}
{{-- رأي الذكاء الاصطناعي + أكثر من قيّمه --}}

🤖 رأي الذكاء الاصطناعي في العضو

{{ $aiOpinion }}

👥 أكثر من قام بتقييمه

@if(isset($tables['top_evaluators']) && count($tables['top_evaluators']))
    @foreach($tables['top_evaluators'] as $ev)
  • {{ $ev->evaluator_name ?? 'إداري غير معروف' }} {{ $ev->total_evals }} تقييم/ات
  • @endforeach
@else

لا توجد بيانات كافية عن من قام بتقييم هذا العضو حتى الآن.

@endif
{{-- الجداول التفصيلية (موبايل: كل جدول بعرض الصفحة مع سكرول أفقي بسيط) --}}
{{-- آخر 10 تقييمات --}}

📊 آخر 10 تقييمات

@forelse($tables['last_evaluations'] as $ev) @empty @endforelse
التاريخ الحالة المجموع
{{ \Illuminate\Support\Carbon::parse($ev->evaluation_date)->format('Y-m-d') }} {{ $ev->status }} {{ $ev->total_daily_points }}
لا توجد تقييمات كافية للعرض.
{{-- آخر 10 مخالفات --}}

🚨 آخر 10 مخالفات

@forelse($tables['last_violations'] as $v) @empty @endforelse
التاريخ النوع الوصف
{{ \Illuminate\Support\Carbon::parse($v->created_at)->format('Y-m-d') }} {{ optional($v->violation)->type ?? '-' }} {{ optional($v->violation)->reason ?? $v->notes ?? '-' }}
لا توجد مخالفات مسجلة للعضو.
{{-- طلبات الغياب --}}

📅 آخر 10 طلبات غياب

@forelse($tables['last_absences'] as $a) @empty @endforelse
الفترة الحالة السبب
{{ $a->from_date ?? '' }} → {{ $a->to_date ?? '' }} {{ $a->status ?? '-' }} {{ $a->reason ?? '-' }}
لا توجد طلبات غياب للعرض.
{{-- أنشطة / جلسات / مسابقات --}}

⚡ آخر 10 أنشطة / مسابقات

@forelse($tables['last_activities'] as $ac) @empty @endforelse
التاريخ النوع التفاصيل
{{ \Illuminate\Support\Carbon::parse($ac->created_at)->format('Y-m-d') }} {{ optional($ac->activity)->type ?? '-' }} {{ optional($ac->activity)->title ?? optional($ac->activity)->platform ?? '-' }}
لا توجد أنشطة مسجلة.
{{-- نهاية الجريد --}} @endif
@endsection