Checkpoint: Ajout d'une alerte d'information non bloquante qui s'affiche lorsqu'un apprenant s'inscrit à une séquence dont le public cible ne correspond pas à sa fonction. L'alerte persiste 8 secondes avec un délai de 2 secondes avant la soumission pour laisser le temps de lecture.
This commit is contained in:
@@ -62,6 +62,31 @@ export default function Inscription() {
|
||||
return;
|
||||
}
|
||||
|
||||
// Vérifier si le public cible correspond à la fonction de l'apprenant
|
||||
const selectedSequence = sequences?.find(s => s.id === selectedSequenceId);
|
||||
if (selectedSequence && selectedSequence.publicCible) {
|
||||
const publicCibleMap: Record<string, string> = {
|
||||
"directeur": "directeur",
|
||||
"chef_service": "chef_service",
|
||||
"autre": "autre"
|
||||
};
|
||||
|
||||
if (publicCibleMap[selectedSequence.publicCible] !== formData.fonction) {
|
||||
const publicCibleLabel = selectedSequence.publicCible === "directeur" ? "Directeurs" :
|
||||
selectedSequence.publicCible === "chef_service" ? "Chefs de service" : "Autre";
|
||||
const fonctionLabel = formData.fonction === "directeur" ? "Directeur" :
|
||||
formData.fonction === "chef_service" ? "Chef de service" : "Autre";
|
||||
|
||||
toast.info(
|
||||
`Information : Cette séquence est destinée aux ${publicCibleLabel}, mais vous êtes inscrit(e) en tant que ${fonctionLabel}. Vous pouvez tout de même vous inscrire.`,
|
||||
{ duration: 8000 }
|
||||
);
|
||||
|
||||
// Attendre 2 secondes pour que l'utilisateur puisse lire l'alerte
|
||||
await new Promise(resolve => setTimeout(resolve, 2000));
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
// Vérifier si l'apprenant existe déjà
|
||||
const existingApprenant = await utils.client.apprenants.getByEmail.query({ email: formData.email });
|
||||
|
||||
Reference in New Issue
Block a user