{{-- Header --}}
غرفة سقراط — مراقبة الأعضاء + إنذارات + تقييمات
ديشبورد يركز على الأعضاء (نشاط + غيابات + تقييمات + خطر) — والتقنيات تأتي كقسم ثانوي.
زيارات: {{ number_format($visits ?? 0) }}
نشط 7 أيام: {{ number_format($active7 ?? 0) }}
نشط 30 يوم: {{ number_format($active30 ?? 0) }}
حالات مفتوحة: {{ number_format($incidentsOpen ?? 0) }}
فلترة الفترة
{{ $from }} → {{ $to }}
{{-- Help Drawer --}}
التركيز هنا على الأعضاء — التقنيات تحت
نشط 7/30 + زيارات + غيابات + خطر.
متوسط أسبوعي + تحسن/تراجع + انحرافات.
هبوط تقييم / غيابات / أهداف بخطر.
@if(session('success'))
{{ session('success') }}
@endif
{{-- =========================
SECTION: MEMBERS FIRST
========================= --}}
@if($view === 'table')
| المؤشر |
القيمة |
| نشط 7 أيام |
| نشط 30 يوم |
| زيارات خلال الفترة |
| مستخدمون فريدون |
| متوسط التقييم الحالي |
| التغير الأسبوعي % |
| أعضاء خطر (غياب + نزول تقييم) |
| تنبيهات |
@else
{{-- Cards KPIs --}}
{{-- Weekly evaluation summary --}}
التغير
drop: {{ $dropThreshold ?? 15 }}%
{{ $alertsList->count() }} عنصر
@forelse($alertsList as $a)
@php
$sev = $a['severity'] ?? 'low';
$sevCls = $sev === 'high'
? 'border-rose-400/25 bg-rose-500/10 text-rose-200'
: ($sev === 'medium'
? 'border-amber-400/25 bg-amber-500/10 text-amber-200'
: 'border-white/10 bg-white/5 text-white/80');
@endphp
{{ $sev }}
{{ $a['text'] ?? '' }}
@empty
لا يوجد تنبيهات حالياً ✅
@endforelse
@endif
{{-- =========================
TABLES: MEMBERS DATA
========================= --}}
{{-- Top Absences --}}
@forelse(($topAbsences ?? collect()) as $r)
@empty
لا يوجد بيانات غياب.
@endforelse
{{-- Top Improvers --}}
score_records / evaluations
@forelse($improvers as $r)
{{ $r->prev_avg }} → {{ $r->cur_avg }} (n {{ $r->prev_n }} → {{ $r->cur_n }})
@empty
لا يوجد بيانات تحسّن.
@endforelse
{{-- Top Decliners --}}
drop threshold: {{ $dropThreshold ?? 15 }}%
@forelse($decliners as $r)
{{ $r->prev_avg }} → {{ $r->cur_avg }} (n {{ $r->prev_n }} → {{ $r->cur_n }})
@empty
لا يوجد بيانات تراجع.
@endforelse
{{-- Risk Members --}}
غياب (14 يوم) + نزول تقييم (≤ -10%)
{{ number_format(($riskMembers ?? collect())->count()) }} عضو
| العضو |
الغيابات |
التغير % |
الحالي |
السابق |
@forelse(($riskMembers ?? collect()) as $r)
| {{ (int)($r->abs_c ?? 0) }} |
{{ $r->cur_avg }} |
{{ $r->prev_avg }} |
@empty
| لا يوجد أعضاء خطر. |
@endforelse
{{-- Goals --}}
stuck (updated_at & progress)
@forelse($goalStuck as $g)
تقدم: {{ $g->progress_percent ?? 0 }}% — آخر تحديث: {{ $g->updated_at ?? '' }}
@empty
لا يوجد أهداف متعثرة.
@endforelse
@forelse($goalForecast as $g)
إنجاز: {{ $g->progress_percent ?? 0 }}% — زمن: {{ $g->time_percent ?? 0 }}%
@empty
لا يوجد توقعات تأخير.
@endforelse
{{-- =========================
SECONDARY: TECH / AUDIT
========================= --}}
@foreach(($ai ?? []) as $card)
قوة {{ $card['score'] }}
{{ $card['text'] }}
@endforeach
{{-- Top Routes --}}
@foreach(($topRoutes ?? []) as $r)
@endforeach
| المسار |
العدد |
@foreach(($topRoutes ?? []) as $r)
| {{ $r->k }} |
@endforeach