diff --git a/package.json b/package.json index c3c08e0..edd452c 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "description": "A simple translator extension", "version": "1.1.3", "author": "Gabe", + "private": true, "dependencies": { "@emotion/react": "^11.11.1", "@emotion/styled": "^11.10.8", diff --git a/src/config/i18n.js b/src/config/i18n.js index 0831900..e00f4c3 100644 --- a/src/config/i18n.js +++ b/src/config/i18n.js @@ -179,7 +179,7 @@ export const I18N = { en: `Wrong file type`, }, openai_api: { - zh: `OpenAI 接口地址`, + zh: `OpenAI 接口`, en: `OpenAI API`, }, openai_key: { diff --git a/src/hooks/Rules.js b/src/hooks/Rules.js index f5a4758..5be84db 100644 --- a/src/hooks/Rules.js +++ b/src/hooks/Rules.js @@ -15,46 +15,43 @@ import { matchValue } from "../libs/utils"; */ export function useRules() { const storages = useStorages(); - let rules = storages?.[STOKEY_RULES] || []; + const list = storages?.[STOKEY_RULES] || []; const add = async (rule) => { - rules = [...rules]; + const rules = [...list]; if (rule.pattern === "*") { return; } if (rules.map((item) => item.pattern).includes(rule.pattern)) { return; } - await storage.setObj(STOKEY_RULES, [rule, ...rules]); + rules.unshift(rule); + await storage.setObj(STOKEY_RULES, rules); }; const del = async (pattern) => { - rules = [...rules]; + let rules = [...list]; if (pattern === "*") { return; } - await storage.setObj( - STOKEY_RULES, - rules.filter((item) => item.pattern !== pattern) - ); + rules = rules.filter((item) => item.pattern !== pattern); + await storage.setObj(STOKEY_RULES, rules); }; - const put = async (index, obj) => { - rules = [...rules]; - if (!rules[index]) { - return; - } - if (index === rules.length - 1) { + const put = async (pattern, obj) => { + const rules = [...list]; + if (pattern === "*") { obj.pattern = "*"; } - rules[index] = { ...rules[index], ...obj }; + const rule = rules.find((r) => r.pattern === pattern); + rule && Object.assign(rule, obj); await storage.setObj(STOKEY_RULES, rules); }; const merge = async (newRules) => { const fromLangs = OPT_LANGS_FROM.map((item) => item[0]); const toLangs = OPT_LANGS_TO.map((item) => item[0]); - rules = [...rules]; + const rules = [...list]; newRules .filter( ({ pattern, selector }) => @@ -95,5 +92,5 @@ export function useRules() { await storage.setObj(STOKEY_RULES, rules); }; - return { list: rules, add, del, put, merge }; + return { list, add, del, put, merge }; } diff --git a/src/views/Options/Rules.js b/src/views/Options/Rules.js index f083876..2408c60 100644 --- a/src/views/Options/Rules.js +++ b/src/views/Options/Rules.js @@ -23,7 +23,7 @@ import Grid from "@mui/material/Grid"; import FileDownloadIcon from "@mui/icons-material/FileDownload"; import FileUploadIcon from "@mui/icons-material/FileUpload"; -function RuleFields({ rule, rules, index, setShow }) { +function RuleFields({ rule, rules, setShow }) { const initFormValues = rule || { ...DEFAULT_RULE, pattern: "", @@ -97,7 +97,7 @@ function RuleFields({ rule, rules, index, setShow }) { if (editMode) { // 编辑 setDisabled(true); - rules.put(index, formValues); + rules.put(rule.pattern, formValues); } else { // 添加 rules.add(formValues); @@ -379,13 +379,13 @@ export default function Rules() { {showAdd && } - {rules.list.map((rule, index) => ( + {rules.list.map((rule) => ( }> {rule.pattern} - + ))}