import { auth } from "@/lib/auth";
import { prisma } from "@/lib/prisma";
import { notFound } from "next/navigation";
import type { AnalysisResult } from "@/lib/analysis";
import { BilanDetailView } from "@/components/BilanDetailView";

export default async function BilanDetailPage({ params }: { params: Promise<{ id: string }> }) {
  const session = await auth();
  const { id } = await params;

  const bilan = await prisma.bilan.findUnique({ where: { id } });
  if (!bilan || bilan.pharmacyId !== session!.user.pharmacyId) {
    notFound();
  }

  const analysis = bilan.analysis as unknown as AnalysisResult;
  const patientName = [bilan.patientFirstName, bilan.patientLastName].filter(Boolean).join(" ") || "Patient anonyme";

  return (
    <div className="space-y-6">
      <div className="flex items-center justify-between">
        <div>
          <h1 className="text-lg font-bold text-[#07008b]">{patientName}</h1>
          <p className="text-xs text-slate-400">
            {bilan.ageRange ? `${bilan.ageRange} ans · ` : ""}
            {new Date(bilan.createdAt).toLocaleString("fr-FR")}
          </p>
        </div>
        {bilan.pdfUrl && (
          <a
            href={`/api/bilans/${bilan.id}/pdf`}
            target="_blank"
            className="rounded-lg bg-[#07008b] text-white font-semibold px-4 py-2 text-sm"
          >
            Ouvrir le PDF
          </a>
        )}
      </div>

      <BilanDetailView analysis={analysis} />
    </div>
  );
}
