@extends('admin.layouts.app') @section('title', __('admin.notifications.title')) @section('content')
{{-- Page header --}}

{{ __('admin.notifications.title') }}

{{ __('admin.notifications.subtitle') }}

{{ __('admin.notifications.new_announcement') }}
{{-- Flash messages --}} @if(session('success')) @endif @if(session('error')) @endif {{-- Stats cards --}}
{{ number_format($stats['total']) }}
{{ __('admin.notifications.stats.total_sent') }}
{{ number_format($stats['sent']) }}
{{ __('admin.notifications.stats.delivered') }}
{{ number_format($stats['failed']) }}
{{ __('admin.notifications.stats.failed') }}
{{ number_format($stats['today']) }}
{{ __('admin.notifications.stats.today') }}
{{-- Quick Action Triggers --}}
{{ __('admin.notifications.quick_triggers') }}
{{-- Appointment Reminders --}}
@csrf
{{-- Billing Reminders --}}
@csrf
{{-- Announcement --}}
{{-- Filters --}}
{{ __('admin.notifications.filter_logs') }}
@if(array_filter($filters)) @endif
{{-- Logs table --}}
{{ __('admin.notifications.log_history') }} {{ __('admin.notifications.records_count', ['count' => $logs->total()]) }}
@forelse($logs as $log) @empty @endforelse
# {{ __('admin.notifications.type') }} {{ __('admin.notifications.title_label') }} {{ __('admin.notifications.channel') }} {{ __('admin.notifications.recipient') }} {{ __('admin.notifications.status') }} {{ __('admin.notifications.triggered_by') }} {{ __('admin.notifications.sent_at') }} {{ __('admin.notifications.actions') }}
{{ $log->id }} {{ str_replace('_', ' ', ucfirst($log->notification_type)) }} {{ $log->title }} @php $chIcon = match($log->channel) { 'email' => 'bi-envelope-fill text-info', 'sms' => 'bi-chat-dots-fill text-success', 'push' => 'bi-phone-fill text-warning', 'database', 'in_app' => 'bi-bell-fill text-primary', default => 'bi-circle text-secondary', }; @endphp {{ __('admin.notifications.channels.' . $log->channel) }} {{ class_basename($log->notifiable_type) }} #{{ $log->notifiable_id }} @php $badge = match($log->status) { 'sent','delivered' => 'bg-success', 'failed' => 'bg-danger', 'pending' => 'bg-warning text-dark', default => 'bg-secondary', }; @endphp {{ __('admin.notifications.statuses.' . $log->status) }} {{ $log->triggered_by_type ?? __('admin.notifications.not_available') }} @if($log->triggered_by)
{{ __('admin.notifications.user_number', ['id' => $log->triggered_by]) }} @endif
{{ optional($log->sent_at)?->format('M j, Y H:i') ?? __('admin.notifications.not_available') }}
{{ __('admin.notifications.no_logs') }}
@if($logs->hasPages()) @endif
@endsection