fix global rule bug
This commit is contained in:
@@ -41,25 +41,28 @@ export const getRules = async () => (await storage.getObj(STOKEY_RULES)) || [];
|
|||||||
*/
|
*/
|
||||||
export const matchRule = (rules, href) => {
|
export const matchRule = (rules, href) => {
|
||||||
const rule = rules.find((rule) =>
|
const rule = rules.find((rule) =>
|
||||||
rule.pattern
|
rule.pattern.split(",").some((p) => href.includes(p.trim()))
|
||||||
.split(",")
|
|
||||||
.some((p) => p.trim() === "*" || href.includes(p.trim()))
|
|
||||||
);
|
);
|
||||||
|
const globalRule =
|
||||||
|
rules.find((rule) =>
|
||||||
|
rule.pattern.split(",").some((p) => p.trim() === "*")
|
||||||
|
) || GLOBLA_RULE;
|
||||||
|
|
||||||
if (!rule) {
|
if (!rule) {
|
||||||
return GLOBLA_RULE;
|
return globalRule;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!rule?.selector?.trim()) {
|
rule.selector =
|
||||||
rule.selector = GLOBLA_RULE.selector;
|
rule?.selector?.trim() ||
|
||||||
}
|
globalRule?.selector?.trim() ||
|
||||||
|
GLOBLA_RULE.selector;
|
||||||
|
|
||||||
rule.bgColor = rule?.bgColor?.trim() || GLOBLA_RULE?.bgColor?.trim();
|
rule.bgColor = rule?.bgColor?.trim() || globalRule?.bgColor?.trim();
|
||||||
|
|
||||||
["translator", "fromLang", "toLang", "textStyle", "transOpen"].forEach(
|
["translator", "fromLang", "toLang", "textStyle", "transOpen"].forEach(
|
||||||
(key) => {
|
(key) => {
|
||||||
if (rule[key] === GLOBAL_KEY) {
|
if (rule[key] === GLOBAL_KEY) {
|
||||||
rule[key] = GLOBLA_RULE[key];
|
rule[key] = globalRule[key];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user