"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} )}
)) )}
)}
); }