@extends('layouts.admin') @section('title', 'Activity Logs — Admin DaisyRisk') @section('page-title', 'Activity Logs') @section('content')

Activity Logs

Track user activities and system events

{{-- Activity Stats --}}
Total Today
{{ $stats['total_today'] ?? 0 }}
Active Users
{{ $stats['active_users_today'] ?? 0 }}
Logins Today
{{ $stats['logins_today'] ?? 0 }}
Updates Today
{{ $stats['updates_today'] ?? 0 }}
{{-- Activity Logs Table --}}
Recent Activity
@if($logs && $logs->count() > 0)
@foreach($logs as $activity) @endforeach
User Action Description IP Address Timestamp
@if($activity->user_id)
{{ strtoupper(substr($activity->user->name ?? 'U', 0, 1)) }}
{{ $activity->user->name ?? 'User' }}
{{ $activity->user->email ?? 'N/A' }}
@else
System
Automated
@endif
@php $action = strtolower($activity->action ?? ''); if (str_contains($action, 'login')) { $badgeClass = 'badge-act-green'; $icon = 'sign-in-alt'; $label = 'Login'; } elseif (str_contains($action, 'logout')) { $badgeClass = 'badge-act-gray'; $icon = 'sign-out-alt'; $label = 'Logout'; } elseif (str_contains($action, 'register')) { $badgeClass = 'badge-act-blue'; $icon = 'user-plus'; $label = 'Register'; } elseif (str_contains($action, 'create') || str_contains($action, 'add')) { $badgeClass = 'badge-act-green'; $icon = 'plus'; $label = 'Create'; } elseif (str_contains($action, 'update') || str_contains($action, 'edit') || str_contains($action, 'reset') || str_contains($action, 'change') || str_contains($action, 'toggle')) { $badgeClass = 'badge-act-yellow'; $icon = 'edit'; $label = 'Update'; } elseif (str_contains($action, 'delete') || str_contains($action, 'destroy') || str_contains($action, 'remove')) { $badgeClass = 'badge-act-red'; $icon = 'trash'; $label = 'Delete'; } elseif (str_contains($action, 'publish')) { $badgeClass = 'badge-act-purple'; $icon = 'paper-plane'; $label = 'Publish'; } elseif (str_contains($action, 'import')) { $badgeClass = 'badge-act-blue'; $icon = 'file-import'; $label = 'Import'; } elseif (str_contains($action, 'sync') || str_contains($action, 'analyze') || str_contains($action, 'generate') || str_contains($action, 'recalculate')) { $badgeClass = 'badge-act-cyan'; $icon = 'sync-alt'; $label = 'API Sync'; } elseif (str_contains($action, 'reply') || str_contains($action, 'respond')) { $badgeClass = 'badge-act-orange'; $icon = 'reply'; $label = 'Reply'; } else { $badgeClass = 'badge-act-gray'; $icon = 'cog'; $label = ucfirst($activity->action); } @endphp {{ $label }} {{ $activity->description ?? 'No description' }} @if($activity->model_type)
{{ class_basename($activity->model_type) }}
@endif
{{ $activity->ip_address ?? 'Unknown' }}
{{ $activity->created_at ? $activity->created_at->timezone('Asia/Jakarta')->format('d M Y • H:i') : 'N/A' }}
@if(method_exists($logs, 'links'))
{{ $logs->links() }}
@endif @else
No Activity Logs Found

No user activities have been logged yet.

@endif
@endsection @push('styles') @endpush