Checkpoint: Ajout de "Tous" dans la liste des publics cible pour les séquences. Modifications apportées :

 Base de données : enum publicCible mis à jour avec la valeur "tous"

 Frontend mis à jour dans 4 fichiers :
- AdminSequences.tsx : ajout de "tous" dans les types TypeScript, options de sélection et badges (couleur violet)
- AdminSequenceInscrits.tsx : ajout de "tous" dans les fonctions de labels et badges
- AdminRapportPublicCible.tsx : ajout de "tous" dans les fonctions de labels et badges
- Inscription.tsx : ajout de "tous" dans le mapping, l'affichage et la logique d'alerte (pas d'alerte si public cible = "Tous")

Les séquences peuvent maintenant être créées avec le public cible "Tous", ce qui permet de cibler tous les profils sans distinction.
This commit is contained in:
Manus Sandbox
2025-11-19 09:09:31 -05:00
parent 61d64c365b
commit b72a9c471c
10 changed files with 816 additions and 7 deletions

View File

@@ -34,7 +34,7 @@ export default function AdminSequences() {
formationId: "",
nom: "",
lieu: "",
publicCible: "autre" as "directeur" | "chef_service" | "autre",
publicCible: "autre" as "directeur" | "chef_service" | "tous" | "autre",
capaciteMax: "12",
dateBlocage: "",
statut: "ouverte" as "ouverte" | "bloquee" | "terminee",
@@ -292,6 +292,7 @@ export default function AdminSequences() {
const colors = {
directeur: "bg-blue-100 text-blue-800",
chef_service: "bg-green-100 text-green-800",
tous: "bg-purple-100 text-purple-800",
autre: "bg-gray-100 text-gray-800",
};
return colors[publicCible as keyof typeof colors] || colors.autre;
@@ -301,6 +302,7 @@ export default function AdminSequences() {
const labels = {
directeur: "Directeur",
chef_service: "Chef de service",
tous: "Tous",
autre: "Autre",
};
return labels[publicCible as keyof typeof labels] || "Autre";
@@ -378,7 +380,7 @@ export default function AdminSequences() {
<Label htmlFor="publicCible">Public cible *</Label>
<Select
value={formData.publicCible}
onValueChange={(value: "directeur" | "chef_service" | "autre") => setFormData({ ...formData, publicCible: value })}
onValueChange={(value: "directeur" | "chef_service" | "tous" | "autre") => setFormData({ ...formData, publicCible: value })}
>
<SelectTrigger id="publicCible">
<SelectValue placeholder="Sélectionner le public cible" />
@@ -386,6 +388,7 @@ export default function AdminSequences() {
<SelectContent>
<SelectItem value="directeur">Directeur</SelectItem>
<SelectItem value="chef_service">Chef de service</SelectItem>
<SelectItem value="tous">Tous</SelectItem>
<SelectItem value="autre">Autre</SelectItem>
</SelectContent>
</Select>