interface interactive

This commit is contained in:
nBiqoz
2025-09-07 12:30:23 +02:00
parent 74e56c956c
commit ef0819ae90
27 changed files with 1827 additions and 515 deletions

View File

@@ -1,15 +1,13 @@
interface FileHandlerProps {
setUploadedFile: (file: File | null) => void;
setSourceText: (text: string) => void;
setFileContent: (content: string) => void;
setError: (error: string | null) => void;
setIsLoadingFile?: (loading: boolean) => void; // Ajouter cette propriété
setIsLoadingFile: (loading: boolean) => void;
}
export const useFileHandler = ({
setUploadedFile,
setSourceText,
setFileContent,
setError,
setIsLoadingFile,
}: FileHandlerProps) => {
@@ -22,12 +20,10 @@ export const useFileHandler = ({
setUploadedFile(file);
setError(null);
setSourceText("");
setFileContent("");
if (file.type === "text/plain") {
try {
const text = await file.text();
setFileContent(text);
setSourceText(text);
} catch {
setError("Erreur lors de la lecture du fichier texte");
@@ -49,11 +45,11 @@ export const useFileHandler = ({
if (!response.ok) {
// ✅ Récupérer le message d'erreur détaillé du serveur
let errorMessage = `Erreur HTTP: ${response.status}`;
try {
const responseText = await response.text();
console.log("🔍 Réponse brute du serveur:", responseText);
try {
const errorData = JSON.parse(responseText);
if (errorData.error) {
@@ -63,12 +59,14 @@ export const useFileHandler = ({
} catch (jsonError) {
console.error("❌ Erreur parsing JSON:", jsonError);
console.error("❌ Réponse non-JSON:", responseText);
errorMessage = `Erreur ${response.status}: ${responseText || 'Réponse invalide du serveur'}`;
errorMessage = `Erreur ${response.status}: ${
responseText || "Réponse invalide du serveur"
}`;
}
} catch (readError) {
console.error("❌ Impossible de lire la réponse:", readError);
}
throw new Error(errorMessage);
}
@@ -86,7 +84,6 @@ export const useFileHandler = ({
);
}
setFileContent(extractedText);
setSourceText(extractedText);
} catch (error) {
console.error("Erreur PDF:", error);
@@ -96,7 +93,6 @@ export const useFileHandler = ({
: "Erreur lors de la lecture du fichier PDF"
);
setUploadedFile(null);
setFileContent("");
setSourceText("");
} finally {
// Désactiver le loader une fois terminé