Checkpoint: Correction définitive de la latence d'affichage du message d'upload : ajout d'un délai de 50ms après setUploading(true) pour permettre à React de rafraîchir l'interface avant de démarrer le traitement du fichier. L'animation "Upload en cours..." s'affiche maintenant instantanément dès la sélection du fichier. Déployé sur le VPS de production.
This commit is contained in:
@@ -183,23 +183,25 @@ function UploadAttestationDialog({
|
|||||||
const file = e.target.files?.[0];
|
const file = e.target.files?.[0];
|
||||||
if (!file) return;
|
if (!file) return;
|
||||||
|
|
||||||
// Afficher immédiatement l'état de chargement
|
|
||||||
setUploading(true);
|
|
||||||
setUploadProgress(0);
|
|
||||||
|
|
||||||
// Validation du type de fichier
|
// Validation du type de fichier
|
||||||
if (file.type !== 'application/pdf') {
|
if (file.type !== 'application/pdf') {
|
||||||
toast.error('Seuls les fichiers PDF sont acceptés');
|
toast.error('Seuls les fichiers PDF sont acceptés');
|
||||||
setUploading(false);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Validation de la taille du fichier
|
// Validation de la taille du fichier
|
||||||
if (file.size > 10 * 1024 * 1024) {
|
if (file.size > 10 * 1024 * 1024) {
|
||||||
toast.error('Le fichier ne doit pas dépasser 10 Mo');
|
toast.error('Le fichier ne doit pas dépasser 10 Mo');
|
||||||
setUploading(false);
|
|
||||||
return;
|
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 {
|
try {
|
||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
formData.append('file', file);
|
formData.append('file', file);
|
||||||
|
|||||||
2
todo.md
2
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] 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] 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)
|
||||||
|
|||||||
Reference in New Issue
Block a user