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 AdminBilanDetailPage({
  params,
}: {
  params: Promise<{ id: string; bilanId: string }>;
}) {
  const { id, bilanId } = await params;

  const bilan = await prisma.bilan.findUnique({ where: { id: bilanId } });
  if (!bilan || bilan.pharmacyId !== id) 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">
      <a href={`/admin/pharmacies/${id}`} className="text-xs text-slate-400 underline">
        ← Retour à la pharmacie
      </a>

      <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>
  );
}
