import React, { useState } from 'react'; import { Head, router } from '@inertiajs/react'; import AdminLayout from '@/Layouts/AdminLayout'; import { Search, User, Globe, Terminal } from 'lucide-react'; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from '@/components/ui/table'; import { Badge } from '@/components/ui/badge'; export default function AuditLogsHub({ logs = [], search = '', category = 'all' }) { const [searchTerm, setSearchTerm] = useState(search || ''); const [selectedCategory, setSelectedCategory] = useState(category || 'all'); const handleSearchSubmit = (e) => { e.preventDefault(); router.get('/admin/audit-logs', { search: searchTerm, category: selectedCategory }, { preserveState: true }); }; const handleCategorySelect = (cat) => { setSelectedCategory(cat); router.get('/admin/audit-logs', { search: searchTerm, category: cat }); }; return (
{/* Simplified Header */}

System Logs

Detailed history of system events.

{/* Filters Row */}
setSearchTerm(e.target.value)} />
{/* Category tabs */}
{[ { label: 'All Logs', val: 'all' }, { label: 'Admin Actions', val: 'admin_action' }, { label: 'Verifications', val: 'verification' }, { label: 'Payments', val: 'payment' }, { label: 'Disputes', val: 'dispute' }, { label: 'Logins', val: 'user_activity' } ].map((cat) => ( ))}
{/* Audit Grid table */}
Log ID & Category User Action IP Address Time {logs && logs.length > 0 ? ( logs.map((log) => (
{log.category.replace('_', ' ')} {log.id}
{log.user}
{log.action}
{log.ip_address}
{log.timestamp}
)) ) : (
No logs found.
)}
); }