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

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

  return (
    <div className="mx-auto flex max-w-3xl flex-col gap-6">
      <DetailHeader
        kicker={v.templateName ?? t("nav.fahrzeuge")}
        titel={v.name}
        untertitel={v.funkrufname}
        status={v.status}
      />
      <div className="grid grid-cols-1 gap-6 md:grid-cols-[1fr_18rem]">
        <div className="flex flex-col gap-6">
          <EckdatenGrid rows={v.merkmale} />
          <BeladungListe items={v.beladung} />
          {v.notiz ? (
            <p className="whitespace-pre-line text-sm text-anthrazit/70">
              {v.notiz}
            </p>
          ) : null}
        </div>
        {v.wehr ? <WehrCard wehr={v.wehr} /> : null}
      </div>
    </div>
  );
}
