@extends('admin.layouts.app') @section('title', __('admin.notification_center.title') . ' — ' . __('admin.brand.name')) @section('page_title', __('admin.notification_center.title')) @php use App\Models\AdminNotification; $statusMeta = [ AdminNotification::STATUS_DRAFT => ['fg' => '#475569', 'bg' => '#f1f5f9'], AdminNotification::STATUS_SENDING => ['fg' => '#9a3412', 'bg' => '#ffedd5'], AdminNotification::STATUS_SENT => ['fg' => '#047857', 'bg' => '#ecfdf5'], AdminNotification::STATUS_PARTIAL => ['fg' => '#92400e', 'bg' => '#fef3c7'], AdminNotification::STATUS_FAILED => ['fg' => '#b91c1c', 'bg' => '#fef2f2'], ]; $channelMeta = [ 'email' => ['fg' => '#1d4ed8', 'bg' => '#dbeafe', 'svg' => ''], 'sms' => ['fg' => '#9a3412', 'bg' => '#fed7aa', 'svg' => ''], 'whatsapp' => ['fg' => '#15803d', 'bg' => '#bbf7d0', 'svg' => ''], ]; @endphp @push('styles') @endpush @section('content') {{ __('admin.notification_center.new') }} @include('admin.partials.flash') @if ($notifications->isEmpty())
{{ __('admin.notification_center.empty') }}
@else
{{ __('admin.notification_center.col.title') }} {{ __('admin.notification_center.col.created_by') }} {{ __('admin.notification_center.col.created') }} {{ __('admin.notification_center.col.delivery') }} {{ __('admin.notification_center.col.audience') }} {{ __('admin.notification_center.stats.delivered') }} {{ __('admin.notification_center.stats.failed') }} {{ __('admin.notification_center.col.not_sent') }} {{ __('admin.fields.status') }} {{ __('admin.notification_center.col.actions') }}
@foreach ($notifications as $n) @php $sm = $statusMeta[$n->status] ?? $statusMeta['draft']; $st = is_array($n->stats) ? $n->stats : []; $hasStats = ! $n->isDraft() && $st !== []; @endphp
{{ optional($n->creator)->name ?? __('admin.notification_center.system') }} {{ $n->created_at?->format('Y-m-d') }} @if ($n->delivery_mode === AdminNotification::DELIVERY_MODE_SCHEDULED) {{ __('admin.notification_center.mode.scheduled') }} @if ($n->scheduled_at) {{ $n->scheduled_at->copy()->setTimezone($n->timezone ?: 'UTC')->format('Y-m-d H:i') }} @endif @else {{ __('admin.notification_center.mode.now') }} @endif {{ $n->audience_count !== null ? $n->audience_count : ($n->groups_count . ' ' . __('admin.notification_center.groups_short')) }} {{ $hasStats ? ($st['delivered'] ?? 0) : '—' }} {{ $hasStats ? ($st['failed'] ?? 0) : '—' }} {{ $hasStats ? ($st['pending'] ?? 0) : '—' }} {{ __('admin.notification_center.status.' . $n->status) }} {{ __('admin.actions.view') }}
@csrf
@if ($n->isScheduled())
@csrf
@elseif (! $n->isDraft() && ! $n->isCancelled()) {{ __('admin.notification_center.retry') }} @endif
@endforeach
{{ $notifications->links() }}
@endif @endsection