'use client'; import { useAuditLogs } from '@/hooks/use-audit-logs'; import { Card } from '@/components/ui/card'; import { Badge } from '@/components/ui/badge'; import { formatDistanceToNow } from 'date-fns'; import { Loader2 } from 'lucide-react'; export default function AuditLogsPage() { const { data: logs, isLoading } = useAuditLogs(); return (

Audit Logs

View system activity and changes

{isLoading ? (
) : (
{!logs || logs.length === 0 ? (
No logs found
) : ( logs.map((log: import('@/lib/services/audit-log.service').AuditLog) => (
{log.user?.fullName || log.user?.username || `User #${log.userId || 'System'}`} {log.action} {log.entityType || 'General'}

{typeof log.detailsJson === 'string' ? log.detailsJson : JSON.stringify(log.detailsJson || {})}

{log.createdAt && formatDistanceToNow(new Date(log.createdAt), { addSuffix: true })}

{/* Only show IP if available */} {log.ipAddress && ( {log.ipAddress} )}
)) )}
)}
); }