Checkpoint: Ajout des badges de couleur pour le public cible (bleu pour Directeurs, vert pour Chefs de service, gris pour Autre) dans les tableaux des séquences et création d'un rapport d'analyse comparant le public cible des séquences avec la fonction des apprenants inscrits pour identifier les écarts et optimiser la planification des formations

This commit is contained in:
Manus Sandbox
2025-11-17 08:44:49 -05:00
parent 01e2b8b2d4
commit 6f5178b909
8 changed files with 363 additions and 2 deletions

View File

@@ -16,6 +16,24 @@ export default function AdminSequenceInscrits() {
const [, setLocation] = useLocation();
const [, params] = useRoute("/admin/sequences/:id/inscrits");
const sequenceId = params?.id ? parseInt(params.id) : 0;
const getPublicCibleBadge = (publicCible: string) => {
const colors = {
directeur: "bg-blue-100 text-blue-800",
chef_service: "bg-green-100 text-green-800",
autre: "bg-gray-100 text-gray-800",
};
return colors[publicCible as keyof typeof colors] || colors.autre;
};
const getPublicCibleLabel = (publicCible: string) => {
const labels = {
directeur: "Directeur",
chef_service: "Chef de service",
autre: "Autre",
};
return labels[publicCible as keyof typeof labels] || "Autre";
};
// États pour les filtres
const [searchTerm, setSearchTerm] = useState("");
@@ -300,6 +318,12 @@ export default function AdminSequenceInscrits() {
{nbConfirmes} / {sequence.capaciteMax} inscrits confirmés
</p>
</div>
<div>
<p className="text-sm font-medium text-muted-foreground">Public cible</p>
<span className={`inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium ${getPublicCibleBadge(sequence.publicCible)}`}>
{getPublicCibleLabel(sequence.publicCible)}
</span>
</div>
</div>
<div>