{{-- resources/views/superadmin/monitor/index.blade.php --}} @extends('layouts.superadmin') @section('title','المراقبة العامة — كل الفئات') @section('page-title','المراقبة العامة — الأعضاء/المشرفون/الإداريون/المستشارون') @section('content')
{{-- شريط شرح مختصر --}}

هذه الصفحة تجمع مراقبة كل الفئات في مكانٍ واحد: الأعضاء، المشرفون، الإداريون، المستشارون. تشمل كروت مُلخّص، قائمة المتواجدون الآن، وقوائم مختصرة لكل فئة. يدعم التحديث الحيّ للأونلاين.

{{-- فلاتر --}}
{{-- كروت الملخص --}}
{{-- المتواجدون الآن (تحديث حي) --}}

المتواجدون الآن

{{-- سيتم ملؤه عبر JS --}}
@if(!$has_live)
❗ جدول user_live_sessions غير متوفر—تم عرض صفحة الملخص فقط.
@endif
{{-- قوائم مختصرة لكل فئة --}}
@foreach (['member'=>'الأعضاء','moderator'=>'المشرفون','admin'=>'الإداريون','advisor'=>'المستشارون'] as $k=>$label)

{{ $label }}

@forelse($groups[$k]->sortByDesc('minutes')->take(8) as $r)
{{ $r['name'] }} ({{ $r['username'] }})
دقائق: {{ $r['minutes'] }} • نقاط: {{ $r['points'] }} • مخالفات: {{ $r['viol'] }}
@if($r['online']) أونلاين @endif
@empty
لا يوجد بيانات.
@endforelse
@endforeach
{{-- كومبوننت الكرت --}} @once @push('components') @php if(!function_exists('render_monitor_card')) { function render_monitor_card($title,$value,$color='indigo'){ $map = [ 'indigo'=>'from-indigo-50 to-indigo-100 text-indigo-900 border-indigo-300', 'cyan' =>'from-cyan-50 to-cyan-100 text-cyan-900 border-cyan-300', 'violet'=>'from-violet-50 to-violet-100 text-violet-900 border-violet-300', 'amber' =>'from-amber-50 to-amber-100 text-amber-900 border-amber-300', 'emerald'=>'from-emerald-50 to-emerald-100 text-emerald-900 border-emerald-300', 'rose' =>'from-rose-50 to-rose-100 text-rose-900 border-rose-300', ]; $cls = $map[$color] ?? $map['indigo']; echo '
'.e($title).'
'.e($value).'
'; } } @endphp @endpush @php if (!function_exists('monitor_card')) { function monitor_card($title,$value,$color='indigo'){ render_monitor_card($title,$value,$color); } } @endphp @php // Blade alias @endphp @php // Helper to call in blade: @endphp @endonce @php // Blade "component" shortcut function x_monitor_card($t,$v,$c){ render_monitor_card($t,$v,$c); } @endphp @php // Allow usage @endphp @php // Tiny directive @endphp @php // Use function inside blade: @endphp @php // Blade tag style @endphp @php // Provide anonymous component like tag @endphp {{-- استخدام --}} @php // nothing - just helper @endphp @push('scripts') @endpush {{-- شورتكوت للكرت --}} @php // @endphp @php if (!class_exists('XMonitorCardShim')) { class XMonitorCardShim { public $title; public $value; public $color; function __construct($p){ $this->title=$p['title']??''; $this->value=$p['value']??''; $this->color=$p['color']??'indigo'; } function render(){ render_monitor_card($this->title,$this->value,$this->color); } function __toString(){ ob_start(); $this->render(); return ob_get_clean(); } } } @endphp @php function x_monitor_card_tag($args){ $c = new XMonitorCardShim($args); echo $c; } @endphp {{-- استعمال سهل --}} @php function component_monitor_card($args){ x_monitor_card_tag($args); } @endphp {{-- وسم مخصص بسيط --}} @php if (!function_exists('x_monitor')) { function x_monitor($title,$value,$color='indigo'){ render_monitor_card($title,$value,$color); } } @endphp @endsection