import { AdminShell } from "@/components/admin/admin-shell";
import { AdminTable, StatusPill } from "@/components/admin/admin-ui";
import { prisma } from "@/lib/db";

export const dynamic = "force-dynamic";

export default async function DomainsPage() {
  const instances = await prisma.instance.findMany({ include: { user: true }, orderBy: { created_at: "desc" } });
  return (
    <AdminShell>
      <div className="mx-auto max-w-7xl space-y-6">
        <h1 className="text-3xl font-bold">Domains</h1>
        <AdminTable
          headers={["Domain", "Tenant", "Runtime", "Status"]}
          rows={instances.map((instance) => [
            instance.subdomain,
            instance.user.email,
            instance.name,
            <StatusPill key="status" tone={instance.status === "RUNNING" ? "green" : instance.status === "ERROR" ? "red" : "amber"}>{instance.status}</StatusPill>
          ])}
        />
      </div>
    </AdminShell>
  );
}
