new interactive
This commit is contained in:
26
app/page.tsx
26
app/page.tsx
@@ -7,7 +7,7 @@ import { ProgressBar } from "./components/ProgressBar";
|
||||
import { useFileHandler } from "./components/FileHandler";
|
||||
import { useAnonymization } from "./components/AnonymizationLogic";
|
||||
import { useDownloadActions } from "./components/DownloadActions";
|
||||
import { ResultPreviewComponent } from "./components/ResultPreviewComponent";
|
||||
|
||||
import { EntityMapping } from "./config/entityLabels"; // Importer l'interface unifiée
|
||||
|
||||
// Supprimer l'interface locale EntityMapping (lignes 12-18)
|
||||
@@ -15,6 +15,7 @@ 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 [uploadedFile, setUploadedFile] = useState<File | null>(null);
|
||||
const [error, setError] = useState<string | null>(null);
|
||||
const [isLoadingFile, setIsLoadingFile] = useState(false);
|
||||
@@ -60,16 +61,18 @@ export default function Home() {
|
||||
setOutputText,
|
||||
setError,
|
||||
setEntityMappings,
|
||||
setAnonymizedText, // Passer la fonction pour stocker le texte anonymisé
|
||||
});
|
||||
|
||||
const { copyToClipboard, downloadText } = useDownloadActions({
|
||||
outputText,
|
||||
entityMappings,
|
||||
anonymizedText, // Passer le texte anonymisé de Presidio
|
||||
});
|
||||
|
||||
// Fonction wrapper pour appeler anonymizeData avec les bonnes données
|
||||
const handleAnonymize = () => {
|
||||
anonymizeData({ file: uploadedFile, text: sourceText });
|
||||
const handleAnonymize = (category?: string) => {
|
||||
anonymizeData({ file: uploadedFile, text: sourceText, category });
|
||||
};
|
||||
|
||||
return (
|
||||
@@ -102,26 +105,11 @@ export default function Home() {
|
||||
isExampleLoaded={isExampleLoaded}
|
||||
setIsExampleLoaded={setIsExampleLoaded}
|
||||
entityMappings={entityMappings}
|
||||
onMappingsUpdate={handleMappingsUpdate}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Interactive Text Editor - Nouveau composant pour l'édition interactive */}
|
||||
{outputText && (
|
||||
<div className="bg-white rounded-2xl border border-gray-100 overflow-hidden">
|
||||
<div className="p-1 sm:p-3">
|
||||
<ResultPreviewComponent
|
||||
outputText={outputText}
|
||||
sourceText={sourceText}
|
||||
copyToClipboard={copyToClipboard}
|
||||
downloadText={downloadText}
|
||||
entityMappings={entityMappings}
|
||||
onMappingsUpdate={handleMappingsUpdate}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Entity Mapping Table - Seulement si outputText existe */}
|
||||
{outputText && (
|
||||
<div className="bg-white rounded-2xl border border-gray-100 overflow-hidden">
|
||||
|
||||
Reference in New Issue
Block a user