{{-- ★ FILE: resources/views/backend/logs/index.blade.php --}} @extends('backend.app') @section('content')

System Activity Logs

{{-- Filter Section --}}
@forelse($logs as $log) @php $rawText = $log->description ?? $log->note ?? ''; $desc = htmlspecialchars($rawText); // Order ID Extract $extractedOrderId = $log->order_id; if(!$extractedOrderId && preg_match('/Order\s*#?(\d+)/i', $rawText, $matches)) { $extractedOrderId = $matches[1]; } // Text Highlights $desc = preg_replace('/status changed to ([a-zA-Z0-9_ ]+)/i', 'status changed to $1', $desc); $desc = preg_replace('/User ID: (\d+)/i', ' User ID: $1', $desc); $desc = preg_replace('/(\d+) order\(s\)/i', '$1 order(s)', $desc); @endphp {{-- ✅ Order ID & History Icon --}} @empty @endforelse
ID Date & Time User Action Order Info Activity Details IP
#{{ $log->id }}
{{ $log->created_at ? $log->created_at->format('d M, Y') : 'N/A' }}
{{ $log->created_at ? $log->created_at->format('h:i A') : '' }}
@if($log->user)
{{ $log->user->first_name }} {{ $log->user->last_name }}
{{ $log->user->mobile ?? 'Worker' }}
@else System @endif
@php $actColor = 'bg-dark'; if(stripos($log->action, 'create') !== false) $actColor = 'bg-success'; if(stripos($log->action, 'update') !== false) $actColor = 'bg-info'; if(stripos($log->action, 'delete') !== false) $actColor = 'bg-danger'; @endphp {{ strtoupper($log->action ?? 'LOG') }} @if($extractedOrderId) @else - @endif {!! $desc !!} @if(empty($rawText)) (No details saved) @endif
{{ $log->ip_address ?? '127.0.0.1' }}
No activity logs found!
{!! $logs->appends(request()->query())->links('pagination::bootstrap-5') !!}
{{-- ✅ Activity Log Modal --}} @endsection @push('js') @endpush