import { useServices } from "../../hooks/useServices.js"; import { useDetectedApis, type DetectedApiEntry } from "../../hooks/useDetectedApis.js"; import { AdminPageHeader } from "./AdminPageHeader.js"; function formatDate(iso: string): string { try { return new Date(iso).toLocaleString("de-DE", { dateStyle: "medium", timeStyle: "short" }); } catch { return iso; } } export function ApisPage() { const { data: services } = useServices(); const { data: apis, isLoading, isError } = useDetectedApis(); const serviceById = new Map((services ?? []).map((s) => [s.id, s])); const groups = new Map(); for (const entry of apis ?? []) { const list = groups.get(entry.serviceId) ?? []; list.push(entry); groups.set(entry.serviceId, list); } return (
{isLoading ? (

Lade …

) : isError ? (

Konnte nicht geladen werden.

) : groups.size === 0 ? (

Noch keine APIs gefunden. Auf der Scanner-Seite einmal „APIs jetzt scannen" ausführen.

) : (
{Array.from(groups.entries()).map(([serviceId, entries]) => { const service = serviceById.get(serviceId); return (

{service?.displayName ?? "Unbekannter Dienst"}

zuletzt geprüft: {formatDate(entries[0].detectedAt)}
); })}
)}
); }