import { useState } from 'react'; import type { AuditEntry } from '../lib/types'; import { useApi } from '../lib/useApi'; import { PageHeader } from '../components/PageHeader'; import { Empty } from '../components/Empty'; import { absoluteTime, clip, relativeTime } from '../lib/format'; import { RefreshCw } from '../components/Icons'; export function Audit({ embedded }: { embedded?: boolean } = {}) { const [take, setTake] = useState(200); const { data, loading, error, refresh } = useApi(`/audit?take=${take}`); const controls = ( <> ); return (
{embedded ? (
{controls}
) : ( )} {error &&
{error}
}
{data && data.length === 0 && } {data && data.length > 0 && (
{data.map(e => ( ))}
When Admin Action Target Reason
{relativeTime(e.timestamp)} #{e.adminPlayerId} {e.action} {e.targetType} {e.targetId > 0 && <> ยท #{e.targetId}} {clip(e.reason, 100)}
)}
); }