optimize some code

This commit is contained in:
Gabe Yuan
2023-07-28 15:34:05 +08:00
parent 937261097d
commit 497084fe8a
4 changed files with 20 additions and 22 deletions

View File

@@ -3,6 +3,7 @@
"description": "A simple translator extension",
"version": "1.1.3",
"author": "Gabe<yugang2002@gmail.com>",
"private": true,
"dependencies": {
"@emotion/react": "^11.11.1",
"@emotion/styled": "^11.10.8",

View File

@@ -179,7 +179,7 @@ export const I18N = {
en: `Wrong file type`,
},
openai_api: {
zh: `OpenAI 接口地址`,
zh: `OpenAI 接口`,
en: `OpenAI API`,
},
openai_key: {

View File

@@ -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 };
}

View File

@@ -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 && <RuleFields rules={rules} setShow={setShowAdd} />}
<Box>
{rules.list.map((rule, index) => (
{rules.list.map((rule) => (
<Accordion key={rule.pattern}>
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
<Typography>{rule.pattern}</Typography>
</AccordionSummary>
<AccordionDetails>
<RuleFields rule={rule} index={index} rules={rules} />
<RuleFields rule={rule} rules={rules} />
</AccordionDetails>
</Accordion>
))}