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];
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user