{{-- resources/views/superadmin/taateer/members_overview.blade.php --}} @extends('layouts.superadmin') @section('title', 'تقسيم الأعضاء حسب رقم التعتير') @section('page-title', '👥 حالة الأعضاء في نظام التعتير') @section('content')
{{-- هيدر ملحمي + فلتر المجال --}}
نظرة شاملة على الأعضاء في نظام التعتير

تقسيم الأعضاء حسب حالة رقم التعتير

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

{{-- كروت إحصائيات سريعة --}}
عدد الأعضاء (ضمن المجال)
{{ number_format($stats['total_members_scope'] ?? 0) }}
لديهم كود فعّال
{{ number_format($stats['with_active_code'] ?? 0) }}
بدون كود فعّال
{{ number_format($stats['without_active_code'] ?? 0) }}
كودهم يقترب من الانتهاء
{{ number_format($stats['expiring_soon'] ?? 0) }}
إجمالي الأكواد في النظام
{{ number_format($stats['total_codes_overall'] ?? 0) }}
{{-- فلاتر المجال --}}
نطاق الأعضاء المعروضين:
{{-- فاصل --}}
{{-- الأقسام الثلاثة --}}
{{-- 1) أعضاء لديهم كود فعّال --}}

الأعضاء الذين لديهم رقم تعتير فعّال

كل عضو لديه على الأقل كود واحد بحالة active.

العدد: {{ $activeMembers->count() }}
@if($activeMembers->isEmpty())
لا يوجد أي عضو يملك حالياً رقم تعتير فعّال ضمن المجال المختار.
@else
@foreach($activeMembers as $member) @php $hint = null; if ($member->isLeft) { $hint = 'خرج من التيم'; } elseif (!is_null($member->account_status) && $member->account_status !== 'active') { $hint = 'الحساب غير فعّال (' . $member->account_status . ')'; } $expiresText = $member->active_expires_at ? \Carbon\Carbon::parse($member->active_expires_at)->format('Y-m-d') : 'غير محدد'; $isExpiringSoon = false; if ($member->active_expires_at) { $exp = \Carbon\Carbon::parse($member->active_expires_at); $isExpiringSoon = $exp->greaterThanOrEqualTo(\Carbon\Carbon::now()) && $exp->lessThanOrEqualTo(\Carbon\Carbon::now()->addDays(3)); } @endphp
{{ mb_substr($member->name,0,2,'UTF-8') }}
{{ $member->name }}
@if($hint)
{{ $hint }}
@endif
@if($isExpiringSoon) اقترب الانتهاء @else كود فعّال @endif
الكود الحالي: {{ $member->active_code ?? '—' }}
تاريخ الإصدار: {{ $member->active_issued_at ? \Carbon\Carbon::parse($member->active_issued_at)->format('Y-m-d') : 'غير متوفر' }}
تاريخ الانتهاء: {{ $expiresText }}
@endforeach
@endif
{{-- فاصل --}}
{{-- 2) أعضاء لا يملكون كود فعّال / لا يملكون أي كود --}}

أعضاء بدون رقم تعتير فعّال / لا يملكون أي رقم

يشمل الأعضاء الذين لا يوجد لديهم كود فعّال حالياً، أو لم يُصدر لهم رقم تعتير من قبل ضمن المجال المختار.

العدد: {{ $inactiveOrNoCodeMembers->count() }}
@if($inactiveOrNoCodeMembers->isEmpty())
لا يوجد أعضاء بدون رقم تعتير فعّال ضمن المجال المختار.
@else
@foreach($inactiveOrNoCodeMembers as $member) @php $hint = null; if ($member->isLeft) { $hint = 'خرج من التيم'; } elseif (!is_null($member->account_status) && $member->account_status !== 'active') { $hint = 'الحساب غير فعّال (' . $member->account_status . ')'; } $hadCodes = (int) $member->total_codes > 0; @endphp
{{ mb_substr($member->name,0,2,'UTF-8') }}
{{ $member->name }}
@if($hint)
{{ $hint }}
@endif
لا يوجد كود فعّال
هل كان لديه أكواد سابقاً؟ {{ $hadCodes ? 'نعم' : 'لا' }}
إجمالي عدد الأكواد المسجّلة: {{ (int) $member->total_codes }}
@endforeach
@endif
{{-- فاصل --}}
{{-- 3) أعضاء لديهم كود فعّال يقترب من الانتهاء --}}

أعضاء لديهم رقم تعتير فعّال يقترب من انتهاء الصلاحية

أعضاء لديهم كود فعّال حالي، وتاريخ الانتهاء خلال الأيام القليلة القادمة (3 أيام).

العدد: {{ $expiringSoonMembers->count() }}
@if($expiringSoonMembers->isEmpty())
لا يوجد حالياً أي عضو يقترب رقم التعتير الخاص به من الانتهاء ضمن المجال المختار.
@else
@foreach($expiringSoonMembers as $member) @php $expiresAt = $member->active_expires_at ? \Carbon\Carbon::parse($member->active_expires_at) : null; @endphp
{{ mb_substr($member->name,0,2,'UTF-8') }}
{{ $member->name }}
@if($member->account_status !== 'active' || $member->isLeft)
حالة العضو: {{ $member->isLeft ? 'خرج من التيم' : $member->account_status }}
@endif
اقترب الانتهاء
الكود: {{ $member->active_code ?? '—' }}
تاريخ الانتهاء: {{ $expiresAt ? $expiresAt->format('Y-m-d H:i') : 'غير محدد' }}
@if($expiresAt)
الوقت المتبقي (تقريبا): {{ $expiresAt->diffForHumans() }}
@endif
@endforeach
@endif
@endsection