diff --git a/client/src/pages/AdminGestionAttestations.tsx b/client/src/pages/AdminGestionAttestations.tsx index f635398..07b619e 100644 --- a/client/src/pages/AdminGestionAttestations.tsx +++ b/client/src/pages/AdminGestionAttestations.tsx @@ -183,23 +183,25 @@ function UploadAttestationDialog({ const file = e.target.files?.[0]; if (!file) return; - // Afficher immédiatement l'état de chargement - setUploading(true); - setUploadProgress(0); - // Validation du type de fichier if (file.type !== 'application/pdf') { toast.error('Seuls les fichiers PDF sont acceptés'); - setUploading(false); return; } // Validation de la taille du fichier if (file.size > 10 * 1024 * 1024) { toast.error('Le fichier ne doit pas dépasser 10 Mo'); - setUploading(false); return; } + + // Afficher immédiatement l'état de chargement + setUploading(true); + setUploadProgress(0); + + // Attendre que React mette à jour l'interface avant de démarrer l'upload + await new Promise(resolve => setTimeout(resolve, 50)); + try { const formData = new FormData(); formData.append('file', file); diff --git a/todo.md b/todo.md index b16c8f1..4120591 100644 --- a/todo.md +++ b/todo.md @@ -1472,3 +1472,5 @@ - [x] Corriger le bug de la modal de chargement d'attestation qui reste bloquée sur l'état précédent - [x] Améliorer le feedback visuel pendant le chargement du fichier d'attestation (indicateur immédiat) + +- [x] Corriger la latence d'affichage du message d'upload (forcer le rendu avant traitement)