{{-- resources/views/advisor/monitor/live-activities.blade.php --}} @extends('layouts.advisor') @section('title', 'متابعة الأنشطة المباشرة') @section('page-title', '📡 متابعة الأنشطة المباشرة — Live Activities') @section('content') @php $statusLabels = [ 'scheduled' => 'مجدول', 'pending' => 'بانتظار التنفيذ', 'confirmed' => 'تم التنفيذ', 'absent_no_excuse' => 'غياب بدون عذر', 'absent_with_excuse' => 'غياب بعذر', 'excuse_pending' => 'عذر قيد المراجعة', 'excuse_approved' => 'تم قبول العذر', 'excuse_rejected' => 'تم رفض العذر', 'proof_rejected' => 'تم رفض الإثبات', 'cancelled' => 'ملغي', ]; $statusColors = [ 'scheduled' => 'bg-slate-100 text-slate-700 border-slate-300 dark:bg-slate-800 dark:text-slate-100 dark:border-slate-600', 'pending' => 'bg-amber-50 text-amber-700 border-amber-300 dark:bg-amber-900/40 dark:text-amber-100 dark:border-amber-500/60', 'confirmed' => 'bg-emerald-50 text-emerald-700 border-emerald-300 dark:bg-emerald-900/40 dark:text-emerald-100 dark:border-emerald-500/60', 'absent_no_excuse' => 'bg-rose-50 text-rose-700 border-rose-300 dark:bg-rose-900/40 dark:text-rose-100 dark:border-rose-500/60', 'absent_with_excuse' => 'bg-orange-50 text-orange-700 border-orange-300 dark:bg-orange-900/40 dark:text-orange-100 dark:border-orange-500/60', 'excuse_pending' => 'bg-sky-50 text-sky-700 border-sky-300 dark:bg-sky-900/40 dark:text-sky-100 dark:border-sky-500/60', 'excuse_approved' => 'bg-emerald-50 text-emerald-700 border-emerald-300 dark:bg-emerald-900/40 dark:text-emerald-100 dark:border-emerald-500/60', 'excuse_rejected' => 'bg-rose-50 text-rose-700 border-rose-300 dark:bg-rose-900/40 dark:text-rose-100 dark:border-rose-500/60', 'proof_rejected' => 'bg-rose-50 text-rose-700 border-rose-300 dark:bg-rose-900/40 dark:text-rose-100 dark:border-rose-500/60', 'cancelled' => 'bg-slate-100 text-slate-600 border-slate-300 dark:bg-slate-800 dark:text-slate-200 dark:border-slate-600', ]; $totalAll = $stats['total_all'] ?? 0; $totalOfficial = $stats['total_official'] ?? 0; $totalMemberReq = $stats['total_member_req'] ?? 0; $todayActivities = $stats['today_activities'] ?? 0; @endphp
هنا يراقب المستشار كل الجلسات المباشرة: ما تم تنفيذه، ما تأجل، ومن يتكرر غيابه بدون عذر ليتخذ قرارات تربوية وإدارية أدق. 💛
كل الأنشطة المباشرة ضمن الفلاتر الحالية.
عدد الجلسات المجدولة لتاريخ اليوم.
| التاريخ / الوقت | النشاط | نوع الطلب | المنشئ | المشاركون | الحالة |
|---|---|---|---|---|---|
|
{{ $dateStr }}
الساعة {{ $timeStr }}
المدة: {{ $duration }}
|
{{-- النشاط --}}
{{ $activity->title ?? 'نشاط بدون عنوان' }}
النوع: {{ $activity->activity_type_name ?? 'غير محدد' }}
@if($activity->description)
{{ $activity->description }}
@endif
|
{{-- نوع الطلب --}}
@if($activity->request_type === 'member_request') @else @endif {{ $reqLabel }} | {{-- المنشئ --}}
{{-- الاسم --}}
{{ $activity->creator_name ?? 'غير معروف' }}
{{-- اليوزرنيم --}}
@if(!empty($activity->creator_username))
{{ '@' . $activity->creator_username }}
@endif
|
{{-- المشاركون --}}
{{-- ملخص أرقام --}}
الإجمالي
{{ $totalParticipants }}
حضروا
{{ $confirmedCount }}
غياب بدون عذر
{{ $absentNoExcuse }}
غياب بعذر
{{ $absentWithExcuse }}
المشاركون في الجلسة:
@foreach($participants as $p)
{{ $p->name }}
@if($p->status === 'confirmed')
حضر ✅
@elseif($p->status === 'absent_with_excuse')
غياب بعذر 📝
@elseif($p->status === 'absent_no_excuse')
غياب بدون عذر ❌
@endif
@endforeach
لا توجد بيانات مفصلة عن المشاركين.
@endif
|
{{-- الحالة --}}
@if(in_array($statusKey, ['confirmed','excuse_approved'])) @elseif(in_array($statusKey, ['absent_no_excuse','excuse_rejected','proof_rejected','cancelled'])) @elseif(in_array($statusKey, ['pending','excuse_pending'])) @else @endif {{ $label }} |
| لا يوجد أنشطة مطابقة للفلاتر الحالية. | |||||