@extends('admin.master_layout') @section('title') {{ __('translate.User Activity Logs') }} @endsection @section('body-header')

{{ __('translate.User Activity Logs') }}

{{ __('translate.Manage User') }} >> {{ __('translate.User Activity Logs') }}

@endsection @section('body-content') @push('style_section') @endpush

{{ __('translate.Total activity logs') }}

{{ number_format($stats['total']) }}

{{ __('translate.Activity today') }}

{{ number_format($stats['today']) }}

{{ __('translate.Logins today') }}

{{ number_format($stats['logins_today']) }}

{{ __('translate.Registrations today') }}

{{ number_format($stats['registers_today']) }}

{{ __('translate.Total visits') }}

{{ number_format($stats['total_visits']) }}

{{ __('translate.Unique visitors total') }}

{{ number_format($stats['unique_visitors_total']) }}

{{ __('translate.Unique visitors today') }}

{{ number_format($stats['unique_visitors_today']) }}

{{ __('translate.Visits today') }}

{{ number_format($stats['visits_today']) }}

{{ __('translate.Monitored users total') }}

{{ number_format($stats['monitored_users_total']) }}

{{ __('translate.Unique IPs total') }}

{{ number_format($stats['unique_ips_total']) }}

{{ __('translate.Unique IPs today') }}

{{ number_format($stats['unique_ips_today']) }}

{{ __('translate.Logs with location') }}

{{ number_format($stats['with_location']) }}

{{ __('translate.Filter activity logs') }}

{{ __('translate.Reset') }}

{{ __('translate.User IP logs help') }} @if ($stats['risk_total'] > 0) — {{ __('translate.Risk flagged entries') }}: {{ number_format($stats['risk_total']) }} @endif

{{ __('translate.User Activity Logs') }}

@include('admin.user.partials.activity-log-bulk-actions')
@forelse ($logs as $index => $log) @empty @endforelse
{{ __('translate.Serial') }} {{ __('translate.Time') }} {{ __('translate.User') }} {{ __('translate.Event') }} {{ __('translate.IP Address') }} {{ __('translate.Page') }} {{ __('translate.Risk flags') }} {{ __('translate.Action') }}

{{ $logs->firstItem() + $index }}

{{ $log->created_at?->format('Y-m-d H:i') }}

@if ($log->user)

{{ html_decode($log->user->name) }}

{{ Str::limit(html_decode($log->user->email), 28) }} @else {{ __('translate.Guest visitor') }} @endif @if ($log->user_agent) {{ Str::limit($log->user_agent, 36) }} @endif
@php $eventClass = match ($log->event) { 'login' => 'bg-primary', 'register' => 'bg-info text-dark', 'visit' => 'bg-secondary', default => 'bg-light text-dark', }; @endphp {{ user_ip_log_event_label($log->event) }}

{{ $log->ip ?: '—' }}

{{ user_ip_log_location_label($log) }} @if ($log->lookup_source) {{ $log->lookup_source }} @endif
{{ Str::limit($log->path, 32) ?: '—' }} @include('admin.user.partials.ip_log_risk_badges', ['log' => $log]) @if ($log->user_id) @else @endif
{{ __('translate.No activity logs yet') }}

@if ($logs->total() > 0) {{ __('translate.Showing') }} {{ $logs->firstItem() }}–{{ $logs->lastItem() }} {{ __('translate.of') }} {{ number_format($logs->total()) }} @else {{ __('translate.No activity logs yet') }} @endif

{{ $logs->onEachSide(1)->links('pagination::bootstrap-5') }}
@endsection