@extends('layouts.superadmin') @section('title', 'منظومة العلامات - مستويات الأعضاء') @section('page-title', 'منظومة العلامات - مستويات الأعضاء (Levels)') @section('content')
{{-- الهيدر --}}

مستويات الأعضاء (Levels)

تقسيم الأعضاء إلى مستويات حسب صافي نقاط الفترة من جدول score_records.

القيم الافتراضيّة: Elite ≥ 200 • Pro ≥ 120 • Active ≥ 60 • Weak > 0 • Zero ≤ 0.

{{-- تبديل جدول / كروت --}}
@php $isCards = ($view ?? 'table') === 'cards'; @endphp جدول كروت
{{-- كروت ملخّص المستويات --}}
عدد الأعضاء في المنظومة
{{ (int)($summary['count'] ?? 0) }}
Elite (مستوى نخبة)
{{ (int)($summary['elite'] ?? 0) }}
Pro (مستوى محترف)
{{ (int)($summary['pro'] ?? 0) }}
Active (نشط)
{{ (int)($summary['active'] ?? 0) }}
Weak + Zero
{{ (int)($summary['weak'] ?? 0) + (int)($summary['zero'] ?? 0) }}
{{-- الفلاتر --}}
إعادة ضبط المستوى مبني فقط على صافي نقاط الفترة، يمكن تعديل الحدود لاحقاً من الكنترولر.
@php $isCards = ($view ?? 'table') === 'cards'; @endphp {{-- وضع الكروت --}} @if($isCards)
@forelse($rows as $r) @php $net = (float)($r->net_points ?? 0); $pos = (float)($r->positive_points ?? 0); $neg = (float)($r->negative_points ?? 0); $hours = (float)($r->total_hours ?? 0); $lvl = (string)($r->level_key ?? 'zero'); $label = match($lvl) { 'elite' => 'Elite (نخبة)', 'pro' => 'Pro (محترف)', 'active' => 'Active (نشط)', 'weak' => 'Weak (ضعيف)', default => 'Zero (بدون نقاط)', }; $badgeClass = match($lvl) { 'elite' => 'bg-yellow-500/20 border-yellow-400/50 text-yellow-100', 'pro' => 'bg-emerald-500/20 border-emerald-400/50 text-emerald-100', 'active' => 'bg-sky-500/20 border-sky-400/50 text-sky-100', 'weak' => 'bg-orange-500/20 border-orange-400/50 text-orange-100', default => 'bg-slate-700/40 border-slate-500/60 text-slate-100', }; @endphp
{{ $r->name ?? ('#'.$r->id) }}
{{ $r->username ?? '' }} • {{ $r->membership_status }} @if($r->gender === 'male') • شاب @elseif($r->gender === 'female') • صبية @endif
{{ $label }}
صافي نقاط الفترة
{{ $net }}
إيجابي
{{ (int)$pos }}
سلبي
{{ (int)$neg }}
ساعات
{{ $hours }}
@empty
لا يوجد أعضاء ضمن الفلاتر الحالية.
@endforelse
{{ $rows->links() }}
@else {{-- جدول --}}

جدول مستويات الأعضاء

مفيد لمعرفة: كم Elite، كم Pro، كم Active، وكم Weak/Zero.

عدد الصفوف: {{ $rows->total() }}
@forelse($rows as $r) @php $net = (float)($r->net_points ?? 0); $pos = (float)($r->positive_points ?? 0); $neg = (float)($r->negative_points ?? 0); $hours = (float)($r->total_hours ?? 0); $lvl = (string)($r->level_key ?? 'zero'); $label = match($lvl) { 'elite' => 'Elite (نخبة)', 'pro' => 'Pro (محترف)', 'active' => 'Active (نشط)', 'weak' => 'Weak (ضعيف)', default => 'Zero', }; $badgeClass = match($lvl) { 'elite' => 'bg-yellow-500/20 border-yellow-400/50 text-yellow-100', 'pro' => 'bg-emerald-500/20 border-emerald-400/50 text-emerald-100', 'active' => 'bg-sky-500/20 border-sky-400/50 text-sky-100', 'weak' => 'bg-orange-500/20 border-orange-400/50 text-orange-100', default => 'bg-slate-700/40 border-slate-500/60 text-slate-100', }; @endphp @empty @endforelse
العضو اليوزر الرتبة الجنس المستوى صافي النقاط إيجابي سلبي ساعات
{{ $r->name ?? ('#'.$r->id) }}
{{ $r->username ?? '—' }} {{ $r->membership_status }} @if($r->gender === 'male') شاب @elseif($r->gender === 'female') صبية @else غير محدد @endif {{ $label }} {{ $net }} {{ $pos }} {{ $neg }} {{ $hours }}
لا يوجد أعضاء ضمن الفلاتر الحالية.
{{ $rows->links() }}
@endif
يمكن استعمال هذه المستويات في الترقيات، التكريم، أو قرارات النقل بين الفرق.
@endsection