{{-- Stats Cards --}}

{{ number_format($totalLogs ?? 0) }}

{{ __('Total Logs') }}

{{ number_format($todayLogs ?? 0) }}

{{ __("Today's Events") }}

{{ number_format($failedToday ?? 0) }}

{{ __('Failed Today') }}

{{ number_format($blockedToday ?? 0) }}

{{ __('Blocked Today') }}

{{-- Filter & Actions Panel --}}

{{ __('Security Audit Logs') }}

{{ __('Monitor login attempts, security events, and threat activity.') }}

{{ __('Reset') }}
{{-- Logs Table Panel --}}

{{ __('Log Directory') }}

{{ __('Showing') }} {{ $logs->firstItem() ?? 0 }}-{{ $logs->lastItem() ?? 0 }} {{ __('of') }} {{ $logs->total() }} {{ __('log entries.') }}

@forelse($logs as $log) @empty @endforelse
{{ __('Date & Time') }} {{ __('Event Type') }} {{ __('Status') }} {{ __('User') }} {{ __('IP Address') }} {{ __('Actions') }}
{{ \Carbon\Carbon::parse($log->created_at)->format('M j, Y H:i:s') }} @php $typeColors = [ 'login' => 'bg-brand/15 text-brand', 'login_failed' => 'bg-danger/15 text-danger', 'logout' => 'bg-info/15 text-info', 'password_reset' => 'bg-warning/15 text-warning', 'two_factor' => 'bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400', 'ip_blocked' => 'bg-danger/15 text-danger', 'account_locked' => 'bg-danger/15 text-danger', ]; $typeClass = $typeColors[$log->event_type] ?? 'bg-surface text-ink/80'; @endphp {{ str_replace('_', ' ', ucfirst($log->event_type)) }} @if($log->status === 'success') {{ __('Success') }} @elseif($log->status === 'failed') {{ __('Failed') }} @elseif($log->status === 'blocked') {{ __('Blocked') }} @else {{ ucfirst($log->status) }} @endif
{{ $log->user->name ?? $log->email ?? __('Unknown') }}
{{ $log->ip_address ?? '--' }}
{{ __('No security audit logs found.') }}
@if($logs->hasPages())
{{ $logs->withQueryString()->links() }}
@endif
{{-- Bulk Delete Modal --}}
@csrf

{{ __('Delete selected logs?') }}

{!! __('You are about to permanently delete the selected log entries. This action cannot be undone.') !!}