import { useState } from "react" import { useQuery } from "@tanstack/react-query" import { api } from "../lib/api" import type { AuditLogEntry } from "@emberclone/shared" export default function AuditLog() { const [me, setMe] = useState<{ role: string } | null>(null) const [isMeLoading, setIsMeLoading] = useState(true) const { data: currentUser } = useQuery({ queryKey: ["me"], queryFn: () => api.getMe(), onSuccess: (data) => { setMe(data) setIsMeLoading(false) } }) const { data: logs, isLoading, isError } = useQuery({ queryKey: ["auditLogs"], queryFn: () => api.listAuditLog(), enabled: !!currentUser && currentUser.role === "admin" }) if (isMeLoading || !currentUser) { return
Loading permissions...
} if (currentUser.role !== "admin") { return (

Forbidden

You do not have administrative privileges to access the audit logs.

) } if (isLoading) return
Loading audit logs...
if (isError) return
Error loading audit logs.
return (

Audit Log

System-wide activity and security events

{logs && logs.length > 0 ? ( logs.map((log: AuditLogEntry) => ( )) ) : ( )}
When User Action Resource
{new Date(log.createdAt).toLocaleString()} {log.userId} {log.action} {log.resourceId}
No audit logs found.
) }