feat: remove overwrite subrule
This commit is contained in:
@@ -135,7 +135,7 @@ export const DEFAULT_SETTING = {
|
|||||||
// transOnly: false, // 是否仅显示译文(移至rule,作废)
|
// transOnly: false, // 是否仅显示译文(移至rule,作废)
|
||||||
// transTitle: false, // 是否同时翻译页面标题(移至rule,作废)
|
// transTitle: false, // 是否同时翻译页面标题(移至rule,作废)
|
||||||
subrulesList: DEFAULT_SUBRULES_LIST, // 订阅列表
|
subrulesList: DEFAULT_SUBRULES_LIST, // 订阅列表
|
||||||
owSubrule: DEFAULT_OW_RULE, // 覆写订阅规则
|
// owSubrule: DEFAULT_OW_RULE, // 覆写订阅规则 (作废)
|
||||||
transApis: DEFAULT_API_LIST, // 翻译接口 (v2.0 对象改为数组)
|
transApis: DEFAULT_API_LIST, // 翻译接口 (v2.0 对象改为数组)
|
||||||
// mouseKey: OPT_TIMING_PAGESCROLL, // 翻译时机/鼠标悬停翻译(移至rule,作废)
|
// mouseKey: OPT_TIMING_PAGESCROLL, // 翻译时机/鼠标悬停翻译(移至rule,作废)
|
||||||
shortcuts: DEFAULT_SHORTCUTS, // 快捷键
|
shortcuts: DEFAULT_SHORTCUTS, // 快捷键
|
||||||
|
|||||||
@@ -22,32 +22,13 @@ import { kissLog } from "./log";
|
|||||||
* @param {string} href
|
* @param {string} href
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export const matchRule = async (
|
export const matchRule = async (href, { injectRules, subrulesList }) => {
|
||||||
href,
|
|
||||||
{ injectRules, subrulesList, owSubrule }
|
|
||||||
) => {
|
|
||||||
const rules = await getRulesWithDefault();
|
const rules = await getRulesWithDefault();
|
||||||
if (injectRules) {
|
if (injectRules) {
|
||||||
try {
|
try {
|
||||||
const selectedSub = subrulesList.find((item) => item.selected);
|
const selectedSub = subrulesList.find((item) => item.selected);
|
||||||
if (selectedSub?.url) {
|
if (selectedSub?.url) {
|
||||||
const mixRule = {};
|
const subRules = await loadOrFetchSubRules(selectedSub.url);
|
||||||
Object.entries(owSubrule)
|
|
||||||
.filter(([key, val]) => {
|
|
||||||
if (
|
|
||||||
owSubrule.textStyle === REMAIN_KEY &&
|
|
||||||
(key === "bgColor" || key === "textDiyStyle")
|
|
||||||
) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return val !== REMAIN_KEY;
|
|
||||||
})
|
|
||||||
.forEach(([key, val]) => {
|
|
||||||
mixRule[key] = val;
|
|
||||||
});
|
|
||||||
|
|
||||||
let subRules = await loadOrFetchSubRules(selectedSub.url);
|
|
||||||
subRules = subRules.map((item) => ({ ...item, ...mixRule }));
|
|
||||||
rules.splice(-1, 0, ...subRules);
|
rules.splice(-1, 0, ...subRules);
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ import {
|
|||||||
getSyncWithDefault,
|
getSyncWithDefault,
|
||||||
getRulesOld,
|
getRulesOld,
|
||||||
} from "../../libs/storage";
|
} from "../../libs/storage";
|
||||||
import OwSubRule from "./OwSubRule";
|
// import OwSubRule from "./OwSubRule";
|
||||||
import ClearAllIcon from "@mui/icons-material/ClearAll";
|
import ClearAllIcon from "@mui/icons-material/ClearAll";
|
||||||
import HelpButton from "./HelpButton";
|
import HelpButton from "./HelpButton";
|
||||||
import { useSyncCaches } from "../../hooks/Sync";
|
import { useSyncCaches } from "../../hooks/Sync";
|
||||||
@@ -1255,7 +1255,7 @@ export default function Rules() {
|
|||||||
<Tab label={i18n("global_rule")} />
|
<Tab label={i18n("global_rule")} />
|
||||||
<Tab label={i18n("personal_rules")} />
|
<Tab label={i18n("personal_rules")} />
|
||||||
<Tab label={i18n("subscribe_rules")} />
|
<Tab label={i18n("subscribe_rules")} />
|
||||||
<Tab label={i18n("overwrite_subscribe_rules")} />
|
{/* <Tab label={i18n("overwrite_subscribe_rules")} /> */}
|
||||||
</Tabs>
|
</Tabs>
|
||||||
</Box>
|
</Box>
|
||||||
<div hidden={activeTab !== 0}>
|
<div hidden={activeTab !== 0}>
|
||||||
@@ -1267,7 +1267,7 @@ export default function Rules() {
|
|||||||
<div hidden={activeTab !== 2}>
|
<div hidden={activeTab !== 2}>
|
||||||
{activeTab === 2 && <SubRules subRules={subRules} />}
|
{activeTab === 2 && <SubRules subRules={subRules} />}
|
||||||
</div>
|
</div>
|
||||||
<div hidden={activeTab !== 3}>{activeTab === 3 && <OwSubRule />}</div>
|
{/* <div hidden={activeTab !== 3}>{activeTab === 3 && <OwSubRule />}</div> */}
|
||||||
</Stack>
|
</Stack>
|
||||||
</Box>
|
</Box>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user