{{-- resources/views/superadmin/falcon-room/team-stability/index.blade.php --}} @extends('layouts.superadmin') @section('title', 'لوحة استقرار الفرق') @section('page-title', '🧭 لوحة استقرار الفرق — Team Stability Board') @section('content')
{{-- هيدر ملحمي --}}
مراقبة استقرار الفرق و حركة الأعضاء

لوحة استقرار الفرق

من هنا الإدارة العليا بتشوف نبض الفرق: كم عضو نشط، كم واحد جديد، مين غادر، وكيف توزيع الرتب داخل جيش الوفاء الذهبي خلال آخر {{ $days }} يوم.

الفترة: من {{ $from->format('Y-m-d') }} إلى {{ $now->format('Y-m-d H:i') }}

{{-- فيلتر الأيام + مؤشر الاستقرار --}}
مؤشر استقرار الفرق {{ $stabilityScore }}%
كل ما اقترب من 100% كان الفريق ثابت وهادئ ✅
{{-- كروت الأرقام الأساسية --}}

الأعضاء النشطين حالياً

{{ $totalActive }}

أعضاء جدد في الفترة

{{ $newMembersCount }}

أعضاء غادروا في الفترة

{{ $leftMembersCount }}

عدد الرتب المختلفة

{{ $rankDistribution->count() }}

{{-- توزيع الرتب --}}

توزيع الأعضاء حسب الرتبة (أعضاء نشطين فقط)

@if($rankDistribution->isEmpty())
لا توجد بيانات كافية لعرض توزيع الرتب حالياً.
@else
@foreach($rankDistribution as $row) @php $label = match($row->membership_status) { 'super-admin' => 'الإدارة العليا', 'advisor' => 'المستشارين', 'admin' => 'الإداريين', 'moderator' => 'المشرفين', 'official' => 'أعضاء رسميين', 'beta' => 'أعضاء بيتا', default => 'أعضاء عاديين', }; $percent = $totalActive > 0 ? round(($row->total / $totalActive) * 100) : 0; @endphp
{{ $label }}
{{ $row->total }} / {{ $percent }}%
@endforeach
@endif
{{-- قسم الأعضاء الجدد + المغادرين --}}
{{-- الأعضاء الجدد --}}

أعضاء انضمّوا في الفترة

المجموع: {{ $newMembersCount }}
@if($newMembers->isEmpty())
لا يوجد أعضاء جدد في هذه الفترة.
@else
    @foreach($newMembers as $member) @php $photo = $member->avatar_url ?? $member->profile_photo_url ?? ($member->profile_photo_path ?? null ? asset('storage/'.$member->profile_photo_path) : null); $rankLabel = $member->membership_status ?? 'member'; @endphp
  • @if($photo) {{ $member->name }} @else
    {{ mb_substr($member->name, 0, 1) }}
    @endif

    {{ $member->name }} #{{ $member->id }}

    رتبة: {{ $rankLabel }} • انضم {{ optional($member->created_at)->diffForHumans() }}

  • @endforeach
@endif
{{-- الأعضاء اللي غادروا --}}

أعضاء غادروا في الفترة

المجموع: {{ $leftMembersCount }}
@if($leftMembers->isEmpty())
لا يوجد أعضاء غادروا في هذه الفترة 🎉
@else
    @foreach($leftMembers as $member) @php $photo = $member->avatar_url ?? $member->profile_photo_url ?? ($member->profile_photo_path ?? null ? asset('storage/'.$member->profile_photo_path) : null); $rankLabel = $member->membership_status ?? 'member'; $leftAt = $member->left_at ?? $member->updated_at; @endphp
  • @if($photo) {{ $member->name }} @else
    {{ mb_substr($member->name, 0, 1) }}
    @endif

    {{ $member->name }} #{{ $member->id }}

    آخر رتبة: {{ $rankLabel }} @if($leftAt) • غادر {{ $leftAt->diffForHumans() }} @endif

    @if(!empty($member->leave_reason))

    سبب الخروج: {{ $member->leave_reason }}

    @endif
  • @endforeach
@endif
{{-- تايملاين الحركات الأساسية --}}

حركة الأعضاء — Timeline مبسّط

يعرض انضمام و خروج الأعضاء خلال الفترة
@if($timeline->isEmpty())
لا توجد حركات أعضاء في هذه الفترة.
@else
@foreach($timeline as $item) @php /** @var \App\Models\User $user */ $user = $item['user']; $photo = $user->avatar_url ?? $user->profile_photo_url ?? ($user->profile_photo_path ?? null ? asset('storage/'.$user->profile_photo_path) : null); $isJoin = $item['type'] === 'join'; @endphp
@if($photo) {{ $user->name }} @else
{{ mb_substr($user->name, 0, 1) }}
@endif
{{ $user->name }} #{{ $user->id }} {{ $isJoin ? 'انضمام' : 'خروج' }}

{{ $item['title'] }}

@if(!empty($item['description']))

{{ $item['description'] }}

@endif
@if(!empty($item['created_at']))
{{ $item['created_at']->diffForHumans() }} {{ $item['created_at']->format('Y-m-d H:i') }}
@endif
@endforeach
@endif
@endsection