import { Avatar, Button, Grid, Message, Space, Switch, Tag, Tooltip, Typography } from "@arco-design/web-react"; import CodeEditor from "../components/CodeEditor"; import { useEffect, useState } from "react"; import { Metadata, Script, SCRIPT_STATUS_DISABLE, SCRIPT_STATUS_ENABLE } from "@App/app/repo/scripts"; import { Subscribe } from "@App/app/repo/subscribe"; import { i18nDescription, i18nName } from "@App/locales/locales"; import { useTranslation } from "react-i18next"; import { prepareScriptByCode, prepareSubscribeByCode, ScriptInfo } from "@App/pkg/utils/script"; import { nextTime } from "@App/pkg/utils/utils"; import { ScriptClient } from "@App/app/service/service_worker/client"; type Permission = { label: string; color?: string; value: string[] }[]; const closeWindow = () => { window.close(); }; function App() { // 脚本信息包括脚本代码、下载url、metadata等信息,通过service_worker的缓存获取 const [scriptInfo, setScriptInfo] = useState(); // 是系统检测到脚本更新时打开的窗口会有一个倒计时 const [countdown, setCountdown] = useState(-1); // 脚本信息 const [upsertScript, setUpsertScript] = useState