@extends('layouts.superadmin')
@section('title','🏆 نظام أبطال الديجتال — ProActive (قراءة فقط)')
@section('page-title','🏆 نظام أبطال الديجتال — مركز الجودة (قراءة فقط للمشرفين)')
@section('content')
@php
// ====== تعريب كامل للمصطلحات ======
$arRisk = function(?string $r){
$r = strtolower(trim((string)$r));
return match($r){
'high' => 'بخطر',
'medium' => 'يحتاج تدقيق',
default => 'آمن',
};
};
$arSuggest = function(?string $s){
$s = strtolower(trim((string)$s));
return match($s){
'approve','approved','accept','accepted' => 'قبول',
'reject','rejected','deny','denied' => 'رفض',
default => 'مراجعة',
};
};
$tabs = [
['key'=>'all', 'label'=>'الكل', 'icon'=>'fa-layer-group'],
['key'=>'reports', 'label'=>'تقارير ProActive', 'icon'=>'fa-bolt'],
['key'=>'notes', 'label'=>'ملاحظات الصقر/رولا', 'icon'=>'fa-notes-medical'],
];
$statusOptions = [
'' => 'كل الحالات',
'pending' => '🕓 تحت المراجعة',
'approved' => '✅ مقبول',
'rejected' => '❌ مرفوض',
];
$riskOptions = [
'' => 'كل المستويات',
'low' => '🟢 آمن',
'medium' => '🟠 يحتاج تدقيق',
'high' => '🔴 بخطر',
];
$scoreBadge = function(int $s){
if ($s >= 90) return ['txt'=>"أسطوري — {$s}/100", 'cls'=>'bg-emerald-500/10 text-emerald-200 border-emerald-400/25'];
if ($s >= 75) return ['txt'=>"قوي — {$s}/100", 'cls'=>'bg-sky-500/10 text-sky-200 border-sky-400/25'];
if ($s >= 60) return ['txt'=>"متوسط — {$s}/100", 'cls'=>'bg-amber-500/10 text-amber-200 border-amber-400/25'];
return ['txt'=>"خطر — {$s}/100", 'cls'=>'bg-rose-500/10 text-rose-200 border-rose-400/25'];
};
$riskBadge = function(string $r) use ($arRisk){
$txt = $arRisk($r);
return match(strtolower(trim($r))){
'high' => ['txt'=>"🔴 {$txt}", 'cls'=>'bg-rose-500/10 text-rose-200 border-rose-400/25'],
'medium' => ['txt'=>"🟠 {$txt}", 'cls'=>'bg-amber-500/10 text-amber-200 border-amber-400/25'],
default => ['txt'=>"🟢 {$txt}", 'cls'=>'bg-emerald-500/10 text-emerald-200 border-emerald-400/25'],
};
};
$statusBadge = function(?string $st){
$st = strtolower(trim((string)($st ?? 'pending')));
if ($st === '') $st = 'pending';
return match($st){
'approved' => ['txt'=>'✅ مقبول', 'cls'=>'bg-emerald-500/10 text-emerald-200 border-emerald-400/25'],
'rejected' => ['txt'=>'❌ مرفوض', 'cls'=>'bg-rose-500/10 text-rose-200 border-rose-400/25'],
default => ['txt'=>'🕓 تحت المراجعة','cls'=>'bg-amber-500/10 text-amber-200 border-amber-400/25'],
};
};
$tab = $tab ?? 'reports';
$status = $status ?? '';
$risk = $risk ?? '';
$q = $q ?? '';
$summary = $summary ?? ['reports'=>[],'notes'=>[],'global'=>[]];
$globalPending = (int)($summary['global']['pending'] ?? 0);
$globalRisk = (int)($summary['global']['at_risk'] ?? 0);
$readOnlyNotice = 'هذه الصفحة قراءة فقط للمشرفين — لا يوجد أي تعديل أو قرارات جماعية.';
@endphp
{{-- ===== HERO ملحمي (Aurora / Socrates) ===== --}}
مركز الجودة — أبطال الديجتال
لوحة تقييم سريعة: الجودة • رايات التحليل • اقتراح إرشادي • تفاصيل كاملة.
@if($globalPending > 0)
تحت المراجعة: {{ $globalPending }}
@endif
@if($globalRisk > 0)
بخطر (+48 ساعة): {{ $globalRisk }}
@endif
{{-- KPIs --}}
متوسط جودة التقارير
تحت المراجعة: {{ (int)($summary['reports']['pending'] ?? 0) }}
• بخطر: {{ (int)($summary['reports']['at_risk'] ?? 0) }}
متوسط جودة الملاحظات
تحت المراجعة: {{ (int)($summary['notes']['pending'] ?? 0) }}
• بخطر: {{ (int)($summary['notes']['at_risk'] ?? 0) }}
{{-- Tabs + Filters --}}
{{-- Tabs --}}
@foreach($tabs as $t)
@endforeach
{{-- Filters (GET فقط) --}}
“تفاصيل” تفتح لوحة جانبية تعرض كل شيء بالعربي — بدون أي تعديل.
{{-- LISTS (Read-only) --}}
@if($tab === 'all')
{{-- Reports preview --}}
@forelse(($reports?->items() ?? []) as $r)
@php
$sb = $scoreBadge((int)($r->_score ?? 0));
$rb = $riskBadge((string)($r->_risk ?? 'low'));
$stb = $statusBadge($r->program_status ?? null);
$suggestAr = $arSuggest($r->_suggest ?? null);
@endphp
#{{ $r->id }} • {{ $r->created_at ?? '' }}
{{ $stb['txt'] }}
{{ $sb['txt'] }}
{{ $rb['txt'] }}
@if(!empty($r->_suggest))
🧠 اقتراح (إرشادي): {{ $suggestAr }}
@if(!empty($r->_suggest_reason)) — {{ $r->_suggest_reason }} @endif
@endif
@empty
لا يوجد بيانات
@endforelse
{{-- Notes preview --}}
@forelse(($notes?->items() ?? []) as $n)
@php
$sb = $scoreBadge((int)($n->_score ?? 0));
$rb = $riskBadge((string)($n->_risk ?? 'low'));
$stb = $statusBadge($n->program_status ?? null);
$suggestAr = $arSuggest($n->_suggest ?? null);
@endphp
#{{ $n->id }} • {{ $n->created_at ?? '' }}
{{ $stb['txt'] }}
{{ $sb['txt'] }}
{{ $rb['txt'] }}
@if(!empty($n->_suggest))
🧠 اقتراح (إرشادي): {{ $suggestAr }}
@if(!empty($n->_suggest_reason)) — {{ $n->_suggest_reason }} @endif
@endif
@empty
لا يوجد بيانات
@endforelse
@elseif($tab === 'reports')
الإجمالي: {{ $reports?->total() ?? 0 }}
@forelse(($reports?->items() ?? []) as $r)
@php
$sb = $scoreBadge((int)($r->_score ?? 0));
$rb = $riskBadge((string)($r->_risk ?? 'low'));
$stb = $statusBadge($r->program_status ?? null);
$suggestAr = $arSuggest($r->_suggest ?? null);
@endphp
#{{ $r->id }} • {{ $r->created_at ?? '' }}
@if(!empty($r->creator_name))
• بواسطة: {{ $r->creator_name }}
@endif
{{ $stb['txt'] }}
{{ $sb['txt'] }}
{{ $rb['txt'] }}
@if(!empty($r->_suggest))
🧠 اقتراح (إرشادي): {{ $suggestAr }}
@if(!empty($r->_suggest_reason)) — {{ $r->_suggest_reason }} @endif
@endif
@empty
لا يوجد تقارير
@endforelse
{{ $reports?->onEachSide(1)->links() }}
@else
الإجمالي: {{ $notes?->total() ?? 0 }}
@forelse(($notes?->items() ?? []) as $n)
@php
$sb = $scoreBadge((int)($n->_score ?? 0));
$rb = $riskBadge((string)($n->_risk ?? 'low'));
$stb = $statusBadge($n->program_status ?? null);
$suggestAr = $arSuggest($n->_suggest ?? null);
@endphp
#{{ $n->id }} • {{ $n->created_at ?? '' }}
@if(!empty($n->creator_name))
• بواسطة: {{ $n->creator_name }}
@endif
{{ $stb['txt'] }}
{{ $sb['txt'] }}
{{ $rb['txt'] }}
@if(!empty($n->_suggest))
🧠 اقتراح (إرشادي): {{ $suggestAr }}
@if(!empty($n->_suggest_reason)) — {{ $n->_suggest_reason }} @endif
@endif
@empty
لا يوجد ملاحظات
@endforelse
{{ $notes?->onEachSide(1)->links() }}
@endif
{{-- توضيح --}}
الجودة/الرايات/الاقتراحات أدوات إرشادية للقراءة فقط.
أي تعديل أو قرارات تتم من صفحات الإدارة المخصصة.
{{-- Drawer (قراءة فقط) --}}
اضغط “تفاصيل” على أي عنصر لعرضه هنا.
@endsection