{{-- resources/views/superadmin/iman-room/decisions-board.blade.php --}} @extends('layouts.superadmin') @section('title','لوحة قرارات إيمان') @section('page-title','لوحة قرارات إيمان') @section('content') @php use Illuminate\Support\Facades\Route; $section = $section ?? 'decisions_board'; $view = $view ?? request('view','table'); // table|cards $q = $q ?? request('q',''); $status = $status ?? request('status','all'); // all|active|cancelled $from = $from ?? request('from', now()->subDays(60)->format('Y-m-d')); $to = $to ?? request('to', now()->format('Y-m-d')); // Data tolerant $rows = $rows ?? $decisions ?? collect(); // Route names (tolerant) $storeRouteName = $storeRouteName ?? 'superadmin.iman-room.decisions.store'; $cancelRouteName = $cancelRouteName ?? 'superadmin.iman-room.decisions.cancel'; $canStore = Route::has($storeRouteName); $canCancel = Route::has($cancelRouteName); $qs = request()->query(); $statusMeta = [ 'active' => ['label'=>'نشط','cls'=>'border-emerald-400/30 bg-emerald-500/12 text-emerald-200','dot'=>'bg-emerald-400'], 'cancelled' => ['label'=>'ملغي','cls'=>'border-rose-400/30 bg-rose-500/12 text-rose-200','dot'=>'bg-rose-400'], ]; @endphp
{{-- HERO --}}
غرفة إيمان • قرارات • إشعارات

لوحة قرارات إيمان

الفترة: {{ $from }}{{ $to }} • الحالة: {{ $status === 'all' ? 'الكل' : ($statusMeta[$status]['label'] ?? $status) }}

جدول كروت
{{-- Filters --}}
تصفير
{{-- CONTENT --}} @if(($rows->count() ?? 0) === 0)
لا توجد قرارات ضمن هذه الفترة أو الفلاتر.
@else {{-- CARDS --}} @if($view === 'cards')
@foreach($rows as $r) @php $st = (string)($r->status ?? 'active'); $meta = $statusMeta[$st] ?? $statusMeta['active']; $createdAt = $r->created_at ?? null; $creatorName = $r->creator_name ?? $r->created_by_name ?? ('#'.($r->created_by ?? '—')); $desc = (string)($r->description ?? ''); $short = mb_strlen($desc) > 140 ? (mb_substr($desc,0,140).'…') : $desc; $cancelReason = (string)($r->cancelled_reason ?? ''); @endphp
{{ $r->title ?? '—' }}
بواسطة: {{ $creatorName }} @if($createdAt) • {{ \Carbon\Carbon::parse($createdAt)->format('Y-m-d H:i') }}@endif
{{ $meta['label'] }}
{{ $short !== '' ? $short : '—' }}
@if($st === 'cancelled' && $cancelReason !== '')
سبب الإلغاء: {{ mb_strlen($cancelReason)>120 ? mb_substr($cancelReason,0,120).'…' : $cancelReason }}
@endif
@if($canCancel && $st === 'active') @endif
@endforeach
{{-- TABLE --}} @else
@foreach($rows as $i => $r) @php $st = (string)($r->status ?? 'active'); $meta = $statusMeta[$st] ?? $statusMeta['active']; $creatorName = $r->creator_name ?? $r->created_by_name ?? ('#'.($r->created_by ?? '—')); $createdAt = $r->created_at ?? null; $createdFmt = $createdAt ? \Carbon\Carbon::parse($createdAt)->format('Y-m-d H:i') : '—'; $desc = (string)($r->description ?? ''); $short = mb_strlen($desc) > 90 ? (mb_substr($desc,0,90).'…') : $desc; @endphp @endforeach
# القرار الحالة الكاتب تاريخ الإنشاء إجراءات
{{ ($rows->firstItem() ?? 1) + $i }}
{{ $r->title ?? '—' }}
{{ $short !== '' ? $short : '—' }}
@if($st === 'cancelled' && !empty($r->cancelled_reason))
سبب الإلغاء: {{ mb_strlen($r->cancelled_reason)>90 ? mb_substr($r->cancelled_reason,0,90).'…' : $r->cancelled_reason }}
@endif
{{ $meta['label'] }} {{ $creatorName }} {{ $createdFmt }} @if($canCancel && $st === 'active') @endif
@if(is_object($rows) && method_exists($rows,'links'))
{{ $rows->links() }}
@endif
@endif @endif
{{-- ========================= MODALS (Create / View / Cancel) ========================= --}} {{-- Scoped JS (no globals) --}} @endsection