fix: relancer les sources vides après purge

This commit is contained in:
Manus
2026-10-02 20:46:21 +00:00
parent b09dccb078
commit 70f867d62b
5 changed files with 118 additions and 36 deletions

View File

@@ -77,7 +77,7 @@ export default function Upload() {
});
}, [sourceFiles]);
const uploadFile = async (file: File): Promise<number | null> => {
const uploadFile = async (file: File): Promise<{ sourceFileId: number; reprocessed: boolean } | null> => {
return new Promise((resolve) => {
const reader = new FileReader();
reader.onload = async () => {
@@ -87,7 +87,7 @@ export default function Upload() {
fileName: file.name,
fileData: base64!,
});
resolve(data.sourceFileId);
resolve(data);
} catch (err: any) {
toast.error(`Erreur pour ${file.name} : ${err.message || "Erreur inconnue"}`);
resolve(null);
@@ -110,18 +110,27 @@ export default function Upload() {
setIsUploading(true);
toast.info(`Envoi de ${pdfFiles.length} fichier(s)...`);
let acceptedFiles = 0;
for (const file of pdfFiles) {
const sourceFileId = await uploadFile(file);
if (sourceFileId !== null) {
const upload = await uploadFile(file);
if (upload !== null) {
acceptedFiles++;
setUploadedFiles((prev) => [
...prev,
{ name: file.name, sourceFileId, status: "processing" },
{ name: file.name, sourceFileId: upload.sourceFileId, status: "processing" },
]);
if (upload.reprocessed) {
toast.info(`${file.name} : source existante retrouvée, nouvelle analyse lancée.`);
}
}
}
setIsUploading(false);
toast.success(`${pdfFiles.length} fichier(s) envoyé(s) — traitement en cours`);
if (acceptedFiles > 0) {
toast.success(`${acceptedFiles} fichier(s) envoyé(s) — traitement en cours`);
} else {
toast.warning("Aucun fichier n’a été lancé : consultez le message d’erreur affiché.");
}
};
const handleDragOver = useCallback((e: React.DragEvent) => {