import { prisma } from "@/lib/prisma";
import { notFound } from "next/navigation";
import { BilanList } from "@/components/BilanList";

const STATUS_LABEL: Record<string, string> = {
  PENDING: "En attente",
  ACTIVE: "Active",
  SUSPENDED: "Suspendue",
  CANCELED: "Résiliée",
};

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

  const pharmacy = await prisma.pharmacy.findUnique({ where: { id } });
  if (!pharmacy) notFound();

  const bilans = await prisma.bilan.findMany({
    where: { pharmacyId: id },
    orderBy: { createdAt: "desc" },
  });

  return (
    <div className="space-y-6">
      <div>
        <a href="/admin" className="text-xs text-slate-400 underline">
          ← Toutes les pharmacies
        </a>
        <h1 className="text-lg font-bold text-[#07008b] mt-1">{pharmacy.name}</h1>
        <p className="text-sm text-slate-400">
          {pharmacy.contactEmail} · {STATUS_LABEL[pharmacy.status]}
          {pharmacy.siret ? ` · SIRET ${pharmacy.siret}` : ""}
        </p>
      </div>

      {pharmacy.status === "ACTIVE" && (
        <section className="bg-white border border-slate-200 rounded-xl p-5">
          <div className="flex items-center justify-between mb-4">
            <h2 className="font-bold text-[#07008b]">QR code patient</h2>
            <a
              href={`/api/pharmacies/${pharmacy.id}/qr`}
              download
              className="text-xs rounded-lg bg-[#07008b] text-white font-semibold px-3 py-1.5"
            >
              Télécharger
            </a>
          </div>
          {/* eslint-disable-next-line @next/next/no-img-element */}
          <img src={`/api/pharmacies/${pharmacy.id}/qr`} alt="QR code patient" className="w-40 h-40" />
        </section>
      )}

      <section className="bg-white border border-slate-200 rounded-xl p-5">
        <h2 className="font-bold text-[#07008b] mb-4">Bilans reçus ({bilans.length})</h2>
        <BilanList bilans={bilans} hrefFor={(bilanId) => `/admin/pharmacies/${pharmacy.id}/bilans/${bilanId}`} />
      </section>
    </div>
  );
}
