// src/app/(app)/gsc/page.tsx — page Search Console dédiée : gestion
// (connexion + mapping) et santé (syncs par site, runs du worker de
// snapshots). Spec : docs/superpowers/specs/2026-07-23-gsc-dedicated-page-design.md
import { DashboardHeader } from "@/components/dashboard-header";
import { GscConnectionCard } from "@/components/gsc/gsc-connection-card";
import { GscPropertiesCard } from "@/components/gsc/gsc-properties-card";
import { GscSnapshotHealthCard } from "@/components/gsc/gsc-snapshot-health-card";
import {
  Breadcrumb,
  BreadcrumbItem,
  BreadcrumbList,
  BreadcrumbPage,
} from "@/components/ui/breadcrumb";
import { getGscStatusAction } from "@/lib/gsc/actions";
import { getGscHealthAction } from "@/lib/gsc/health-actions";

export default async function GscPage() {
  const [status, health] = await Promise.all([
    getGscStatusAction(),
    getGscHealthAction(),
  ]);
  return (
    <>
      <DashboardHeader>
        <Breadcrumb>
          <BreadcrumbList>
            <BreadcrumbItem>
              <BreadcrumbPage>Search Console</BreadcrumbPage>
            </BreadcrumbItem>
          </BreadcrumbList>
        </Breadcrumb>
      </DashboardHeader>
      <div className="flex max-w-3xl flex-col gap-6 p-4">
        <GscConnectionCard status={status} />
        <GscPropertiesCard status={status} syncBySite={health.syncBySite} />
        {health.isSuperAdmin ? (
          <GscSnapshotHealthCard runs={health.snapshotRuns} />
        ) : null}
      </div>
    </>
  );
}
