add clear all rules button
This commit is contained in:
@@ -481,6 +481,10 @@ export const I18N = {
|
|||||||
zh: `分享`,
|
zh: `分享`,
|
||||||
en: `Share`,
|
en: `Share`,
|
||||||
},
|
},
|
||||||
|
clear_all: {
|
||||||
|
zh: `清空`,
|
||||||
|
en: `Clear All`,
|
||||||
|
},
|
||||||
help: {
|
help: {
|
||||||
zh: `求助`,
|
zh: `求助`,
|
||||||
en: `Help`,
|
en: `Help`,
|
||||||
|
|||||||
@@ -53,6 +53,12 @@ export function useRules() {
|
|||||||
[list, updateRules]
|
[list, updateRules]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const clear = useCallback(async () => {
|
||||||
|
let rules = [...list];
|
||||||
|
rules = rules.filter((item) => item.pattern === "*");
|
||||||
|
await updateRules(rules);
|
||||||
|
}, [list, updateRules]);
|
||||||
|
|
||||||
const put = useCallback(
|
const put = useCallback(
|
||||||
async (pattern, obj) => {
|
async (pattern, obj) => {
|
||||||
const rules = [...list];
|
const rules = [...list];
|
||||||
@@ -85,5 +91,5 @@ export function useRules() {
|
|||||||
[list, updateRules]
|
[list, updateRules]
|
||||||
);
|
);
|
||||||
|
|
||||||
return { list, add, del, put, merge };
|
return { list, add, del, clear, put, merge };
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ import { syncShareRules } from "../../libs/sync";
|
|||||||
import { debounce } from "../../libs/utils";
|
import { debounce } from "../../libs/utils";
|
||||||
import { delSubRules, getSyncWithDefault } from "../../libs/storage";
|
import { delSubRules, getSyncWithDefault } from "../../libs/storage";
|
||||||
import OwSubRule from "./OwSubRule";
|
import OwSubRule from "./OwSubRule";
|
||||||
|
import ClearAllIcon from "@mui/icons-material/ClearAll";
|
||||||
|
|
||||||
function RuleFields({ rule, rules, setShow, setKeyword }) {
|
function RuleFields({ rule, rules, setShow, setKeyword }) {
|
||||||
const initFormValues = rule || {
|
const initFormValues = rule || {
|
||||||
@@ -570,6 +571,17 @@ function UserRules({ subRules }) {
|
|||||||
selectedUrl={selectedUrl}
|
selectedUrl={selectedUrl}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
size="small"
|
||||||
|
variant="outlined"
|
||||||
|
onClick={() => {
|
||||||
|
rules.clear();
|
||||||
|
}}
|
||||||
|
startIcon={<ClearAllIcon />}
|
||||||
|
>
|
||||||
|
{i18n("clear_all")}
|
||||||
|
</Button>
|
||||||
|
|
||||||
<HelpButton />
|
<HelpButton />
|
||||||
|
|
||||||
<FormControlLabel
|
<FormControlLabel
|
||||||
|
|||||||
Reference in New Issue
Block a user