import { useState } from "react" import { useQuery } from "@tanstack/react-query" import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Badge } from "@/components/ui/badge" import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/components/ui/table" import { Search, Eye } from "lucide-react" import { auditService } from "@/services" import { format } from "date-fns" export default function AuditPage() { const [page] = useState(1) const [limit] = useState(50) const [search, setSearch] = useState("") const { data: auditData, isLoading } = useQuery({ queryKey: ['admin', 'audit', 'logs', page, limit, search], queryFn: async () => { const params: any = { page, limit } if (search) params.search = search return await auditService.getAuditLogs(params) }, }) return (

Audit Logs

All Audit Logs
setSearch(e.target.value)} />
{isLoading ? (
Loading audit logs...
) : ( <> Action Resource Type Resource ID User IP Address Date Actions {auditData?.data?.map((log: any) => ( {log.action} {log.resourceType} {log.resourceId} {log.userId || 'N/A'} {log.ipAddress || 'N/A'} {format(new Date(log.createdAt), 'MMM dd, yyyy HH:mm')} ))}
{auditData?.data?.length === 0 && (
No audit logs found
)} )}
) }