import Link from "next/link"; import { requireAdmin } from "@/lib/session"; import { getPlatformKpis, getProviderStats, getRecentFailures, getRecentSignups, parseRange, rangeLabel, rangeStart } from "@/lib/queries/admin"; import { formatBytes, formatCompact, formatMs, formatNumber, formatPercent, formatUsd } from "@/lib/format"; import { PageHeader } from "@/components/ui/page-header"; import { Stat, StatGrid } from "@/components/ui/stat"; import { Table, TableBody, TableCell, TableEmpty, TableHead, TableHeader, TableRow } from "@/components/ui/table"; import { Badge, StatusBadge } from "@/components/ui/badge"; import { DateCell, MarginText, Mono, Panel, ProviderBadge, RangeTabs, numCell } from "@/components/admin/primitives"; export const dynamic = "force-dynamic"; export default async function AdminOverview({ searchParams }: { searchParams: Promise> }) { await requireAdmin(); const sp = await searchParams; const range = parseRange(sp.range); const since = rangeStart(range); const [kpi, providers, signups, failures] = await Promise.all([getPlatformKpis(since), getProviderStats(since), getRecentSignups(8), getRecentFailures(10)]); return ( <> } />
} hint="revenue − upstream cost" />
Manage →} flush className="xl:col-span-3"> Provider Attempts Success Blocked Avg latency Cost Cost / success {providers.length === 0 ? ( No attempts in this range. ) : ( providers.map((p) => ( {formatNumber(p.requests)} {formatPercent(p.successRate)} {formatPercent(p.blockedRate)} {formatMs(p.avgLatency)} {formatUsd(p.cost, true)} {formatUsd(p.costPerSuccess, true)} )) )}
All users →} flush className="xl:col-span-2">
    {signups.length === 0 ?
  • No users yet.
  • : null} {signups.map((u) => (
  • {u.email}
    {u.name || "—"}
    {u.emailVerified ? verified : unverified}
  • ))}
Explore →} flush className="mt-6"> Request Organization Domain Error HTTP Attempts When {failures.length === 0 ? ( No failures recorded. ) : ( failures.map((f) => ( {f.id} {f.orgName ?? f.organizationId} {f.domain} {f.errorCode ? : "—"} {f.httpStatus ?? "—"} {f.attempts} )) )}

Compact figures: {formatCompact(kpi.requests)} requests · {formatCompact(kpi.bytes)} bytes.

); }