import Link from "next/link";
import { notFound } from "next/navigation";
import { requireSession } from "@/lib/auth/guards";
import { getGeraetDetail } from "@/lib/detail/queries";
import { DetailHeader } from "@/components/detail/DetailHeader";
import { EckdatenGrid } from "@/components/detail/EckdatenGrid";
import { WehrCard } from "@/components/kontakt/WehrCard";
import { t } from "@/lib/i18n/de";

export default async function GeraetDetailPage({
  params,
}: {
  params: Promise<{ id: string }>;
}) {
  // Default-deny in der Tiefe (Querschnittsstandard 1): Guard als erste Zeile.
  await requireSession();
  const { id } = await params;
  const g = await getGeraetDetail(id);
  if (!g) notFound();

  return (
    <div className="mx-auto flex max-w-3xl flex-col gap-6">
      <DetailHeader
        kicker={g.kategorie}
        titel={g.name}
        status={g.status}
      />
      <div className="grid grid-cols-1 gap-6 md:grid-cols-[1fr_18rem]">
        <div className="flex flex-col gap-6">
          <EckdatenGrid rows={g.merkmale} />
          <section>
            <h2 className="text-sm font-semibold text-navy">
              {t("detail.zugeordnetesFahrzeug")}
            </h2>
            {g.fahrzeug ? (
              <Link
                href={`/fahrzeuge/${g.fahrzeug.id}`}
                className="mt-2 inline-block font-medium text-navy hover:underline"
              >
                {g.fahrzeug.name}
              </Link>
            ) : (
              <p className="mt-2 text-sm text-anthrazit/60">
                {t("detail.imGeraetehaus")}
              </p>
            )}
          </section>
        </div>
        {g.wehr ? <WehrCard wehr={g.wehr} /> : null}
      </div>
    </div>
  );
}
