Fix: Untoggle clean mode after use

The clean mode toggle should be switched off after the clean procedure is complete, instead of being disabled.
This commit is contained in:
gpt-engineer-app[bot]
2025-06-14 16:18:40 +00:00
parent a6998f8249
commit 16012accc1

View File

@@ -1,3 +1,4 @@
import { useParams, useNavigate } from "react-router-dom";
import { useEffect, useState } from "react";
import { toast } from "@/hooks/use-toast";
@@ -23,7 +24,6 @@ const SystemView = () => {
const navigate = useNavigate();
const queryClient = useQueryClient();
const [cleanMode, setCleanMode] = useState(false);
const [cleanModeUsed, setCleanModeUsed] = useState(false);
if (!system) {
navigate("/");
@@ -106,6 +106,8 @@ const SystemView = () => {
const pastedText = e.clipboardData?.getData('text');
if (!pastedText?.trim()) return;
const wasCleanMode = cleanMode;
try {
const systemId = await getSystemId(system);
const lines = pastedText.trim().split('\n').filter(line => line.trim());
@@ -133,7 +135,7 @@ const SystemView = () => {
}
// If clean mode is enabled, delete signatures not in the pasted list
if (cleanMode && !cleanModeUsed) {
if (wasCleanMode) {
const existingSignatures = await pb.collection('signature').getFullList({
filter: `system='${systemId}'`
});
@@ -149,8 +151,7 @@ const SystemView = () => {
console.log(`Deleted ${signaturesToDelete.length} signatures not in pasted data`);
}
// Disable clean mode after use
setCleanModeUsed(true);
// Turn off clean mode after use
setCleanMode(false);
}
@@ -182,7 +183,7 @@ const SystemView = () => {
return () => {
document.removeEventListener('paste', handlePaste);
};
}, [system, cleanMode, cleanModeUsed]);
}, [system, cleanMode]);
return (
<div className="min-h-screen bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900">
@@ -196,7 +197,6 @@ const SystemView = () => {
id="clean-mode"
checked={cleanMode}
onCheckedChange={setCleanMode}
disabled={cleanModeUsed}
/>
<Label htmlFor="clean-mode" className="text-sm text-slate-300">
Clean mode