import type { Metadata } from 'next';
import Link from 'next/link';
import { AdminError, AdminHeader, SectionTitle, Tile, fmtBytes } from '@/components/admin/ui';
import { fmtDuration } from '@/components/meta/connectors-table';
import { adminApi, safeAdmin } from '@/lib/admin-api';
import { fmtDate, fmtInt, num } from '@/lib/format';
export const metadata: Metadata = { title: 'Costs' };
export default async function AdminCostsPage() {
const res = await safeAdmin(adminApi.costs());
if (res.error !== null) {
return (
<>
No runs in the last 30 days
) : (| Connector | Runs | Records | Total time | Avg / run | Failed |
|---|---|---|---|---|---|
| {c.connector_name} | {fmtInt(runs)} | {fmtInt(c.records)} | {fmtDuration(ms)} | {runs > 0 ? fmtDuration(ms / runs) : '—'} | 0 ? 'text-warn' : 'text-ink-2'}`}> {fmtInt(failed)} |
No snapshots in the last 30 days
) : (| Day | Snapshots | Bytes |
|---|---|---|
| {fmtDate(g.day)} | {fmtInt(g.snapshots)} | {fmtBytes(g.bytes)} |