import { useState } from "react"; import { Spinner } from "../../components/Spinner"; import { formatDateTime } from "../../domain/format"; import { useAdminLogs } from "../../hooks/admin"; const ACTIONS = ["", "login", "create", "update", "delete"]; const ENTITIES = ["", "user", "group", "group_member", "match", "admin", "announcement"]; export function AdminLogsPage() { const [action, setAction] = useState(""); const [entityType, setEntityType] = useState(""); const { data, isLoading } = useAdminLogs({ action: action || undefined, entity_type: entityType || undefined, }); return (
{/* Название раздела уже в активной вкладке админки. */}
{isLoading ? ( ) : (
{(data?.items ?? []).map((log) => (
{log.action} · {log.entity_type} {log.entity_id != null ? ` #${log.entity_id}` : ""} {formatDateTime(log.created_at)}
actor: {log.actor_id ?? "—"} {log.ip ? ` · ${log.ip}` : ""}
{log.payload && (
                  {JSON.stringify(log.payload)}
                
)}
))} {(data?.items ?? []).length === 0 &&
Событий пока нет.
}
)}
); }