{{-- resources/views/advisor/monitor/guests.blade.php --}} @extends('layouts.advisor') @section('title', 'متابعة الضيوف') @section('page-title', '🎙️ متابعة الضيوف — Guests Monitor') @section('content') @php $statusLabels = [ 'pending' => 'بانتظار المراجعة', 'confirmed' => 'تمت الموافقة', 'rejected' => 'مرفوض', 'completed' => 'تم تنفيذ الاستضافة', ]; $statusColors = [ '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-sky-50 text-sky-700 border-sky-300 dark:bg-sky-900/40 dark:text-sky-100 dark:border-sky-500/60', 'rejected' => 'bg-rose-50 text-rose-700 border-rose-300 dark:bg-rose-900/40 dark:text-rose-100 dark:border-rose-500/60', 'completed' => 'bg-emerald-50 text-emerald-700 border-emerald-300 dark:bg-emerald-900/40 dark:text-emerald-100 dark:border-emerald-500/60', ]; $totalAll = $stats['total_all'] ?? 0; $pendingCount = $stats['status_pending'] ?? 0; $confirmedCount = $stats['status_confirmed'] ?? 0; $rejectedCount = $stats['status_rejected'] ?? 0; $completedCount = $stats['status_completed'] ?? 0; $typeOrigin = $stats['type_origin'] ?? 0; $typeMemberReq = $stats['type_member_request'] ?? 0; $hostMale = $stats['host_male'] ?? 0; $hostFemale = $stats['host_female'] ?? 0; $todayGuests = $stats['today_guests'] ?? 0; @endphp
{{-- هيدر ملحمي --}}
قسم المتابعة الميدانية — الضيوف

متابعة الضيوف والجلسات المستضافة في التيم

هنا يراقب المستشار كل طلبات واستضافات الضيوف: من رشّحهم؟ من استضافهم؟ وما هي الجلسات التي تحتاج تشجيع أو ضبط أكثر. 🤝✨

المستشار
{{ $advisor->name }}
{{ now()->locale('ar')->timezone(config('app.timezone'))->isoFormat('dddd D MMM YYYY, h:mm a') }}
{{-- فلاتر البحث --}}
{{-- من تاريخ --}}
{{-- إلى تاريخ --}}
{{-- حالة الطلب --}}
{{-- نوع الطلب (مصدر الضيف) --}}
{{-- جنس المستضيف --}}
{{-- بحث عام --}}
إعادة ضبط
مجموع الضيوف ضمن الفلاتر: {{ $totalAll }}
{{-- كروت إحصائية سريعة --}}
{{-- إجمالي الضيوف --}}
إجمالي الضيوف
{{ $totalAll }}

كل الضيوف المجدولين ضمن مجال التاريخ المحدد.

{{-- ضيوف اليوم --}}
ضيوف اليوم
{{ $todayGuests }}

عدد الضيوف المجدولين لتاريخ اليوم.

{{-- حسب نوع المصدر --}}
مصدر الضيف
مبادرة من الإدارة {{ $typeOrigin }}
ترشيحات من الأعضاء {{ $typeMemberReq }}
{{-- جنس المستضيفين --}}
المستضيفون
مشرفين ذكور {{ $hostMale }}
مشرفات إناث {{ $hostFemale }}
{{-- جدول الضيوف --}}

🧾 قائمة الضيوف المجدولين

مرتبة من الأحدث إلى الأقدم حسب موعد الاستضافة
@forelse($guests as $guest) @php $statusKey = $guest->status ?? 'pending'; $label = $statusLabels[$statusKey] ?? $statusKey; $color = $statusColors[$statusKey] ?? $statusColors['pending']; $dateStr = $guest->scheduled_date ? \Carbon\Carbon::parse($guest->scheduled_date)->locale('ar')->isoFormat('D MMM YYYY') : 'غير محدد'; $timeStr = $guest->scheduled_time ? \Carbon\Carbon::parse($guest->scheduled_time)->format('H:i') : '--:--'; $duration = ''; if (!empty($guest->duration_minutes)) { $duration = $guest->duration_minutes . ' دقيقة'; } $reqLabel = match ($guest->request_type) { 'origin' => 'مبادرة من الإدارة', 'member_request' => 'ترشيح من عضو', default => 'غير محدد', }; $hostBadge = $guest->host_gender === 'female' ? 'bg-fuchsia-500/10 text-fuchsia-700 border-fuchsia-400/60 dark:bg-fuchsia-500/15 dark:text-fuchsia-100 dark:border-fuchsia-400/60' : 'bg-sky-500/10 text-sky-700 border-sky-400/60 dark:bg-sky-500/15 dark:text-sky-100 dark:border-sky-400/60'; $hasProof = !empty($guest->proof_image) || !empty($guest->proof_uploaded_at); $hasExecNotes = !empty($guest->execution_notes); $guestNames = $guest->guest_participants_list ?? []; $hostNames = $guest->host_participants_list ?? []; @endphp {{-- التاريخ / الوقت --}} {{-- الضيف / الجلسة --}} {{-- المستضيف --}} {{-- المصدر --}} {{-- التنفيذ والمشاركون --}} {{-- الحالة --}} @empty @endforelse
التاريخ / الوقت الضيف / الجلسة المستضيف المصدر التنفيذ والمشاركون الحالة
{{ $dateStr }} الساعة {{ $timeStr }} @if($duration) المدة المتوقعة: {{ $duration }} @endif
{{ $guest->title ?? 'جلسة بدون عنوان' }} @if($guest->guest_name) الضيف: {{ $guest->guest_name }} @endif @if($guest->guest_contact) وسيلة التواصل: {{ $guest->guest_contact }} @endif @if($guest->description) {{ $guest->description }} @endif
{{ $guest->host_name ?? 'لم يحدد مستضيف' }} @if($guest->host_username) @{{ $guest->host_username }} @endif @if($guest->host_name) @if($guest->host_gender === 'female') مشرفة @else مشرف @endif @endif @if($guest->creator_name && $guest->creator_name !== $guest->host_name) مُقدَّم من: {{ $guest->creator_name }} @endif
@if($guest->request_type === 'member_request') @else @endif {{ $reqLabel }}
{{-- حالة الإثبات --}} @if($hasProof)
إثبات مرفوع
@else
لا يوجد إثبات بعد
@endif @if($guest->proof_uploaded_at)
تم الرفع: {{ \Carbon\Carbon::parse($guest->proof_uploaded_at)->locale('ar')->isoFormat('D MMM, h:mm a') }}
@endif @if($hasExecNotes)
ملاحظات التنفيذ: {{ $guest->execution_notes }}
@endif @if($guest->rejection_reason && $guest->status === 'rejected')
سبب الرفض: {{ $guest->rejection_reason }}
@endif @if($guest->admin_notes && $guest->status !== 'rejected')
ملاحظات الإدارة: {{ $guest->admin_notes }}
@endif {{-- المشاركون في القيست --}} @if(!empty($hostNames) || !empty($guestNames))
المشاركون في القيست
@if(!empty($hostNames))
@foreach($hostNames as $name) {{ $name }} @endforeach
@endif @if(!empty($guestNames))
@foreach($guestNames as $name) {{ $name }} @endforeach
@endif
@endif
@if($statusKey === 'completed') @elseif($statusKey === 'confirmed') @elseif($statusKey === 'rejected') @else @endif {{ $label }} @if($guest->reviewed_at)
آخر مراجعة: {{ \Carbon\Carbon::parse($guest->reviewed_at)->locale('ar')->isoFormat('D MMM, h:mm a') }}
@endif
لا يوجد ضيوف مطابقين للفلاتر الحالية.
{{-- ترقيم الصفحات --}}
{{ $guests->links() }}
@endsection