"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; export default function AdminCertificates({ certificates }: any) { const router = useRouter(); const [filter, setFilter] = useState("PENDING"); const [viewing, setViewing] = useState(null); const filtered = certificates.filter((c: any) => filter === "ALL" ? true : c.status === filter ); async function updateStatus(id: string, status: string) { const res = await fetch("/api/certificates", { method: "PATCH", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ id, status }), }); if (res.ok) { setViewing(null); router.refresh(); } } const pendingCount = certificates.filter((c: any) => c.status === "PENDING").length; return (

📄 Certificats médical {pendingCount > 0 && ( {pendingCount} en attente )}

{(["PENDING", "VALIDATED", "REJECTED", "ALL"] as const).map((f) => ( ))}
{filtered.length === 0 && (

Aucun certificat ici.

)} {filtered.map((c: any) => (

{c.user.name}

{c.user.email}

Reçu le {new Date(c.createdAt).toLocaleDateString("fr-FR")}

👁️ Voir le fichier {c.status === "PENDING" && ( <> )}
))}
); } function StatusBadge({ status }: { status: string }) { switch (status) { case "VALIDATED": return ✓ Validé; case "REJECTED": return ✗ Rejeté; default: return ⏳ En attente; } }