clean presidio

This commit is contained in:
Biqoz
2026-01-29 00:19:50 +01:00
parent 050474e95b
commit 90b73080e0
11 changed files with 667 additions and 516 deletions

View File

@@ -15,12 +15,14 @@ import { EntityMapping } from "./config/entityLabels"; // Importer l'interface u
export default function Home() {
const [sourceText, setSourceText] = useState("");
const [outputText, setOutputText] = useState("");
const [anonymizedText, setAnonymizedText] = useState(""); // Nouveau state pour le texte anonymisé de Presidio
const [anonymizedText, setAnonymizedText] = useState("");
const [uploadedFile, setUploadedFile] = useState<File | null>(null);
const [error, setError] = useState<string | null>(null);
const [isLoadingFile, setIsLoadingFile] = useState(false);
const [entityMappings, setEntityMappings] = useState<EntityMapping[]>([]);
const [isExampleLoaded, setIsExampleLoaded] = useState(false);
// Remove this unused state variable:
// const [isExampleLoaded, setIsExampleLoaded] = useState(false);
const [selectedCategory, setSelectedCategory] = useState("pii");
const progressSteps = ["Téléversement", "Prévisualisation", "Anonymisation"];
@@ -38,7 +40,8 @@ export default function Home() {
setError(null);
setIsLoadingFile(false);
setEntityMappings([]);
setIsExampleLoaded(false);
// Remove this line: setIsExampleLoaded(false);
setSelectedCategory("pii");
};
// Fonction pour mettre à jour les mappings depuis l'éditeur interactif
@@ -67,13 +70,15 @@ export default function Home() {
const { copyToClipboard, downloadText } = useDownloadActions({
outputText,
entityMappings,
anonymizedText, // Passer le texte anonymisé de Presidio
anonymizedText,
sourceText, // Ajouter le texte source
});
// Fonction wrapper pour appeler anonymizeData avec les bonnes données
const handleAnonymize = (category?: string) => {
anonymizeData({ file: uploadedFile, text: sourceText, category });
};
// Remove unused function or update the onAnonymize prop
// const handleAnonymize = (category?: string) => {
// anonymizeData({ file: uploadedFile, text: sourceText, category });
// };
return (
<div className="min-h-screen w-full overflow-hidden">
@@ -91,21 +96,19 @@ export default function Home() {
sourceText={sourceText}
setSourceText={setSourceText}
setUploadedFile={setUploadedFile}
onAnonymize={handleAnonymize}
onAnonymize={(category: string) => anonymizeData({ file: uploadedFile, text: sourceText, category })}
isProcessing={isProcessing}
canAnonymize={
uploadedFile !== null ||
Boolean(sourceText && sourceText.trim())
}
canAnonymize={!!sourceText.trim()}
isLoadingFile={isLoadingFile}
onRestart={handleRestart}
outputText={outputText}
copyToClipboard={copyToClipboard}
downloadText={downloadText}
isExampleLoaded={isExampleLoaded}
setIsExampleLoaded={setIsExampleLoaded}
// Remove this line: setIsExampleLoaded={setIsExampleLoaded}
entityMappings={entityMappings}
onMappingsUpdate={handleMappingsUpdate}
selectedCategory={selectedCategory}
setSelectedCategory={setSelectedCategory}
/>
</div>
</div>
@@ -114,7 +117,10 @@ export default function Home() {
{outputText && (
<div className="bg-white rounded-2xl border border-gray-100 overflow-hidden">
<div className="p-1 sm:p-3">
<EntityMappingTable mappings={entityMappings} />
<EntityMappingTable
mappings={entityMappings}
selectedCategory={selectedCategory}
/>
</div>
</div>
)}