{{-- ===== القائمة (الدورات) ===== --}} @if ($mode === 'list')

إدارة الدورات

@forelse($courses as $c) @php $today = \Carbon\Carbon::now('Asia/Riyadh')->toDateString(); $isOpen = ($c->apply_start <= $today) && ($c->apply_end >= $today); $isUpcoming = ($c->apply_start > $today); $isEnded = ($c->apply_end < $today); $features = []; if (!empty($c->features)) { $decoded = json_decode($c->features, true); $features = is_array($decoded) ? $decoded : []; } $chips = collect($features)->take(2)->toArray(); $more = max(0, count($features) - 2); // خرائط عرض النوع والتسجيل $typeLabels = [ 'zoom' => 'زووم مباشر', 'online' => 'أونلاين ذاتي', 'recorded' => 'مسجل', 'present' => 'حضوري', ]; $reg = strtolower(str_replace(' ', '_', $c->register ?? '')); if ($reg === 'colse') { $reg = 'close'; } $regLabels = [ 'open' => 'مفتوح للتسجيل', 'close' => 'مغلق', 'soon' => 'قريبًا', 'active' => 'نشط', 'ended' => 'منتهٍ', 'for_register' => 'خاصة للتسجيل', ]; $typeKey = strtolower($c->type ?? ''); $typeText = $typeLabels[$typeKey] ?? '—'; $regText = $regLabels[$reg] ?? '—'; $typeBadgeClass = match($typeKey) { 'zoom' => 'kt-badge-info', 'online' => 'kt-badge-primary', 'recorded' => 'kt-badge-secondary', 'present' => 'kt-badge-success', default => 'kt-badge-light', }; $regBadgeClass = match($reg) { 'open' => 'kt-badge-success', 'soon' => 'kt-badge-info', 'active' => 'kt-badge-primary', 'ended' => 'kt-badge-secondary', 'close' => 'kt-badge-dark', 'for_register' => 'kt-badge-warning', default => 'kt-badge-light', }; @endphp @empty @endforelse
# العنوان الفترة المقاعد النوع التسجيل الحالة الزمنية آخر تحديث الإجراءات
{{ $c->id }}
{{ $c->title }} @if(count($features)) @foreach($chips as $ch) {{ $ch }} @endforeach @if($more>0) +{{ $more }} @endif @endif
{{ $c->apply_start }} {{ $c->apply_end }} {{ number_format($c->seats) }} {{ $typeText }} {{ $regText }} @if($isOpen) مفتوح @elseif($isUpcoming) قادم @else منتهٍ @endif {{ \Carbon\Carbon::parse($c->updated_at)->timezone('Asia/Riyadh')->format('Y-m-d H:i') }}
لا توجد دورات مطابقة للبحث/الفلترة.
{{-- سبينر --}} {{-- فوتر --}}
@endif {{-- ===== جدول المسجلين للدورة ===== --}} @if ($mode === 'registrations' && $registrations)

المسجّلون — {{ $regsCourseTitle }} (#{{ $regsCourseId }})

@forelse($registrations as $r) @php $u = $usersById[$r->user_id] ?? null; @endphp @empty @endforelse
# الاسم إيميل التسجيل إيميل المستخدم الجوال رقم العضوية تاريخ التسجيل
{{ $r->id ?? $r->reg_id ?? '—' }} {{ $u->name ?? '—' }} {{ $r->email ?? $r->reg_email ?? '—' }} {{ $u->email ?? '—' }} {{ $u->phone ?? '—' }} {{ $r->membership_number ?? '—' }} {{ \Carbon\Carbon::parse($r->created_at ?? $r->reg_created_at)->timezone('Asia/Riyadh')->format('Y-m-d H:i') }}
لا يوجد مسجّلون لهذه الدورة.
{{-- سبينر --}} {{-- فوتر --}}
@endif {{-- ===== النموذج (إضافة/تعديل الدورة) ===== --}} @if ($mode === 'form')

{{ $courseId ? 'تعديل دورة' : 'إضافة دورة' }}

{{-- البيانات الأساسية --}}

البيانات الأساسية

@error('form.title')
{{ $message }}
@enderror
@error('form.description')
{{ $message }}
@enderror
@error('form.apply_start')
{{ $message }}
@enderror
@error('form.apply_end')
{{ $message }}
@enderror
@error('form.seats')
{{ $message }}
@enderror
@error('form.type')
{{ $message }}
@enderror
@error('form.register')
{{ $message }}
@enderror
{{-- المميزات (نقاط + إضافة/حذف) --}}

المميزات (Features)

@error('form.features.*')
{{ $message }}
@enderror @if(!empty($form['features']))
    @foreach($form['features'] as $i => $feat)
  • {{ $feat }}
  • @endforeach
@foreach($form['features'] as $i => $feat) {{ $feat }} @endforeach
@endif
جارٍ الحفظ...
{{-- معلومات سريعة (اختياري) --}} @if($courseId)

معلومات سريعة

رقم الدورة#{{ $courseId }}
الحالة الزمنية @php $today = \Carbon\Carbon::now('Asia/Riyadh')->toDateString(); $open = $form['apply_start'] && $form['apply_end'] && $form['apply_start'] <= $today && $form['apply_end'] >= $today; $upcoming = $form['apply_start'] && $form['apply_start'] > $today; $ended = $form['apply_end'] && $form['apply_end'] < $today; @endphp @if($open) مفتوح @elseif($upcoming) قادم @elseif($ended) منتهٍ @else @endif
@endif
@endif
@push('scripts') @endpush