feat: confirm_before clear rules

This commit is contained in:
Gabe
2025-10-01 12:30:58 +08:00
parent a08c42db8b
commit d563521eb1
2 changed files with 26 additions and 6 deletions

View File

@@ -20,6 +20,7 @@ import { isValidWord } from "../../libs/utils";
import { kissLog } from "../../libs/log";
import { apiTranslate } from "../../apis";
import { OPT_TRANS_BAIDU, PHONIC_MAP } from "../../config";
import { useConfirm } from "../../hooks/Confirm";
function FavAccordion({ word, index }) {
const [expanded, setExpanded] = useState(false);
@@ -51,6 +52,7 @@ function FavAccordion({ word, index }) {
export default function FavWords() {
const i18n = useI18n();
const { favList, wordList, mergeWords, clearWords } = useFavWords();
const confirm = useConfirm();
const handleImport = (data) => {
try {
@@ -64,6 +66,16 @@ export default function FavWords() {
}
};
const handleClearWords = async () => {
const isConfirmed = await confirm({
confirmText: i18n("confirm_title"),
cancelText: i18n("cancel"),
});
if (isConfirmed) {
clearWords();
}
};
const handleTranslation = async () => {
const tranList = [];
for (const text of wordList) {
@@ -133,9 +145,7 @@ export default function FavWords() {
<Button
size="small"
variant="outlined"
onClick={() => {
clearWords();
}}
onClick={handleClearWords}
startIcon={<ClearAllIcon />}
>
{i18n("clear_all")}

View File

@@ -62,6 +62,7 @@ import SaveIcon from "@mui/icons-material/Save";
import { kissLog } from "../../libs/log";
import { useApiList } from "../../hooks/Api";
import ShowMoreButton from "./ShowMoreButton";
import { useConfirm } from "../../hooks/Confirm";
const calculateInitialValues = (rule) => {
const base = rule?.pattern === "*" ? GLOBLA_RULE : DEFAULT_RULE;
@@ -773,6 +774,7 @@ function UserRules({ subRules, rules }) {
const [showAdd, setShowAdd] = useState(false);
const { setting, updateSetting } = useSetting();
const [keyword, setKeyword] = useState("");
const confirm = useConfirm();
const injectRules = !!setting?.injectRules;
const { selectedUrl, selectedRules } = subRules;
@@ -791,6 +793,16 @@ function UserRules({ subRules, rules }) {
});
};
const handleClearAll = async () => {
const isConfirmed = await confirm({
confirmText: i18n("confirm_title"),
cancelText: i18n("cancel"),
});
if (isConfirmed) {
rules.clear();
}
};
useEffect(() => {
if (!showAdd) {
setKeyword("");
@@ -844,9 +856,7 @@ function UserRules({ subRules, rules }) {
<Button
size="small"
variant="outlined"
onClick={() => {
rules.clear();
}}
onClick={handleClearAll}
startIcon={<ClearAllIcon />}
>
{i18n("clear_all")}