diff --git a/kiss-translator.user.js b/kiss-translator.user.js index 21ca77e..f4f150c 100644 --- a/kiss-translator.user.js +++ b/kiss-translator.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name KISS Translator // @namespace https://github.com/fishjar/kiss-translator -// @version 1.5.8 +// @version 1.6.0 // @description A minimalist bilingual translation Extension & Greasemonkey Script (一个简约的双语网页翻译扩展 & 油猴脚本) // @author Gabe // @homepageURL https://github.com/fishjar/kiss-translator @@ -16,7 +16,7 @@ // @grant GM.getValue // @grant GM.deleteValue // @grant GM.info -// @inject-into content +// @grant unsafeWindow // @connect translate.googleapis.com // @connect api-edge.cognitive.microsofttranslator.com // @connect edge.microsoft.com @@ -3018,7 +3018,7 @@ function useControlled(_ref) { /* harmony export */ }); /* harmony import */ var _emotion_styled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3320); /** - * @mui/styled-engine v5.14.6 + * @mui/styled-engine v5.14.7 * * @license MIT * This source code is licensed under the MIT license found in the @@ -19503,11 +19503,13 @@ function CssBaseline(inProps) { false ? 0 : void 0; /* harmony default export */ var CssBaseline_CssBaseline = (CssBaseline); ;// CONCATENATED MODULE: ./src/config/rules.js -var els="li, p, h1, h2, h3, h4, h5, h6, dd";var DEFAULT_SELECTOR=":is(".concat(els,")");var GLOBAL_KEY="*";var SHADOW_KEY=">>>";var DEFAULT_RULE={pattern:"",selector:"",translator:GLOBAL_KEY,fromLang:GLOBAL_KEY,toLang:GLOBAL_KEY,textStyle:GLOBAL_KEY,transOpen:GLOBAL_KEY,bgColor:""};var RULES=[{pattern:"www.google.com/search",selector:"h3, .IsZvec, .VwiC3b"},{pattern:"news.google.com",selector:"h4"},{pattern:"www.foxnews.com",selector:"h1, h2, .title, .sidebar [data-type=\"Title\"], .article-content ".concat(DEFAULT_SELECTOR,"; [data-spotim-module=\"conversation\"]>div >>> [data-spot-im-class=\"message-text\"] p, [data-spot-im-class=\"message-text\"]")},{pattern:"bearblog.dev, www.theverge.com, www.tampermonkey.net/documentation.php",selector:DEFAULT_SELECTOR},{pattern:"themessenger.com",selector:".leading-tight, .leading-tighter, .my-2 p, .font-body p, article ".concat(DEFAULT_SELECTOR)},{pattern:"www.telegraph.co.uk",selector:"article ".concat(DEFAULT_SELECTOR)},{pattern:"www.theguardian.com",selector:".show-underline, .dcr-hup5wm div, .dcr-7vl6y8 div, .dcr-12evv1c, figcaption, article ".concat(DEFAULT_SELECTOR,", [data-cy=\"mostviewed-footer\"] h4")},{pattern:"www.semafor.com",selector:"".concat(DEFAULT_SELECTOR,", .styles_intro__IYj__, [class*=\"styles_description\"]")},{pattern:"www.noemamag.com",selector:".splash__title, .single-card__title, .single-card__type, .single-card__topic, .highlighted-content__title, .single-card__author, article ".concat(DEFAULT_SELECTOR,", .quote__text, .wp-caption-text div")},{pattern:"restofworld.org",selector:"".concat(DEFAULT_SELECTOR,", .recirc-story__headline, .recirc-story__dek")},{pattern:"www.axios.com",selector:".h7, ".concat(DEFAULT_SELECTOR)},{pattern:"www.newyorker.com",selector:".summary-item__hed, .summary-item__dek, .summary-collection-grid__dek, .dqtvfu, .rubric__link, .caption, article ".concat(DEFAULT_SELECTOR,", .HEhan ").concat(DEFAULT_SELECTOR,", .ContributorBioBio-fBolsO")},{pattern:"https://time.com/",selector:"h1, h3, .summary, .video-title, #article-body ".concat(DEFAULT_SELECTOR,", .image-wrap-container .credit.body-caption, .media-heading")},{pattern:"www.dw.com",selector:".ts-teaser-title a, .news-title a, .title a, .teaser-description a, .hbudab h3, .hbudab p, figcaption ,article ".concat(DEFAULT_SELECTOR)},{pattern:"www.bbc.com",selector:"h1, h2, .media__link, .media__summary, article ".concat(DEFAULT_SELECTOR,", .ssrcss-y7krbn-Stack, .ssrcss-1mrs5ns-PromoLink, .ssrcss-18cjaf3-Headline, .gs-c-promo-heading__title, .gs-c-promo-summary, .media__content h3, .article__intro")},{pattern:"www.chinadaily.com.cn",selector:"h1, .tMain [shape=\"rect\"], .cMain [shape=\"rect\"], .photo_art [shape=\"rect\"], .mai_r [shape=\"rect\"], .lisBox li, #Content ".concat(DEFAULT_SELECTOR)},{pattern:"www.facebook.com",selector:"[role=\"main\"] [dir=\"auto\"]"},{pattern:"www.reddit.com",selector:"[slot=\"title\"], [slot=\"text-body\"] ".concat(DEFAULT_SELECTOR,", #-post-rtjson-content p")},{pattern:"www.quora.com",selector:".qu-wordBreak--break-word"},{pattern:"edition.cnn.com",selector:".container__title, .container__headline, .headline__text, .image__caption, [data-type=\"Title\"], .article__content ".concat(DEFAULT_SELECTOR)},{pattern:"www.reuters.com",selector:"#main-content [data-testid=\"Heading\"], #main-content [data-testid=\"Body\"], .article-body__content__17Yit ".concat(DEFAULT_SELECTOR)},{pattern:"www.bloomberg.com",selector:"[data-component=\"headline\"], [data-component=\"related-item-headline\"], [data-component=\"title\"], article ".concat(DEFAULT_SELECTOR)},{pattern:"deno.land, docs.github.com",selector:"main ".concat(DEFAULT_SELECTOR)},{pattern:"doc.rust-lang.org",selector:"#content ".concat(DEFAULT_SELECTOR)},{pattern:"www.indiehackers.com",selector:"h1, h3, .content ".concat(DEFAULT_SELECTOR,", .feed-item__title-link")},{pattern:"platform.openai.com/docs",selector:".docs-body ".concat(DEFAULT_SELECTOR)},{pattern:"en.wikipedia.org",selector:"h1, .mw-parser-output ".concat(DEFAULT_SELECTOR)},{pattern:"stackoverflow.com",selector:"h1, .s-prose p, .comment-body .comment-copy"},{pattern:"www.npmjs.com/package/, developer.chrome.com/docs, medium.com, developers.cloudflare.com, react.dev, create-react-app.dev, pytorch.org/",selector:"article ".concat(DEFAULT_SELECTOR)},{pattern:"news.ycombinator.com",selector:".title, .commtext"},{pattern:"https://github.com/",selector:".markdown-body ".concat(DEFAULT_SELECTOR,", .repo-description p, .Layout-sidebar .f4, .container-lg .py-4 .f5, .container-lg .my-4 .f5, .Box-row .pr-4, .Box-row article .mt-1, [itemprop='description'], .markdown-title, bdi")},{pattern:"twitter.com",selector:"[data-testid='tweetText']"},{pattern:"youtube.com",selector:"h1, #video-title, #content-text, #title, yt-attributed-string>span>span"}];var BUILTIN_RULES=RULES.map(function(item){return _objectSpread2(_objectSpread2(_objectSpread2({},DEFAULT_RULE),item),{},{transOpen:"true"});}); +var els="li, p, h1, h2, h3, h4, h5, h6, dd";var DEFAULT_SELECTOR=":is(".concat(els,")");var GLOBAL_KEY="*";var SHADOW_KEY=">>>";var DEFAULT_RULE={pattern:"",selector:"",translator:GLOBAL_KEY,fromLang:GLOBAL_KEY,toLang:GLOBAL_KEY,textStyle:GLOBAL_KEY,transOpen:GLOBAL_KEY,bgColor:""};var RULES=[{pattern:"www.google.com/search",selector:"h3, .IsZvec, .VwiC3b"},{pattern:"news.google.com",selector:"h4"},{pattern:"www.foxnews.com",selector:"h1, h2, .title, .sidebar [data-type=\"Title\"], .article-content ".concat(DEFAULT_SELECTOR,"; [data-spotim-module=\"conversation\"]>div >>> [data-spot-im-class=\"message-text\"] p, [data-spot-im-class=\"message-text\"]")},{pattern:"bearblog.dev, www.theverge.com, www.tampermonkey.net/documentation.php",selector:DEFAULT_SELECTOR},{pattern:"themessenger.com",selector:".leading-tight, .leading-tighter, .my-2 p, .font-body p, article ".concat(DEFAULT_SELECTOR)},{pattern:"www.telegraph.co.uk",selector:"article ".concat(DEFAULT_SELECTOR)},{pattern:"www.theguardian.com",selector:".show-underline, .dcr-hup5wm div, .dcr-7vl6y8 div, .dcr-12evv1c, figcaption, article ".concat(DEFAULT_SELECTOR,", [data-cy=\"mostviewed-footer\"] h4")},{pattern:"www.semafor.com",selector:"".concat(DEFAULT_SELECTOR,", .styles_intro__IYj__, [class*=\"styles_description\"]")},{pattern:"www.noemamag.com",selector:".splash__title, .single-card__title, .single-card__type, .single-card__topic, .highlighted-content__title, .single-card__author, article ".concat(DEFAULT_SELECTOR,", .quote__text, .wp-caption-text div")},{pattern:"restofworld.org",selector:"".concat(DEFAULT_SELECTOR,", .recirc-story__headline, .recirc-story__dek")},{pattern:"www.axios.com",selector:".h7, ".concat(DEFAULT_SELECTOR)},{pattern:"www.newyorker.com",selector:".summary-item__hed, .summary-item__dek, .summary-collection-grid__dek, .dqtvfu, .rubric__link, .caption, article ".concat(DEFAULT_SELECTOR,", .HEhan ").concat(DEFAULT_SELECTOR,", .ContributorBioBio-fBolsO")},{pattern:"https://time.com/",selector:"h1, h3, .summary, .video-title, #article-body ".concat(DEFAULT_SELECTOR,", .image-wrap-container .credit.body-caption, .media-heading")},{pattern:"www.dw.com",selector:".ts-teaser-title a, .news-title a, .title a, .teaser-description a, .hbudab h3, .hbudab p, figcaption ,article ".concat(DEFAULT_SELECTOR)},{pattern:"www.bbc.com",selector:"h1, h2, .media__link, .media__summary, article ".concat(DEFAULT_SELECTOR,", .ssrcss-y7krbn-Stack, .ssrcss-1mrs5ns-PromoLink, .ssrcss-18cjaf3-Headline, .gs-c-promo-heading__title, .gs-c-promo-summary, .media__content h3, .article__intro")},{pattern:"www.chinadaily.com.cn",selector:"h1, .tMain [shape=\"rect\"], .cMain [shape=\"rect\"], .photo_art [shape=\"rect\"], .mai_r [shape=\"rect\"], .lisBox li, #Content ".concat(DEFAULT_SELECTOR)},{pattern:"www.facebook.com",selector:"[role=\"main\"] [dir=\"auto\"]"},{pattern:"www.reddit.com",selector:"[slot=\"title\"], [slot=\"text-body\"] ".concat(DEFAULT_SELECTOR,", #-post-rtjson-content p")},{pattern:"www.quora.com",selector:".qu-wordBreak--break-word"},{pattern:"edition.cnn.com",selector:".container__title, .container__headline, .headline__text, .image__caption, [data-type=\"Title\"], .article__content ".concat(DEFAULT_SELECTOR)},{pattern:"www.reuters.com",selector:"#main-content [data-testid=\"Heading\"], #main-content [data-testid=\"Body\"], .article-body__content__17Yit ".concat(DEFAULT_SELECTOR)},{pattern:"www.bloomberg.com",selector:"[data-component=\"headline\"], [data-component=\"related-item-headline\"], [data-component=\"title\"], article ".concat(DEFAULT_SELECTOR)},{pattern:"deno.land, docs.github.com",selector:"main ".concat(DEFAULT_SELECTOR)},{pattern:"doc.rust-lang.org",selector:"#content ".concat(DEFAULT_SELECTOR)},{pattern:"www.indiehackers.com",selector:"h1, h3, .content ".concat(DEFAULT_SELECTOR,", .feed-item__title-link")},{pattern:"platform.openai.com/docs",selector:".docs-body ".concat(DEFAULT_SELECTOR)},{pattern:"en.wikipedia.org",selector:"h1, .mw-parser-output ".concat(DEFAULT_SELECTOR)},{pattern:"stackoverflow.com",selector:"h1, .s-prose p, .comment-body .comment-copy"},{pattern:"www.npmjs.com/package/, developer.chrome.com/docs, medium.com, developers.cloudflare.com, react.dev, create-react-app.dev, pytorch.org/",selector:"article ".concat(DEFAULT_SELECTOR)},{pattern:"news.ycombinator.com",selector:".title, .commtext"},{pattern:"https://github.com/",selector:".markdown-body ".concat(DEFAULT_SELECTOR,", .repo-description p, .Layout-sidebar .f4, .container-lg .py-4 .f5, .container-lg .my-4 .f5, .Box-row .pr-4, .Box-row article .mt-1, [itemprop='description'], .markdown-title, bdi")},{pattern:"twitter.com",selector:"[data-testid='tweetText']"},{pattern:"youtube.com",selector:"h1, #video-title, #content-text, #title, yt-attributed-string>span>span"}];var rules_BUILTIN_RULES=RULES.map(function(item){return _objectSpread2(_objectSpread2(_objectSpread2({},DEFAULT_RULE),item),{},{transOpen:"true"});}); +;// CONCATENATED MODULE: ./src/config/app.js +var APP_NAME="KISS Translator".trim().split(/\s+/).join("-");var APP_LCNAME=APP_NAME.toLowerCase(); ;// CONCATENATED MODULE: ./src/config/i18n.js var UI_LANGS=(/* unused pure expression or super */ null && ([["en","English"],["zh","中文"]]));var I18N={app_name:{zh:"\u7B80\u7EA6\u7FFB\u8BD1",en:"KISS Translator"},translate:{zh:"\u7FFB\u8BD1",en:"Translate"},translate_alt:{zh:"\u7FFB\u8BD1 (Alt+Q)",en:"Translate (Alt+Q)"},basic_setting:{zh:"\u57FA\u672C\u8BBE\u7F6E",en:"Basic Setting"},rules_setting:{zh:"\u89C4\u5219\u8BBE\u7F6E",en:"Rules Setting"},sync_setting:{zh:"\u540C\u6B65\u8BBE\u7F6E",en:"Sync Setting"},about:{zh:"\u5173\u4E8E",en:"About"},about_md:{zh:"README.md",en:"README.en.md"},about_md_local:{zh:"\u8BF7 [\u70B9\u51FB\u8FD9\u91CC](".concat("https://github.com/fishjar/kiss-translator",") \u67E5\u770B\u8BE6\u60C5\u3002"),en:"Please [click here](".concat("https://github.com/fishjar/kiss-translator",") for details.")},ui_lang:{zh:"\u754C\u9762\u8BED\u8A00",en:"Interface Language"},fetch_limit:{zh:"\u6700\u5927\u8BF7\u6C42\u6570\u91CF (1-100)",en:"Maximum Number Of Request (1-100)"},fetch_interval:{zh:"\u8BF7\u6C42\u95F4\u9694\u65F6\u95F4 (0-5000ms)",en:"Request Interval (0-5000ms)"},min_translate_length:{zh:"\u6700\u5C0F\u7FFB\u8BD1\u957F\u5EA6 (1-100)",en:"Min Translate Length (1-100)"},max_translate_length:{zh:"\u6700\u5927\u7FFB\u8BD1\u957F\u5EA6 (100-10000)",en:"Max Translate Length (100-10000)"},translate_service:{zh:"\u7FFB\u8BD1\u670D\u52A1",en:"Translate Service"},from_lang:{zh:"\u539F\u6587\u8BED\u8A00",en:"Source Language"},to_lang:{zh:"\u76EE\u6807\u8BED\u8A00",en:"Target Language"},text_style:{zh:"\u6587\u5B57\u6837\u5F0F",en:"Text Style"},text_style_alt:{zh:"\u6587\u5B57\u6837\u5F0F (Alt+C)",en:"Text Style (Alt+C)"},bg_color:{zh:"\u6837\u5F0F\u989C\u8272",en:"Style Color"},google_api:{zh:"\u8C37\u6B4C\u7FFB\u8BD1\u63A5\u53E3",en:"Google Translate API"},default_selector:{zh:"\u9ED8\u8BA4\u9009\u62E9\u5668",en:"Default selector"},selector_rules:{zh:"\u9009\u62E9\u5668\u89C4\u5219",en:"Selector Rules"},save:{zh:"\u4FDD\u5B58",en:"Save"},edit:{zh:"\u7F16\u8F91",en:"Edit"},cancel:{zh:"\u53D6\u6D88",en:"Cancel"},delete:{zh:"\u5220\u9664",en:"Delete"},reset:{zh:"\u91CD\u7F6E",en:"Reset"},add:{zh:"\u6DFB\u52A0",en:"Add"},inject_rules:{zh:"\u6CE8\u5165\u8BA2\u9605\u89C4\u5219",en:"Inject Subscribe Rules"},personal_rules:{zh:"\u4E2A\u4EBA\u89C4\u5219",en:"Personal Rules"},subscribe_rules:{zh:"\u8BA2\u9605\u89C4\u5219",en:"Subscribe Rules"},subscribe_url:{zh:"\u8BA2\u9605\u5730\u5740",en:"Subscribe URL"},rules_warn_1:{zh:"1\u3001\u201C\u4E2A\u4EBA\u89C4\u5219\u201D\u4E00\u76F4\u751F\u6548\uFF0C\u9009\u62E9\u201C\u6CE8\u5165\u8BA2\u9605\u89C4\u5219\u201D\u540E\uFF0C\u201C\u8BA2\u9605\u89C4\u5219\u201D\u624D\u4F1A\u751F\u6548\u3002",en:"1. The \"Personal Rules\" are always in effect. After selecting \"Inject Subscription Rules\", the \"Subscription Rules\" will take effect."},rules_warn_2:{zh:"2\u3001\u201C\u8BA2\u9605\u89C4\u5219\u201D\u7684\u6CE8\u5165\u4F4D\u7F6E\u662F\u5012\u6570\u7B2C\u4E8C\u7684\u4F4D\u7F6E\uFF0C\u56E0\u6B64\u9664\u5168\u5C40\u89C4\u5219(*)\u5916\uFF0C\u201C\u4E2A\u4EBA\u89C4\u5219\u201D\u4F18\u5148\u7EA7\u6BD4\u201C\u8BA2\u9605\u89C4\u5219\u201D\u9AD8\uFF0C\u201C\u4E2A\u4EBA\u89C4\u5219\u201D\u586B\u5199\u540C\u6837\u7684\u7F51\u5740\u4F1A\u8986\u76D6\u201D\u8BA2\u9605\u89C4\u5219\u201C\u7684\u6761\u76EE\u3002",en:"2. The injection position of \"Subscription Rules\" is the penultimate position. Therefore, except for the global rules (*), the priority of \"Personal Rules\" is higher than that of \"Subscription Rules\". Filling in the same url in \"Personal Rules\" will overwrite \"Subscription Rules\" entry."},sync_warn:{zh:"\u5982\u679C\u670D\u52A1\u5668\u5B58\u5728\u5176\u4ED6\u5BA2\u6237\u7AEF\u540C\u6B65\u7684\u6570\u636E\uFF0C\u7B2C\u4E00\u6B21\u540C\u6B65\u5C06\u76F4\u63A5\u8986\u76D6\u672C\u5730\u914D\u7F6E\uFF0C\u540E\u9762\u5219\u6839\u636E\u4FEE\u6539\u65F6\u95F4\uFF0C\u65B0\u7684\u8986\u76D6\u65E7\u7684\u3002",en:"If the server has data synchronized by other clients, the first synchronization will directly overwrite the local configuration, and later, according to the modification time, the new one will overwrite the old one."},about_sync_api:{zh:"\u67E5\u770B\u5173\u4E8E\u6570\u636E\u540C\u6B65\u63A5\u53E3\u90E8\u7F72",en:"View About Data Synchronization Interface Deployment"},style_none:{zh:"\u65E0",en:"None"},under_line:{zh:"\u4E0B\u5212\u76F4\u7EBF",en:"Underline"},dot_line:{zh:"\u4E0B\u5212\u70B9\u72B6\u7EBF",en:"Dotted Underline"},dash_line:{zh:"\u4E0B\u5212\u865A\u7EBF",en:"Dashed Underline"},wavy_line:{zh:"\u4E0B\u5212\u6CE2\u6D6A\u7EBF",en:"Wavy Underline"},fuzzy:{zh:"\u6A21\u7CCA",en:"Fuzzy"},highlight:{zh:"\u9AD8\u4EAE",en:"Highlight"},setting:{zh:"\u8BBE\u7F6E",en:"Setting"},pattern:{zh:"\u5339\u914D\u7F51\u5740",en:"URL pattern"},pattern_helper:{zh:"1\u3001\u652F\u6301\u661F\u53F7(*)\u901A\u914D\u7B26\u30022\u3001\u591A\u4E2AURL\u652F\u6301\u82F1\u6587\u9017\u53F7\u201C,\u201D\u5206\u9694\u3002",en:"1. The asterisk (*) wildcard is supported. 2. Multiple URLs can be separated by English commas \",\"."},selector_helper:{zh:"1\u3001\u9075\u5FAACSS\u9009\u62E9\u5668\u89C4\u5219\u30022\u3001\u7559\u7A7A\u8868\u793A\u91C7\u7528\u5168\u5C40\u8BBE\u7F6E\u30023\u3001\u591A\u4E2ACSS\u9009\u62E9\u5668\u4E4B\u95F4\u7528\u201C;\u201D\u9694\u5F00\u30024\u3001\u201Cshadow root\u201D\u9009\u62E9\u5668\u548C\u5185\u90E8\u9009\u62E9\u5668\u7528\u201C>>>\u201D\u9694\u5F00\u3002",en:"1. Follow the CSS selector rules. 2. Leave blank to adopt the global setting. 3. Separate multiple CSS selectors with \";\". 4. The \"shadow root\" selector and the internal selector are separated by \">>>\"."},translate_switch:{zh:"\u5F00\u542F\u7FFB\u8BD1",en:"Translate Switch"},default_enabled:{zh:"\u9ED8\u8BA4\u5F00\u542F",en:"Enabled"},default_disabled:{zh:"\u9ED8\u8BA4\u5173\u95ED",en:"Disabled"},selector:{zh:"\u9009\u62E9\u5668",en:"Selector"},import:{zh:"\u5BFC\u5165",en:"Import"},export:{zh:"\u5BFC\u51FA",en:"Export"},error_cant_be_blank:{zh:"\u4E0D\u80FD\u4E3A\u7A7A",en:"Can not be blank"},error_duplicate_values:{zh:"\u5B58\u5728\u91CD\u590D\u7684\u503C",en:"There are duplicate values"},error_wrong_file_type:{zh:"\u9519\u8BEF\u7684\u6587\u4EF6\u7C7B\u578B",en:"Wrong file type"},error_fetch_url:{zh:"\u8BF7\u68C0\u67E5url\u5730\u5740\u662F\u5426\u6B63\u786E\u6216\u7A0D\u540E\u518D\u8BD5\u3002",en:"Please check if the url address is correct or try again later."},openai_api:{zh:"OpenAI \u63A5\u53E3",en:"OpenAI API"},openai_key:{zh:"OpenAI \u5BC6\u94A5",en:"OpenAI Key"},openai_model:{zh:"OpenAI \u6A21\u578B",en:"OpenAI Model"},openai_prompt:{zh:"OpenAI \u63D0\u793A\u8BCD",en:"OpenAI Prompt"},clear_cache:{zh:"\u662F\u5426\u6E05\u9664\u7F13\u5B58",en:"Whether clear cache"},clear_cache_never:{zh:"\u4E0D\u6E05\u9664\u7F13\u5B58",en:"Never clear cache"},clear_cache_restart:{zh:"\u91CD\u542F\u6D4F\u89C8\u5668\u65F6\u6E05\u9664\u7F13\u5B58",en:"Clear cache when restarting browser"},data_sync_url:{zh:"\u6570\u636E\u540C\u6B65\u63A5\u53E3",en:"Data Sync API"},data_sync_key:{zh:"\u6570\u636E\u540C\u6B65\u5BC6\u94A5",en:"Data Sync Key"},data_sync_test:{zh:"\u6570\u636E\u540C\u6B65\u6D4B\u8BD5",en:"Data Sync Test"},data_sync_success:{zh:"\u6570\u636E\u540C\u6B65\u6210\u529F\uFF01",en:"Data Sync Success"},data_sync_error:{zh:"\u6570\u636E\u540C\u6B65\u5931\u8D25\uFF01",en:"Data Sync Error"},error_got_some_wrong:{zh:"\u62B1\u6B49\uFF0C\u51FA\u9519\u4E86\uFF01",en:"Sorry, something went wrong!"},error_sync_setting:{zh:"\u60A8\u7684\u540C\u6B65\u8BBE\u7F6E\u672A\u586B\u5199\uFF0C\u65E0\u6CD5\u5728\u7EBF\u5206\u4EAB\u3002",en:"Your sync settings are missing and cannot be shared online."}}; ;// CONCATENATED MODULE: ./src/config/index.js -var _OPT_LANGS_SPECIAL;var APP_NAME="KISS Translator".trim().split(/\s+/).join("-");var APP_LCNAME=APP_NAME.toLowerCase();var STOKEY_MSAUTH="".concat(APP_NAME,"_msauth");var config_STOKEY_SETTING="".concat(APP_NAME,"_setting");var config_STOKEY_RULES="".concat(APP_NAME,"_rules");var config_STOKEY_SYNC="".concat(APP_NAME,"_sync");var STOKEY_FAB="".concat(APP_NAME,"_fab");var STOKEY_RULESCACHE_PREFIX="".concat(APP_NAME,"_rulescache_");var CMD_TOGGLE_TRANSLATE="toggleTranslate";var CMD_TOGGLE_STYLE="toggleStyle";var CLIENT_WEB="web";var CLIENT_CHROME="chrome";var CLIENT_EDGE="edge";var CLIENT_FIREFOX="firefox";var CLIENT_USERSCRIPT="userscript";var CLIENT_EXTS=[CLIENT_CHROME,CLIENT_EDGE,CLIENT_FIREFOX];var config_KV_RULES_KEY="KT_RULES";var config_KV_RULES_SHARE_KEY="KT_RULES_SHARE";var config_KV_SETTING_KEY="KT_SETTING";var config_KV_SALT_SYNC="KISS-Translator-SYNC";var config_KV_SALT_SHARE="KISS-Translator-SHARE";var CACHE_NAME="".concat(APP_NAME,"_cache");var MSG_FETCH="fetch";var MSG_FETCH_LIMIT="fetch_limit";var MSG_FETCH_CLEAR="fetch_clear";var MSG_TRANS_TOGGLE="trans_toggle";var MSG_TRANS_TOGGLE_STYLE="trans_toggle_style";var MSG_TRANS_GETRULE="trans_getrule";var MSG_TRANS_PUTRULE="trans_putrule";var MSG_TRANS_CURRULE="trans_currule";var EVENT_KISS="kissEvent";var THEME_LIGHT="light";var THEME_DARK="dark";var URL_KISS_WORKER="https://github.com/fishjar/kiss-worker";var config_URL_RAW_PREFIX="https://raw.githubusercontent.com/fishjar/kiss-translator/master";var URL_MICROSOFT_AUTH="https://edge.microsoft.com/translate/auth";var URL_MICROSOFT_TRANS="https://api-edge.cognitive.microsofttranslator.com/translate";var OPT_TRANS_GOOGLE="Google";var OPT_TRANS_MICROSOFT="Microsoft";var OPT_TRANS_OPENAI="OpenAI";var OPT_TRANS_ALL=[OPT_TRANS_GOOGLE,OPT_TRANS_MICROSOFT,OPT_TRANS_OPENAI];var OPT_LANGS_TO=[["en","English - English"],["zh-CN","Simplified Chinese - 简体中文"],["zh-TW","Traditional Chinese - 繁體中文"],["ar","Arabic - العربية"],["bg","Bulgarian - Български"],["ca","Catalan - Català"],["hr","Croatian - Hrvatski"],["cs","Czech - Čeština"],["da","Danish - Dansk"],["nl","Dutch - Nederlands"],["fi","Finnish - Suomi"],["fr","French - Français"],["de","German - Deutsch"],["el","Greek - Ελληνικά"],["hi","Hindi - हिन्दी"],["hu","Hungarian - Magyar"],["id","Indonesian - Indonesia"],["it","Italian - Italiano"],["ja","Japanese - 日本語"],["ko","Korean - 한국어"],["ms","Malay - Melayu"],["mt","Maltese - Malti"],["nb","Norwegian - Norsk Bokmål"],["pl","Polish - Polski"],["pt","Portuguese - Português"],["ro","Romanian - Română"],["ru","Russian - Русский"],["sk","Slovak - Slovenčina"],["sl","Slovenian - Slovenščina"],["es","Spanish - Español"],["sv","Swedish - Svenska"],["ta","Tamil - தமிழ்"],["te","Telugu - తెలుగు"],["th","Thai - ไทย"],["tr","Turkish - Türkçe"],["uk","Ukrainian - Українська"],["vi","Vietnamese - Tiếng Việt"]];var OPT_LANGS_FROM=[["auto","Auto-detect"]].concat(OPT_LANGS_TO);var OPT_LANGS_SPECIAL=(_OPT_LANGS_SPECIAL={},(0,defineProperty/* default */.Z)(_OPT_LANGS_SPECIAL,OPT_TRANS_MICROSOFT,new Map([["auto",""],["zh-CN","zh-Hans"],["zh-TW","zh-Hant"]])),(0,defineProperty/* default */.Z)(_OPT_LANGS_SPECIAL,OPT_TRANS_OPENAI,new Map(OPT_LANGS_FROM.map(function(_ref){var _ref2=(0,slicedToArray/* default */.Z)(_ref,2),key=_ref2[0],val=_ref2[1];return[key,val.split(" - ")[0]];}))),_OPT_LANGS_SPECIAL);var OPT_STYLE_NONE="style_none";// 无 +var _OPT_LANGS_SPECIAL;var STOKEY_MSAUTH="".concat(APP_NAME,"_msauth");var config_STOKEY_SETTING="".concat(APP_NAME,"_setting");var config_STOKEY_RULES="".concat(APP_NAME,"_rules");var config_STOKEY_SYNC="".concat(APP_NAME,"_sync");var STOKEY_FAB="".concat(APP_NAME,"_fab");var config_STOKEY_RULESCACHE_PREFIX="".concat(APP_NAME,"_rulescache_");var CMD_TOGGLE_TRANSLATE="toggleTranslate";var CMD_TOGGLE_STYLE="toggleStyle";var CLIENT_WEB="web";var CLIENT_CHROME="chrome";var CLIENT_EDGE="edge";var CLIENT_FIREFOX="firefox";var CLIENT_USERSCRIPT="userscript";var CLIENT_EXTS=[CLIENT_CHROME,CLIENT_EDGE,CLIENT_FIREFOX];var config_KV_RULES_KEY="KT_RULES";var config_KV_RULES_SHARE_KEY="KT_RULES_SHARE";var KV_SETTING_KEY="KT_SETTING";var KV_SALT_SYNC="KISS-Translator-SYNC";var config_KV_SALT_SHARE="KISS-Translator-SHARE";var config_CACHE_NAME="".concat(APP_NAME,"_cache");var MSG_FETCH="fetch";var MSG_FETCH_LIMIT="fetch_limit";var MSG_FETCH_CLEAR="fetch_clear";var MSG_TRANS_TOGGLE="trans_toggle";var MSG_TRANS_TOGGLE_STYLE="trans_toggle_style";var MSG_TRANS_GETRULE="trans_getrule";var MSG_TRANS_PUTRULE="trans_putrule";var MSG_TRANS_CURRULE="trans_currule";var EVENT_KISS="kissEvent";var THEME_LIGHT="light";var THEME_DARK="dark";var URL_KISS_WORKER="https://github.com/fishjar/kiss-worker";var config_URL_RAW_PREFIX="https://raw.githubusercontent.com/fishjar/kiss-translator/master";var URL_MICROSOFT_AUTH="https://edge.microsoft.com/translate/auth";var URL_MICROSOFT_TRANS="https://api-edge.cognitive.microsofttranslator.com/translate";var OPT_TRANS_GOOGLE="Google";var OPT_TRANS_MICROSOFT="Microsoft";var OPT_TRANS_OPENAI="OpenAI";var OPT_TRANS_ALL=[OPT_TRANS_GOOGLE,OPT_TRANS_MICROSOFT,OPT_TRANS_OPENAI];var OPT_LANGS_TO=[["en","English - English"],["zh-CN","Simplified Chinese - 简体中文"],["zh-TW","Traditional Chinese - 繁體中文"],["ar","Arabic - العربية"],["bg","Bulgarian - Български"],["ca","Catalan - Català"],["hr","Croatian - Hrvatski"],["cs","Czech - Čeština"],["da","Danish - Dansk"],["nl","Dutch - Nederlands"],["fi","Finnish - Suomi"],["fr","French - Français"],["de","German - Deutsch"],["el","Greek - Ελληνικά"],["hi","Hindi - हिन्दी"],["hu","Hungarian - Magyar"],["id","Indonesian - Indonesia"],["it","Italian - Italiano"],["ja","Japanese - 日本語"],["ko","Korean - 한국어"],["ms","Malay - Melayu"],["mt","Maltese - Malti"],["nb","Norwegian - Norsk Bokmål"],["pl","Polish - Polski"],["pt","Portuguese - Português"],["ro","Romanian - Română"],["ru","Russian - Русский"],["sk","Slovak - Slovenčina"],["sl","Slovenian - Slovenščina"],["es","Spanish - Español"],["sv","Swedish - Svenska"],["ta","Tamil - தமிழ்"],["te","Telugu - తెలుగు"],["th","Thai - ไทย"],["tr","Turkish - Türkçe"],["uk","Ukrainian - Українська"],["vi","Vietnamese - Tiếng Việt"]];var OPT_LANGS_FROM=[["auto","Auto-detect"]].concat(OPT_LANGS_TO);var OPT_LANGS_SPECIAL=(_OPT_LANGS_SPECIAL={},(0,defineProperty/* default */.Z)(_OPT_LANGS_SPECIAL,OPT_TRANS_MICROSOFT,new Map([["auto",""],["zh-CN","zh-Hans"],["zh-TW","zh-Hant"]])),(0,defineProperty/* default */.Z)(_OPT_LANGS_SPECIAL,OPT_TRANS_OPENAI,new Map(OPT_LANGS_FROM.map(function(_ref){var _ref2=(0,slicedToArray/* default */.Z)(_ref,2),key=_ref2[0],val=_ref2[1];return[key,val.split(" - ")[0]];}))),_OPT_LANGS_SPECIAL);var OPT_STYLE_NONE="style_none";// 无 var OPT_STYLE_LINE="under_line";// 下划线 var OPT_STYLE_DOTLINE="dot_line";// 点状线 var OPT_STYLE_DASHLINE="dash_line";// 虚线 @@ -19521,9 +19523,9 @@ var PROMPT_PLACE_TO="{{to}}";// 占位符 var DEFAULT_COLOR="#209CEE";// 默认高亮背景色/线条颜色 // 全局规则 var GLOBLA_RULE={pattern:"*",selector:DEFAULT_SELECTOR,translator:OPT_TRANS_MICROSOFT,fromLang:"auto",toLang:"zh-CN",textStyle:OPT_STYLE_DASHLINE,transOpen:"false",bgColor:""};// 订阅列表 -var DEFAULT_SUBRULES_LIST=[{url:"https://fishjar.github.io/kiss-translator/kiss-translator-rules.json",selected:true},{url:"https://fishjar.github.io/kiss-translator/kiss-translator-rules.json"}];var TRANS_MIN_LENGTH=5;// 最短翻译长度 +var DEFAULT_SUBRULES_LIST=[{url:"https://fishjar.github.io/kiss-translator/kiss-translator-rules.json",selected:true},{url:"https://kiss-translator.rayjar.com/kiss-translator-rules.json",selected:false}];var TRANS_MIN_LENGTH=5;// 最短翻译长度 var TRANS_MAX_LENGTH=5000;// 最长翻译长度 -var DEFAULT_SETTING={darkMode:false,// 深色模式 +var config_DEFAULT_SETTING={darkMode:false,// 深色模式 uiLang:"en",// 界面语言 fetchLimit:DEFAULT_FETCH_LIMIT,// 最大任务数量 fetchInterval:DEFAULT_FETCH_INTERVAL,// 任务间隔时间 @@ -19531,23 +19533,45 @@ minLength:TRANS_MIN_LENGTH,maxLength:TRANS_MAX_LENGTH,clearCache:false,// 是否 injectRules:true,// 是否注入订阅规则 subrulesList:DEFAULT_SUBRULES_LIST,// 订阅列表 googleUrl:"https://translate.googleapis.com/translate_a/single",// 谷歌翻译接口 -openaiUrl:"https://api.openai.com/v1/chat/completions",openaiKey:"",openaiModel:"gpt-4",openaiPrompt:"You will be provided with a sentence in ".concat(PROMPT_PLACE_FROM,", and your task is to translate it into ").concat(PROMPT_PLACE_TO,".")};var DEFAULT_RULES=[GLOBLA_RULE];var DEFAULT_SYNC={syncUrl:"",// 数据同步接口 +openaiUrl:"https://api.openai.com/v1/chat/completions",openaiKey:"",openaiModel:"gpt-4",openaiPrompt:"You will be provided with a sentence in ".concat(PROMPT_PLACE_FROM,", and your task is to translate it into ").concat(PROMPT_PLACE_TO,".")};var config_DEFAULT_RULES=[GLOBLA_RULE];var config_DEFAULT_SYNC={syncUrl:"",// 数据同步接口 syncKey:"",// 数据同步密钥 settingUpdateAt:0,settingSyncAt:0,rulesUpdateAt:0,rulesSyncAt:0,subRulesSyncAt:0// 订阅规则同步时间 }; +;// CONCATENATED MODULE: ./src/libs/client.js +var client_client="userscript";var isExt=CLIENT_EXTS.includes(client_client);var isGm=client_client===CLIENT_USERSCRIPT;var isWeb=client_client===CLIENT_WEB; ;// CONCATENATED MODULE: ./src/libs/browser.js +// import { CLIENT_EXTS, CLIENT_USERSCRIPT, CLIENT_WEB } from "../config"; /** * 浏览器兼容插件,另可用于判断是插件模式还是网页模式,方便开发 * @returns */function _browser(){try{return __webpack_require__(930);}catch(err){// console.log("[browser]", err.message); -}}var browser=_browser();var browser_client="userscript";var isExt=CLIENT_EXTS.includes(browser_client);var isGm=browser_client===CLIENT_USERSCRIPT;var isWeb=browser_client===CLIENT_WEB; +}}var browser=_browser(); ;// CONCATENATED MODULE: ./src/libs/storage.js -function set(_x,_x2){return _set.apply(this,arguments);}function _set(){_set=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(key,val){var oldValue,_oldValue;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:if(!isExt){_context.next=5;break;}_context.next=3;return browser.storage.local.set((0,defineProperty/* default */.Z)({},key,val));case 3:_context.next=17;break;case 5:if(!isGm){_context.next=14;break;}_context.next=8;return(window.KISS_GM||GM).getValue(key);case 8:oldValue=_context.sent;_context.next=11;return(window.KISS_GM||GM).setValue(key,val);case 11:window.dispatchEvent(new StorageEvent("storage",{key:key,oldValue:oldValue,newValue:val}));_context.next=17;break;case 14:_oldValue=window.localStorage.getItem(key);window.localStorage.setItem(key,val);window.dispatchEvent(new StorageEvent("storage",{key:key,oldValue:_oldValue,newValue:val}));case 17:case"end":return _context.stop();}},_callee);}));return _set.apply(this,arguments);}function get(_x3){return _get.apply(this,arguments);}function _get(){_get=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(key){var val,_val;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(!isExt){_context2.next=7;break;}_context2.next=3;return browser.storage.local.get([key]);case 3:val=_context2.sent;return _context2.abrupt("return",val[key]);case 7:if(!isGm){_context2.next=12;break;}_context2.next=10;return(window.KISS_GM||GM).getValue(key);case 10:_val=_context2.sent;return _context2.abrupt("return",_val);case 12:return _context2.abrupt("return",window.localStorage.getItem(key));case 13:case"end":return _context2.stop();}},_callee2);}));return _get.apply(this,arguments);}function del(_x4){return _del.apply(this,arguments);}function _del(){_del=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(key){var oldValue,_oldValue2;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:if(!isExt){_context3.next=5;break;}_context3.next=3;return browser.storage.local.remove([key]);case 3:_context3.next=17;break;case 5:if(!isGm){_context3.next=14;break;}_context3.next=8;return(window.KISS_GM||GM).getValue(key);case 8:oldValue=_context3.sent;_context3.next=11;return(window.KISS_GM||GM).deleteValue(key);case 11:window.dispatchEvent(new StorageEvent("storage",{key:key,oldValue:oldValue,newValue:null}));_context3.next=17;break;case 14:_oldValue2=window.localStorage.getItem(key);window.localStorage.removeItem(key);window.dispatchEvent(new StorageEvent("storage",{key:key,oldValue:_oldValue2,newValue:null}));case 17:case"end":return _context3.stop();}},_callee3);}));return _del.apply(this,arguments);}function setObj(_x5,_x6){return _setObj.apply(this,arguments);}function _setObj(){_setObj=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(key,obj){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return set(key,JSON.stringify(obj));case 2:case"end":return _context4.stop();}},_callee4);}));return _setObj.apply(this,arguments);}function trySetObj(_x7,_x8){return _trySetObj.apply(this,arguments);}function _trySetObj(){_trySetObj=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee5(key,obj){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_context5.next=2;return get(key);case 2:if(_context5.sent){_context5.next=5;break;}_context5.next=5;return setObj(key,obj);case 5:case"end":return _context5.stop();}},_callee5);}));return _trySetObj.apply(this,arguments);}function getObj(_x9){return _getObj.apply(this,arguments);}function _getObj(){_getObj=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee6(key){var val;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:_context6.next=2;return get(key);case 2:val=_context6.sent;return _context6.abrupt("return",val&&JSON.parse(val));case 4:case"end":return _context6.stop();}},_callee6);}));return _getObj.apply(this,arguments);}function putObj(_x10,_x11){return _putObj.apply(this,arguments);}/** - * 监听storage事件 - * @param {*} handleChanged - */function _putObj(){_putObj=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee7(key,obj){var _yield$getObj;var cur;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:_context7.next=2;return getObj(key);case 2:_context7.t1=_yield$getObj=_context7.sent;_context7.t0=_context7.t1!==null;if(!_context7.t0){_context7.next=6;break;}_context7.t0=_yield$getObj!==void 0;case 6:if(!_context7.t0){_context7.next=10;break;}_context7.t2=_yield$getObj;_context7.next=11;break;case 10:_context7.t2={};case 11:cur=_context7.t2;_context7.next=14;return setObj(key,_objectSpread2(_objectSpread2({},cur),obj));case 14:case"end":return _context7.stop();}},_callee7);}));return _putObj.apply(this,arguments);}function onChanged(handleChanged){if(isExt){browser.storage.onChanged.addListener(handleChanged);}else{window.addEventListener("storage",handleChanged);}}/** +function set(_x,_x2){return _set.apply(this,arguments);}function _set(){_set=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee7(key,val){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:if(!isExt){_context7.next=5;break;}_context7.next=3;return browser.storage.local.set((0,defineProperty/* default */.Z)({},key,val));case 3:_context7.next=11;break;case 5:if(!isGm){_context7.next=10;break;}_context7.next=8;return(window.KISS_GM||GM).setValue(key,val);case 8:_context7.next=11;break;case 10:window.localStorage.setItem(key,val);case 11:case"end":return _context7.stop();}},_callee7);}));return _set.apply(this,arguments);}function get(_x3){return _get.apply(this,arguments);}function _get(){_get=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee8(key){var val,_val;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee8$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:if(!isExt){_context8.next=7;break;}_context8.next=3;return browser.storage.local.get([key]);case 3:val=_context8.sent;return _context8.abrupt("return",val[key]);case 7:if(!isGm){_context8.next=12;break;}_context8.next=10;return(window.KISS_GM||GM).getValue(key);case 10:_val=_context8.sent;return _context8.abrupt("return",_val);case 12:return _context8.abrupt("return",window.localStorage.getItem(key));case 13:case"end":return _context8.stop();}},_callee8);}));return _get.apply(this,arguments);}function del(_x4){return _del.apply(this,arguments);}function _del(){_del=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee9(key){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee9$(_context9){while(1)switch(_context9.prev=_context9.next){case 0:if(!isExt){_context9.next=5;break;}_context9.next=3;return browser.storage.local.remove([key]);case 3:_context9.next=11;break;case 5:if(!isGm){_context9.next=10;break;}_context9.next=8;return(window.KISS_GM||GM).deleteValue(key);case 8:_context9.next=11;break;case 10:window.localStorage.removeItem(key);case 11:case"end":return _context9.stop();}},_callee9);}));return _del.apply(this,arguments);}function setObj(_x5,_x6){return _setObj.apply(this,arguments);}function _setObj(){_setObj=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee10(key,obj){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee10$(_context10){while(1)switch(_context10.prev=_context10.next){case 0:_context10.next=2;return set(key,JSON.stringify(obj));case 2:case"end":return _context10.stop();}},_callee10);}));return _setObj.apply(this,arguments);}function trySetObj(_x7,_x8){return _trySetObj.apply(this,arguments);}function _trySetObj(){_trySetObj=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee11(key,obj){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee11$(_context11){while(1)switch(_context11.prev=_context11.next){case 0:_context11.next=2;return get(key);case 2:if(_context11.sent){_context11.next=5;break;}_context11.next=5;return setObj(key,obj);case 5:case"end":return _context11.stop();}},_callee11);}));return _trySetObj.apply(this,arguments);}function getObj(_x9){return _getObj.apply(this,arguments);}function _getObj(){_getObj=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee12(key){var val;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee12$(_context12){while(1)switch(_context12.prev=_context12.next){case 0:_context12.next=2;return get(key);case 2:val=_context12.sent;return _context12.abrupt("return",val&&JSON.parse(val));case 4:case"end":return _context12.stop();}},_callee12);}));return _getObj.apply(this,arguments);}function putObj(_x10,_x11){return _putObj.apply(this,arguments);}/** * 对storage的封装 - */var storage_storage={get:get,set:set,del:del,setObj:setObj,trySetObj:trySetObj,getObj:getObj,putObj:putObj,onChanged:onChanged};/* harmony default export */ var libs_storage = (storage_storage); + */function _putObj(){_putObj=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee13(key,obj){var _yield$getObj;var cur;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee13$(_context13){while(1)switch(_context13.prev=_context13.next){case 0:_context13.next=2;return getObj(key);case 2:_context13.t1=_yield$getObj=_context13.sent;_context13.t0=_context13.t1!==null;if(!_context13.t0){_context13.next=6;break;}_context13.t0=_yield$getObj!==void 0;case 6:if(!_context13.t0){_context13.next=10;break;}_context13.t2=_yield$getObj;_context13.next=11;break;case 10:_context13.t2={};case 11:cur=_context13.t2;_context13.next=14;return setObj(key,_objectSpread2(_objectSpread2({},cur),obj));case 14:case"end":return _context13.stop();}},_callee13);}));return _putObj.apply(this,arguments);}var storage={get:get,set:set,del:del,setObj:setObj,trySetObj:trySetObj,getObj:getObj,putObj:putObj// onChanged, +};/** + * 设置信息 + */var getSetting=function getSetting(){return getObj(config_STOKEY_SETTING);};var getSettingWithDefault=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.t0=_objectSpread2;_context.t1=_objectSpread2({},config_DEFAULT_SETTING);_context.next=4;return getSetting();case 4:_context.t2=_context.sent;if(_context.t2){_context.next=7;break;}_context.t2={};case 7:_context.t3=_context.t2;return _context.abrupt("return",(0,_context.t0)(_context.t1,_context.t3));case 9:case"end":return _context.stop();}},_callee);}));return function getSettingWithDefault(){return _ref.apply(this,arguments);};}();var setSetting=function setSetting(val){return setObj(config_STOKEY_SETTING,val);};var updateSetting=function updateSetting(obj){return putObj(STOKEY_SETTING,obj);};/** + * 规则列表 + */var getRules=function getRules(){return getObj(config_STOKEY_RULES);};var storage_getRulesWithDefault=/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=2;return getRules();case 2:_context2.t0=_context2.sent;if(_context2.t0){_context2.next=5;break;}_context2.t0=config_DEFAULT_RULES;case 5:return _context2.abrupt("return",_context2.t0);case 6:case"end":return _context2.stop();}},_callee2);}));return function getRulesWithDefault(){return _ref2.apply(this,arguments);};}();var storage_setRules=function setRules(val){return setObj(STOKEY_RULES,val);};/** + * 订阅规则 + */var getSubRules=function getSubRules(url){return getObj(config_STOKEY_RULESCACHE_PREFIX+url);};var getSubRulesWithDefault=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref3=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(){return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=2;return getSubRules();case 2:_context3.t0=_context3.sent;if(_context3.t0){_context3.next=5;break;}_context3.t0=[];case 5:return _context3.abrupt("return",_context3.t0);case 6:case"end":return _context3.stop();}},_callee3);}));return function getSubRulesWithDefault(){return _ref3.apply(this,arguments);};}()));var delSubRules=function delSubRules(url){return del(STOKEY_RULESCACHE_PREFIX+url);};var setSubRules=function setSubRules(url,val){return setObj(config_STOKEY_RULESCACHE_PREFIX+url,val);};/** + * fab位置 + */var getFab=function getFab(){return getObj(STOKEY_FAB);};var getFabWithDefault=/*#__PURE__*/function(){var _ref4=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return getFab();case 2:_context4.t0=_context4.sent;if(_context4.t0){_context4.next=5;break;}_context4.t0={};case 5:return _context4.abrupt("return",_context4.t0);case 6:case"end":return _context4.stop();}},_callee4);}));return function getFabWithDefault(){return _ref4.apply(this,arguments);};}();var setFab=function setFab(obj){return setObj(STOKEY_FAB,obj);};/** + * 数据同步 + */var getSync=function getSync(){return getObj(config_STOKEY_SYNC);};var storage_getSyncWithDefault=/*#__PURE__*/function(){var _ref5=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee5(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_context5.next=2;return getSync();case 2:_context5.t0=_context5.sent;if(_context5.t0){_context5.next=5;break;}_context5.t0=config_DEFAULT_SYNC;case 5:return _context5.abrupt("return",_context5.t0);case 6:case"end":return _context5.stop();}},_callee5);}));return function getSyncWithDefault(){return _ref5.apply(this,arguments);};}();var storage_updateSync=function updateSync(obj){return putObj(config_STOKEY_SYNC,obj);};/** + * ms auth + */var getMsauth=function getMsauth(){return getObj(STOKEY_MSAUTH);};var setMsauth=function setMsauth(val){return setObj(STOKEY_MSAUTH,val);};/** + * 存入默认数据 + */var tryInitDefaultData=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref6=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(){return _regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:_context6.prev=0;_context6.next=3;return trySetObj(STOKEY_SETTING,DEFAULT_SETTING);case 3:_context6.next=5;return trySetObj(STOKEY_RULES,DEFAULT_RULES);case 5:_context6.next=7;return trySetObj(STOKEY_SYNC,DEFAULT_SYNC);case 7:_context6.next=9;return trySetObj("".concat(STOKEY_RULESCACHE_PREFIX).concat("https://fishjar.github.io/kiss-translator/kiss-translator-rules.json"),BUILTIN_RULES);case 9:_context6.next=14;break;case 11:_context6.prev=11;_context6.t0=_context6["catch"](0);console.log("[init default]",_context6.t0);case 14:case"end":return _context6.stop();}},_callee6,null,[[0,11]]);}));return function tryInitDefaultData(){return _ref6.apply(this,arguments);};}())); +;// CONCATENATED MODULE: ./src/hooks/Storage.js +function useStorage(key){var defaultVal=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var _useState=(0,react.useState)(defaultVal),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),data=_useState2[0],setData=_useState2[1];var save=(0,react.useCallback)(/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(val){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:setData(val);_context.next=3;return storage.setObj(key,val);case 3:case"end":return _context.stop();}},_callee);}));return function(_x){return _ref.apply(this,arguments);};}(),[key]);var update=(0,react.useCallback)(/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(obj){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:setData(function(pre){return _objectSpread2(_objectSpread2({},pre),obj);});_context2.next=3;return storage.putObj(key,obj);case 3:case"end":return _context2.stop();}},_callee2);}));return function(_x2){return _ref2.apply(this,arguments);};}(),[key]);var remove=(0,react.useCallback)(/*#__PURE__*/asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:setData(null);_context3.next=3;return storage.del(key);case 3:case"end":return _context3.stop();}},_callee3);})),[key]);(0,react.useEffect)(function(){asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(){var val;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return storage.getObj(key);case 2:val=_context4.sent;if(!val){_context4.next=7;break;}setData(val);_context4.next=10;break;case 7:if(!defaultVal){_context4.next=10;break;}_context4.next=10;return storage.setObj(key,defaultVal);case 10:case"end":return _context4.stop();}},_callee4);}))();},[key,defaultVal]);return{data:data,save:save,update:update,remove:remove};} +;// CONCATENATED MODULE: ./src/hooks/Sync.js +/** + * sync hook + * @returns + */function useSync(){var _useStorage=useStorage(config_STOKEY_SYNC,config_DEFAULT_SYNC),data=_useStorage.data,update=_useStorage.update;return{sync:data,updateSync:update};} // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js var unsupportedIterableToArray = __webpack_require__(181); ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js @@ -19603,185 +19627,6 @@ function _createForOfIteratorHelper(o, allowArrayLike) { } }; } -;// CONCATENATED MODULE: ./src/hooks/Storage.js -var _defaultStorage;/** - * 默认配置 - */var defaultStorage=(_defaultStorage={},(0,defineProperty/* default */.Z)(_defaultStorage,config_STOKEY_SETTING,DEFAULT_SETTING),(0,defineProperty/* default */.Z)(_defaultStorage,config_STOKEY_RULES,DEFAULT_RULES),(0,defineProperty/* default */.Z)(_defaultStorage,config_STOKEY_SYNC,DEFAULT_SYNC),_defaultStorage);var activeKeys=Object.keys(defaultStorage);var StoragesContext=/*#__PURE__*/(0,react.createContext)(null);function StoragesProvider(_ref){var children=_ref.children;var _useState=(0,react.useState)(null),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),storages=_useState2[0],setStorages=_useState2[1];var handleChanged=function handleChanged(changes){if(isWeb||isGm){var _changes=changes,key=_changes.key,oldValue=_changes.oldValue,newValue=_changes.newValue;changes=(0,defineProperty/* default */.Z)({},key,{oldValue:oldValue,newValue:newValue});}var newStorages={};Object.entries(changes).filter(function(_ref2){var _ref3=(0,slicedToArray/* default */.Z)(_ref2,2),key=_ref3[0],_ref3$=_ref3[1],oldValue=_ref3$.oldValue,newValue=_ref3$.newValue;return activeKeys.includes(key)&&oldValue!==newValue;}).forEach(function(_ref4){var _ref5=(0,slicedToArray/* default */.Z)(_ref4,2),key=_ref5[0],newValue=_ref5[1].newValue;newStorages[key]=JSON.parse(newValue);});if(Object.keys(newStorages).length!==0){setStorages(function(pre){return _objectSpread2(_objectSpread2({},pre),newStorages);});}};(0,react.useEffect)(function(){// 首次从storage同步配置到内存 -asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){var curStorages,_iterator,_step,key,val;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:curStorages={};_iterator=_createForOfIteratorHelper(activeKeys);_context.prev=2;_iterator.s();case 4:if((_step=_iterator.n()).done){_context.next=18;break;}key=_step.value;_context.next=8;return libs_storage.get(key);case 8:val=_context.sent;if(!val){_context.next=13;break;}curStorages[key]=JSON.parse(val);_context.next=16;break;case 13:_context.next=15;return libs_storage.setObj(key,defaultStorage[key]);case 15:curStorages[key]=defaultStorage[key];case 16:_context.next=4;break;case 18:_context.next=23;break;case 20:_context.prev=20;_context.t0=_context["catch"](2);_iterator.e(_context.t0);case 23:_context.prev=23;_iterator.f();return _context.finish(23);case 26:setStorages(curStorages);case 27:case"end":return _context.stop();}},_callee,null,[[2,20,23,26]]);}))();// 监听storage,并同步到内存中 -libs_storage.onChanged(handleChanged);// 解除监听 -return function(){if(isExt){browser.storage.onChanged.removeListener(handleChanged);}else{window.removeEventListener("storage",handleChanged);}};},[]);return/*#__PURE__*/(0,jsx_runtime.jsx)(StoragesContext.Provider,{value:storages,children:children});}function Storage_useStorages(){return (0,react.useContext)(StoragesContext);} -;// CONCATENATED MODULE: ./src/hooks/Sync.js -/** - * sync hook - * @returns - */function Sync_useSync(){var storages=useStorages();var opt=storages===null||storages===void 0?void 0:storages[STOKEY_SYNC];var update=useCallback(/*#__PURE__*/function(){var _ref=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(obj){return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return storage.putObj(STOKEY_SYNC,obj);case 2:case"end":return _context.stop();}},_callee);}));return function(_x){return _ref.apply(this,arguments);};}(),[]);return{opt:opt,update:update};} -;// CONCATENATED MODULE: ./src/libs/utils.js -/** - * 限制数字大小 - * @param {*} num - * @param {*} min - * @param {*} max - * @returns - */var limitNumber=function limitNumber(num){var min=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var max=arguments.length>2&&arguments[2]!==undefined?arguments[2]:100;var number=parseInt(num);if(Number.isNaN(number)||numbermax){return max;}return number;};/** - * 匹配是否为数组中的值 - * @param {*} arr - * @param {*} val - * @returns - */var matchValue=function matchValue(arr,val){if(arr.length===0||arr.includes(val)){return val;}return arr[0];};/** - * 等待 - * @param {*} delay - * @returns - */var sleep=function sleep(delay){return new Promise(function(resolve){return setTimeout(resolve,delay);});};/** - * 防抖函数 - * @param {*} func - * @param {*} delay - * @returns - */var debounce=function debounce(func){var delay=arguments.length>1&&arguments[1]!==undefined?arguments[1]:200;var timer;return function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}timer&&clearTimeout(timer);timer=setTimeout(function(){func.apply(void 0,args);},delay);};};/** - * 字符串通配符(*)匹配 - * @param {*} s - * @param {*} p - * @returns - */var isMatch=function isMatch(s,p){if(s.length===0||p.length===0){return false;}p="*".concat(p,"*");var sIndex=0,pIndex=0;var sRecord=-1,pRecord=-1;while(sIndex= 0) continue; - if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; - target[key] = source[key]; - } - } - return target; -} -;// CONCATENATED MODULE: ./src/libs/msg.js -/** - * 发送消息给background - * @param {*} action - * @param {*} args - * @returns - */var sendMsg=function sendMsg(action,args){var _browser$runtime;return browser===null||browser===void 0?void 0:(_browser$runtime=browser.runtime)===null||_browser$runtime===void 0?void 0:_browser$runtime.sendMessage({action:action,args:args});};/** - * 发送消息给当前页面 - * @param {*} action - * @param {*} args - * @returns - */var sendTabMsg=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(action,args){var tabs;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return browser===null||browser===void 0?void 0:browser.tabs.query({active:true,currentWindow:true});case 2:tabs=_context.sent;_context.next=5;return browser===null||browser===void 0?void 0:browser.tabs.sendMessage(tabs[0].id,{action:action,args:args});case 5:return _context.abrupt("return",_context.sent);case 6:case"end":return _context.stop();}},_callee);}));return function sendTabMsg(_x,_x2){return _ref.apply(this,arguments);};}(); -;// CONCATENATED MODULE: ./src/libs/pool.js -/** - * 任务池 - * @param {*} fn - * @param {*} preFn - * @param {*} _interval - * @param {*} _limit - * @returns - */var taskPool=function taskPool(fn,preFn){var _interval=arguments.length>2&&arguments[2]!==undefined?arguments[2]:100;var _limit=arguments.length>3&&arguments[3]!==undefined?arguments[3]:100;var pool=[];var maxRetry=2;// 最大重试次数 -var maxCount=_limit;// 最大数量 -var curCount=0;// 当前数量 -var interval=_interval;// 间隔时间 -var timer=null;var handleTask=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(item,preArgs){var args,resolve,reject,retry,res;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:curCount++;args=item.args,resolve=item.resolve,reject=item.reject,retry=item.retry;_context.prev=2;_context.next=5;return fn(_objectSpread2(_objectSpread2({},args),preArgs));case 5:res=_context.sent;resolve(res);_context.next=12;break;case 9:_context.prev=9;_context.t0=_context["catch"](2);if(retry0&&arguments[0]!==undefined?arguments[0]:100;var _limit=arguments.length>1&&arguments[1]!==undefined?arguments[1]:100;if(_interval>=0&&_interval<=5000&&_interval!==interval){interval=_interval;}if(_limit>=1&&_limit<=100&&_limit!==maxCount){maxCount=_limit;}},clear:function clear(){pool.length=0;curCount=0;timer&&clearTimeout(timer);timer=null;}};}; -;// CONCATENATED MODULE: ./src/libs/auth.js -var parseMSToken=function parseMSToken(token){try{return JSON.parse(atob(token.split(".")[1])).exp;}catch(err){console.log("[parseMSToken]",err);}return 0;};/** - * 闭包缓存token,减少对storage查询 - * @returns - */var _msAuth=function _msAuth(){var _ref={},token=_ref.token,exp=_ref.exp;return/*#__PURE__*/asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){var now,res;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:// 查询内存缓存 -now=Date.now();if(!(token&&exp*1000>now+1000)){_context.next=3;break;}return _context.abrupt("return",[token,exp]);case 3:_context.next=5;return libs_storage.getObj(STOKEY_MSAUTH);case 5:_context.t0=_context.sent;if(_context.t0){_context.next=8;break;}_context.t0={};case 8:res=_context.t0;token=res.token;exp=res.exp;if(!(token&&exp*1000>now+1000)){_context.next=13;break;}return _context.abrupt("return",[token,exp]);case 13:_context.next=15;return fetchData(URL_MICROSOFT_AUTH);case 15:token=_context.sent;exp=parseMSToken(token);_context.next=19;return libs_storage.setObj(STOKEY_MSAUTH,{token:token,exp:exp});case 19:return _context.abrupt("return",[token,exp]);case 20:case"end":return _context.stop();}},_callee);}));};var msAuth=_msAuth(); -;// CONCATENATED MODULE: ./src/libs/fetch.js -var fetch_excluded=["useCache","usePool","translator","token"],_excluded2=["isBg"];/** - * 油猴脚本的请求封装 - * @param {*} input - * @param {*} init - * @returns - */var fetchGM=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(input){var _ref2,_ref2$method,method,headers,body,_args=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_ref2=_args.length>1&&_args[1]!==undefined?_args[1]:{},_ref2$method=_ref2.method,method=_ref2$method===void 0?"GET":_ref2$method,headers=_ref2.headers,body=_ref2.body;return _context.abrupt("return",new Promise(function(resolve,reject){GM.xmlHttpRequest({method:method,url:input,headers:headers,data:body,onload:function onload(response){if(response.status===200){var _headers=new Headers();response.responseHeaders.split("\n").forEach(function(line){var _line$split$map=line.split(":").map(function(item){return item.trim();}),_line$split$map2=(0,slicedToArray/* default */.Z)(_line$split$map,2),name=_line$split$map2[0],value=_line$split$map2[1];if(name&&value){_headers.append(name,value);}});resolve(new Response(response.response,{headers:_headers}));}else{reject(new Error("[".concat(response.status,"] ").concat(response.responseText)));}},onerror:reject});}));case 2:case"end":return _context.stop();}},_callee);}));return function fetchGM(_x){return _ref.apply(this,arguments);};}();/** - * 构造缓存 request - * @param {*} request - * @returns - */var newCacheReq=/*#__PURE__*/function(){var _ref3=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(request){var body,cacheUrl;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(!(request.method!=="GET")){_context2.next=7;break;}_context2.next=3;return request.text();case 3:body=_context2.sent;cacheUrl=new URL(request.url);cacheUrl.pathname+=body;request=new Request(cacheUrl.toString(),{method:"GET"});case 7:return _context2.abrupt("return",request);case 8:case"end":return _context2.stop();}},_callee2);}));return function newCacheReq(_x2){return _ref3.apply(this,arguments);};}();/** - * 发起请求 - * @param {*} param0 - * @returns - */var fetchApi=/*#__PURE__*/function(){var _ref5=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(_ref4){var input,_ref4$init,init,translator,token,_info,_info$script,info,connects,url,isSafe;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:input=_ref4.input,_ref4$init=_ref4.init,init=_ref4$init===void 0?{}:_ref4$init,translator=_ref4.translator,token=_ref4.token;if(translator===OPT_TRANS_MICROSOFT){init.headers["Authorization"]="Bearer ".concat(token);}else if(translator===OPT_TRANS_OPENAI){init.headers["Authorization"]="Bearer ".concat(token);// // OpenAI -init.headers["api-key"]=token;// Azure OpenAI -}if(!isGm){_context3.next=19;break;}if(!window.KISS_GM){_context3.next=9;break;}_context3.next=6;return window.KISS_GM.getInfo();case 6:info=_context3.sent;_context3.next=10;break;case 9:info=GM.info;case 10:connects=((_info=info)===null||_info===void 0?void 0:(_info$script=_info.script)===null||_info$script===void 0?void 0:_info$script.connects)||[];url=new URL(input);isSafe=connects.find(function(item){return url.hostname.endsWith(item);});if(!isSafe){_context3.next=19;break;}if(!window.KISS_GM){_context3.next=18;break;}return _context3.abrupt("return",window.KISS_GM.fetch(input,init));case 18:return _context3.abrupt("return",fetchGM(input,init));case 19:return _context3.abrupt("return",fetch(input,init));case 20:case"end":return _context3.stop();}},_callee3);}));return function fetchApi(_x3){return _ref5.apply(this,arguments);};}();/** - * 请求池实例 - */var fetchPool=taskPool(fetchApi,/*#__PURE__*/function(){var _ref7=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(_ref6){var translator,_yield$msAuth,_yield$msAuth2,token;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:translator=_ref6.translator;if(!(translator===OPT_TRANS_MICROSOFT)){_context4.next=8;break;}_context4.next=4;return msAuth();case 4:_yield$msAuth=_context4.sent;_yield$msAuth2=(0,slicedToArray/* default */.Z)(_yield$msAuth,1);token=_yield$msAuth2[0];return _context4.abrupt("return",{token:token});case 8:return _context4.abrupt("return",{});case 9:case"end":return _context4.stop();}},_callee4);}));return function(_x4){return _ref7.apply(this,arguments);};}(),DEFAULT_FETCH_INTERVAL,DEFAULT_FETCH_LIMIT);/** - * 请求数据统一接口 - * @param {*} input - * @param {*} opts - * @returns - */var fetchData=/*#__PURE__*/function(){var _ref8=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee5(input){var _ref9,useCache,usePool,translator,token,init,cacheReq,cache,res,_res,contentType,_args5=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_ref9=_args5.length>1&&_args5[1]!==undefined?_args5[1]:{},useCache=_ref9.useCache,usePool=_ref9.usePool,translator=_ref9.translator,token=_ref9.token,init=_objectWithoutProperties(_ref9,fetch_excluded);_context5.next=3;return newCacheReq(new Request(input,init));case 3:cacheReq=_context5.sent;_context5.next=6;return caches.open(CACHE_NAME);case 6:cache=_context5.sent;if(!useCache){_context5.next=17;break;}_context5.prev=8;_context5.next=11;return cache.match(cacheReq);case 11:res=_context5.sent;_context5.next=17;break;case 14:_context5.prev=14;_context5.t0=_context5["catch"](8);console.log("[cache match]",_context5.t0);case 17:if(res){_context5.next=38;break;}if(!usePool){_context5.next=24;break;}_context5.next=21;return fetchPool.push({input:input,init:init,translator:translator,token:token});case 21:res=_context5.sent;_context5.next=27;break;case 24:_context5.next=26;return fetchApi({input:input,init:init,translator:translator,token:token});case 26:res=_context5.sent;case 27:if((_res=res)!==null&&_res!==void 0&&_res.ok){_context5.next=29;break;}throw new Error("response: ".concat(res.statusText));case 29:if(!useCache){_context5.next=38;break;}_context5.prev=30;_context5.next=33;return cache.put(cacheReq,res.clone());case 33:_context5.next=38;break;case 35:_context5.prev=35;_context5.t1=_context5["catch"](30);console.log("[cache put]",_context5.t1);case 38:contentType=res.headers.get("Content-Type");if(!(contentType!==null&&contentType!==void 0&&contentType.includes("json"))){_context5.next=43;break;}_context5.next=42;return res.json();case 42:return _context5.abrupt("return",_context5.sent);case 43:_context5.next=45;return res.text();case 45:return _context5.abrupt("return",_context5.sent);case 46:case"end":return _context5.stop();}},_callee5,null,[[8,14],[30,35]]);}));return function fetchData(_x5){return _ref8.apply(this,arguments);};}();/** - * fetch 兼容性封装 - * @param {*} input - * @param {*} opts - * @returns - */var fetch_fetchPolyfill=/*#__PURE__*/function(){var _ref10=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee6(input){var _ref11,_ref11$isBg,isBg,opts,res,_args6=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:_ref11=_args6.length>1&&_args6[1]!==undefined?_args6[1]:{},_ref11$isBg=_ref11.isBg,isBg=_ref11$isBg===void 0?false:_ref11$isBg,opts=_objectWithoutProperties(_ref11,_excluded2);if(!(isExt&&!isBg)){_context6.next=8;break;}_context6.next=4;return sendMsg(MSG_FETCH,{input:input,opts:opts});case 4:res=_context6.sent;if(!res.error){_context6.next=7;break;}throw new Error(res.error);case 7:return _context6.abrupt("return",res.data);case 8:_context6.next=10;return fetchData(input,opts);case 10:return _context6.abrupt("return",_context6.sent);case 11:case"end":return _context6.stop();}},_callee6);}));return function fetchPolyfill(_x6){return _ref10.apply(this,arguments);};}();/** - * 更新 fetch pool 参数 - * @param {*} interval - * @param {*} limit - */var fetchUpdate=/*#__PURE__*/function(){var _ref12=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee7(interval,limit){var res;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:if(!isExt){_context7.next=8;break;}_context7.next=3;return sendMsg(MSG_FETCH_LIMIT,{interval:interval,limit:limit});case 3:res=_context7.sent;if(!res.error){_context7.next=6;break;}throw new Error(res.error);case 6:_context7.next=9;break;case 8:fetchPool.update(interval,limit);case 9:case"end":return _context7.stop();}},_callee7);}));return function fetchUpdate(_x7,_x8){return _ref12.apply(this,arguments);};}();/** - * 清空任务池 - */var fetchClear=/*#__PURE__*/function(){var _ref13=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee8(){var res;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee8$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:if(!isExt){_context8.next=8;break;}_context8.next=3;return sendMsg(MSG_FETCH_CLEAR);case 3:res=_context8.sent;if(!res.error){_context8.next=6;break;}throw new Error(res.error);case 6:_context8.next=9;break;case 8:fetchPool.clear();case 9:case"end":return _context8.stop();}},_callee8);}));return function fetchClear(){return _ref13.apply(this,arguments);};}(); -;// CONCATENATED MODULE: ./src/libs/rules.js -var fromLangs=OPT_LANGS_FROM.map(function(item){return item[0];});var toLangs=OPT_LANGS_TO.map(function(item){return item[0];});/** - * 检查过滤rules - * @param {*} rules - * @returns - */var checkRules=function checkRules(rules){if(type(rules)==="string"){rules=JSON.parse(rules);}if(type(rules)!=="array"){throw new Error("data error");}var patternSet=new Set();rules=rules.filter(function(rule){return type(rule)==="object";}).filter(function(_ref){var pattern=_ref.pattern;if(type(pattern)!=="string"||patternSet.has(pattern.trim())){return false;}patternSet.add(pattern.trim());return true;}).map(function(_ref2){var pattern=_ref2.pattern,selector=_ref2.selector,translator=_ref2.translator,fromLang=_ref2.fromLang,toLang=_ref2.toLang,textStyle=_ref2.textStyle,transOpen=_ref2.transOpen,bgColor=_ref2.bgColor;return{pattern:pattern.trim(),selector:type(selector)==="string"?selector:"",bgColor:type(bgColor)==="string"?bgColor:"",translator:matchValue([GLOBAL_KEY].concat((0,toConsumableArray/* default */.Z)(OPT_TRANS_ALL)),translator),fromLang:matchValue([GLOBAL_KEY].concat((0,toConsumableArray/* default */.Z)(fromLangs)),fromLang),toLang:matchValue([GLOBAL_KEY].concat((0,toConsumableArray/* default */.Z)(toLangs)),toLang),textStyle:matchValue([GLOBAL_KEY].concat((0,toConsumableArray/* default */.Z)(OPT_STYLE_ALL)),textStyle),transOpen:matchValue([GLOBAL_KEY,"true","false"],transOpen)};});return rules;};/** - * 订阅规则的本地缓存 - */var rulesCache={fetch:function(){var _fetch=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(url){var isBg,res,rules,_args=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:isBg=_args.length>1&&_args[1]!==undefined?_args[1]:false;_context.next=3;return fetch_fetchPolyfill(url,{isBg:isBg});case 3:res=_context.sent;rules=checkRules(res).filter(function(rule){return rule.pattern.replaceAll(GLOBAL_KEY,"")!=="";});return _context.abrupt("return",rules);case 6:case"end":return _context.stop();}},_callee);}));function fetch(_x){return _fetch.apply(this,arguments);}return fetch;}(),set:function(){var _set=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(url,rules){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=2;return libs_storage.setObj("".concat(STOKEY_RULESCACHE_PREFIX).concat(url),rules);case 2:case"end":return _context2.stop();}},_callee2);}));function set(_x2,_x3){return _set.apply(this,arguments);}return set;}(),get:function(){var _get=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(url){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=2;return libs_storage.getObj("".concat(STOKEY_RULESCACHE_PREFIX).concat(url));case 2:return _context3.abrupt("return",_context3.sent);case 3:case"end":return _context3.stop();}},_callee3);}));function get(_x4){return _get.apply(this,arguments);}return get;}(),del:function(){var _del=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(url){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return libs_storage.del("".concat(STOKEY_RULESCACHE_PREFIX).concat(url));case 2:case"end":return _context4.stop();}},_callee4);}));function del(_x5){return _del.apply(this,arguments);}return del;}()};/** - * 同步订阅规则 - * @param {*} url - * @returns - */var syncSubRules=/*#__PURE__*/function(){var _ref3=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee5(url){var isBg,rules,_args5=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:isBg=_args5.length>1&&_args5[1]!==undefined?_args5[1]:false;_context5.next=3;return rulesCache.fetch(url,isBg);case 3:rules=_context5.sent;if(!(rules.length>0)){_context5.next=7;break;}_context5.next=7;return rulesCache.set(url,rules);case 7:return _context5.abrupt("return",rules);case 8:case"end":return _context5.stop();}},_callee5);}));return function syncSubRules(_x6){return _ref3.apply(this,arguments);};}();/** - * 同步所有订阅规则 - * @param {*} url - * @returns - */var syncAllSubRules=/*#__PURE__*/function(){var _ref4=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee6(subrulesList){var isBg,_iterator,_step,subrules,_args6=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:isBg=_args6.length>1&&_args6[1]!==undefined?_args6[1]:false;_iterator=_createForOfIteratorHelper(subrulesList);_context6.prev=2;_iterator.s();case 4:if((_step=_iterator.n()).done){_context6.next=16;break;}subrules=_step.value;_context6.prev=6;_context6.next=9;return syncSubRules(subrules.url,isBg);case 9:_context6.next=14;break;case 11:_context6.prev=11;_context6.t0=_context6["catch"](6);console.log("[sync subrule error]: ".concat(subrules.url),_context6.t0);case 14:_context6.next=4;break;case 16:_context6.next=21;break;case 18:_context6.prev=18;_context6.t1=_context6["catch"](2);_iterator.e(_context6.t1);case 21:_context6.prev=21;_iterator.f();return _context6.finish(21);case 24:case"end":return _context6.stop();}},_callee6,null,[[2,18,21,24],[6,11]]);}));return function syncAllSubRules(_x7){return _ref4.apply(this,arguments);};}();/** - * 根据时间同步所有订阅规则 - * @param {*} url - * @returns - */var trySyncAllSubRules=/*#__PURE__*/function(){var _ref6=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee7(_ref5){var subrulesList,isBg,_yield$syncOpt$load,subRulesSyncAt,now,interval,_args7=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:subrulesList=_ref5.subrulesList;isBg=_args7.length>1&&_args7[1]!==undefined?_args7[1]:false;_context7.prev=2;_context7.next=5;return syncOpt.load();case 5:_yield$syncOpt$load=_context7.sent;subRulesSyncAt=_yield$syncOpt$load.subRulesSyncAt;now=Date.now();interval=24*60*60*1000;// 间隔一天 -if(!(now-subRulesSyncAt>interval)){_context7.next=14;break;}_context7.next=12;return syncAllSubRules(subrulesList,isBg);case 12:_context7.next=14;return syncOpt.update({subRulesSyncAt:now});case 14:_context7.next=19;break;case 16:_context7.prev=16;_context7.t0=_context7["catch"](2);console.log("[try sync all subrules]",_context7.t0);case 19:case"end":return _context7.stop();}},_callee7,null,[[2,16]]);}));return function trySyncAllSubRules(_x8){return _ref6.apply(this,arguments);};}();/** - * 从缓存或远程加载订阅规则 - * @param {*} url - * @returns - */var loadSubRules=/*#__PURE__*/function(){var _ref7=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee8(url){var rules;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee8$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:_context8.next=2;return rulesCache.get(url);case 2:rules=_context8.sent;if(!(rules!==null&&rules!==void 0&&rules.length)){_context8.next=5;break;}return _context8.abrupt("return",rules);case 5:_context8.next=7;return syncSubRules(url);case 7:return _context8.abrupt("return",_context8.sent);case 8:case"end":return _context8.stop();}},_callee8);}));return function loadSubRules(_x9){return _ref7.apply(this,arguments);};}(); -;// CONCATENATED MODULE: ./src/libs/index.js -/** - * 查询storage中的设置 - * @returns - */var libs_getSetting=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.t0=_objectSpread2;_context.t1=_objectSpread2({},DEFAULT_SETTING);_context.next=4;return libs_storage.getObj(config_STOKEY_SETTING);case 4:_context.t2=_context.sent;if(_context.t2){_context.next=7;break;}_context.t2={};case 7:_context.t3=_context.t2;return _context.abrupt("return",(0,_context.t0)(_context.t1,_context.t3));case 9:case"end":return _context.stop();}},_callee);}));return function getSetting(){return _ref.apply(this,arguments);};}();/** - * 查询规则列表 - * @returns - */var libs_getRules=/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=2;return libs_storage.getObj(config_STOKEY_RULES);case 2:_context2.t0=_context2.sent;if(_context2.t0){_context2.next=5;break;}_context2.t0=[];case 5:return _context2.abrupt("return",_context2.t0);case 6:case"end":return _context2.stop();}},_callee2);}));return function getRules(){return _ref2.apply(this,arguments);};}();/** - * 查询fab位置信息 - * @returns - */var getFab=/*#__PURE__*/function(){var _ref3=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=2;return libs_storage.getObj(STOKEY_FAB);case 2:_context3.t0=_context3.sent;if(_context3.t0){_context3.next=5;break;}_context3.t0={};case 5:return _context3.abrupt("return",_context3.t0);case 6:case"end":return _context3.stop();}},_callee3);}));return function getFab(){return _ref3.apply(this,arguments);};}();/** - * 设置fab位置信息 - * @returns - */var setFab=/*#__PURE__*/function(){var _ref4=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(obj){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return libs_storage.setObj(STOKEY_FAB,obj);case 2:return _context4.abrupt("return",_context4.sent);case 3:case"end":return _context4.stop();}},_callee4);}));return function setFab(_x){return _ref4.apply(this,arguments);};}();/** - * 根据href匹配规则 - * @param {*} rules - * @param {string} href - * @returns - */var matchRule=/*#__PURE__*/function(){var _ref6=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee5(rules,href,_ref5){var _rule$selector,_globalRule$selector,_rule$bgColor,_globalRule$bgColor;var _ref5$injectRules,injectRules,_ref5$subrulesList,subrulesList,selectedSub,_rules,subRules,rule,globalRule;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_ref5$injectRules=_ref5.injectRules,injectRules=_ref5$injectRules===void 0?true:_ref5$injectRules,_ref5$subrulesList=_ref5.subrulesList,subrulesList=_ref5$subrulesList===void 0?DEFAULT_SUBRULES_LIST:_ref5$subrulesList;rules=(0,toConsumableArray/* default */.Z)(rules);if(!injectRules){_context5.next=15;break;}_context5.prev=3;selectedSub=subrulesList.find(function(item){return item.selected;});if(!(selectedSub!==null&&selectedSub!==void 0&&selectedSub.url)){_context5.next=10;break;}_context5.next=8;return loadSubRules(selectedSub.url);case 8:subRules=_context5.sent;(_rules=rules).splice.apply(_rules,[-1,0].concat((0,toConsumableArray/* default */.Z)(subRules)));case 10:_context5.next=15;break;case 12:_context5.prev=12;_context5.t0=_context5["catch"](3);console.log("[load injectRules]",_context5.t0);case 15:rule=rules.find(function(r){return r.pattern.split(",").some(function(p){return isMatch(href,p.trim());});});globalRule=rules.find(function(r){return r.pattern.split(",").some(function(p){return p.trim()==="*";});})||GLOBLA_RULE;if(rule){_context5.next=19;break;}return _context5.abrupt("return",globalRule);case 19:rule.selector=(rule===null||rule===void 0?void 0:(_rule$selector=rule.selector)===null||_rule$selector===void 0?void 0:_rule$selector.trim())||(globalRule===null||globalRule===void 0?void 0:(_globalRule$selector=globalRule.selector)===null||_globalRule$selector===void 0?void 0:_globalRule$selector.trim())||GLOBLA_RULE.selector;rule.bgColor=(rule===null||rule===void 0?void 0:(_rule$bgColor=rule.bgColor)===null||_rule$bgColor===void 0?void 0:_rule$bgColor.trim())||(globalRule===null||globalRule===void 0?void 0:(_globalRule$bgColor=globalRule.bgColor)===null||_globalRule$bgColor===void 0?void 0:_globalRule$bgColor.trim());["translator","fromLang","toLang","textStyle","transOpen"].forEach(function(key){if(rule[key]===GLOBAL_KEY){rule[key]=globalRule[key];}});return _context5.abrupt("return",rule);case 23:case"end":return _context5.stop();}},_callee5,null,[[3,12]]);}));return function matchRule(_x2,_x3,_x4){return _ref6.apply(this,arguments);};}();/** - * 本地语言识别 - * @param {*} q - * @returns - */var detectLang=/*#__PURE__*/function(){var _ref7=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee6(q){var _browser$i18n,_res$languages,_res$languages$,res;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:_context6.prev=0;_context6.next=3;return browser===null||browser===void 0?void 0:(_browser$i18n=browser.i18n)===null||_browser$i18n===void 0?void 0:_browser$i18n.detectLanguage(q);case 3:res=_context6.sent;return _context6.abrupt("return",res===null||res===void 0?void 0:(_res$languages=res.languages)===null||_res$languages===void 0?void 0:(_res$languages$=_res$languages[0])===null||_res$languages$===void 0?void 0:_res$languages$.language);case 7:_context6.prev=7;_context6.t0=_context6["catch"](0);console.log("[detect lang]",_context6.t0);case 10:case"end":return _context6.stop();}},_callee6,null,[[0,7]]);}));return function detectLang(_x5){return _ref7.apply(this,arguments);};}(); ;// CONCATENATED MODULE: ./node_modules/decode-uri-component/index.js var token = '%[a-f0-9]{2}'; var singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi'); @@ -20374,6 +20219,133 @@ function exclude(input, filter, options) { ;// CONCATENATED MODULE: ./node_modules/query-string/index.js /* harmony default export */ var query_string = (base_namespaceObject); +;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js + +function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + var target = (0,objectWithoutPropertiesLoose/* default */.Z)(source, excluded); + var key, i; + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + return target; +} +;// CONCATENATED MODULE: ./src/libs/msg.js +/** + * 发送消息给background + * @param {*} action + * @param {*} args + * @returns + */var sendBgMsg=function sendBgMsg(action,args){return browser.runtime.sendMessage({action:action,args:args});};/** + * 发送消息给当前页面 + * @param {*} action + * @param {*} args + * @returns + */var sendTabMsg=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(action,args){var tabs;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return browser.tabs.query({active:true,currentWindow:true});case 2:tabs=_context.sent;return _context.abrupt("return",browser.tabs.sendMessage(tabs[0].id,{action:action,args:args}));case 4:case"end":return _context.stop();}},_callee);}));return function sendTabMsg(_x,_x2){return _ref.apply(this,arguments);};}(); +;// CONCATENATED MODULE: ./src/libs/pool.js +/** + * 任务池 + * @param {*} fn + * @param {*} preFn + * @param {*} _interval + * @param {*} _limit + * @returns + */var taskPool=function taskPool(fn,preFn){var _interval=arguments.length>2&&arguments[2]!==undefined?arguments[2]:100;var _limit=arguments.length>3&&arguments[3]!==undefined?arguments[3]:100;var pool=[];var maxRetry=2;// 最大重试次数 +var maxCount=_limit;// 最大数量 +var curCount=0;// 当前数量 +var interval=_interval;// 间隔时间 +var timer=null;var handleTask=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(item,preArgs){var args,resolve,reject,retry,res;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:curCount++;args=item.args,resolve=item.resolve,reject=item.reject,retry=item.retry;_context.prev=2;_context.next=5;return fn(_objectSpread2(_objectSpread2({},args),preArgs));case 5:res=_context.sent;resolve(res);_context.next=12;break;case 9:_context.prev=9;_context.t0=_context["catch"](2);if(retry0&&arguments[0]!==undefined?arguments[0]:100;var _limit=arguments.length>1&&arguments[1]!==undefined?arguments[1]:100;if(_interval>=0&&_interval<=5000&&_interval!==interval){interval=_interval;}if(_limit>=1&&_limit<=100&&_limit!==maxCount){maxCount=_limit;}},clear:function clear(){pool.length=0;curCount=0;timer&&clearTimeout(timer);timer=null;}};}; +;// CONCATENATED MODULE: ./src/libs/auth.js +var parseMSToken=function parseMSToken(token){try{return JSON.parse(atob(token.split(".")[1])).exp;}catch(err){console.log("[parseMSToken]",err);}return 0;};/** + * 闭包缓存token,减少对storage查询 + * @returns + */var _msAuth=function _msAuth(){var _ref={},token=_ref.token,exp=_ref.exp;return/*#__PURE__*/asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){var now,res;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:// 查询内存缓存 +now=Date.now();if(!(token&&exp*1000>now+1000)){_context.next=3;break;}return _context.abrupt("return",[token,exp]);case 3:_context.next=5;return getMsauth();case 5:res=_context.sent;token=res===null||res===void 0?void 0:res.token;exp=res===null||res===void 0?void 0:res.exp;if(!(token&&exp*1000>now+1000)){_context.next=10;break;}return _context.abrupt("return",[token,exp]);case 10:_context.next=12;return fetchData(URL_MICROSOFT_AUTH);case 12:token=_context.sent;exp=parseMSToken(token);_context.next=16;return setMsauth({token:token,exp:exp});case 16:return _context.abrupt("return",[token,exp]);case 17:case"end":return _context.stop();}},_callee);}));};var msAuth=_msAuth(); +;// CONCATENATED MODULE: ./src/libs/fetch.js +var fetch_excluded=["useCache","usePool","translator","token"],_excluded2=["isBg"];/** + * 油猴脚本的请求封装 + * @param {*} input + * @param {*} init + * @returns + */var fetchGM=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(input){var _ref2,_ref2$method,method,headers,body,_args=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_ref2=_args.length>1&&_args[1]!==undefined?_args[1]:{},_ref2$method=_ref2.method,method=_ref2$method===void 0?"GET":_ref2$method,headers=_ref2.headers,body=_ref2.body;return _context.abrupt("return",new Promise(function(resolve,reject){GM.xmlHttpRequest({method:method,url:input,headers:headers,data:body,onload:function onload(response){if(response.status===200){var _headers=new Headers();response.responseHeaders.split("\n").forEach(function(line){var _line$split$map=line.split(":").map(function(item){return item.trim();}),_line$split$map2=(0,slicedToArray/* default */.Z)(_line$split$map,2),name=_line$split$map2[0],value=_line$split$map2[1];if(name&&value){_headers.append(name,value);}});resolve(new Response(response.response,{headers:_headers}));}else{reject(new Error("[".concat(response.status,"] ").concat(response.responseText)));}},onerror:reject});}));case 2:case"end":return _context.stop();}},_callee);}));return function fetchGM(_x){return _ref.apply(this,arguments);};}();/** + * 构造缓存 request + * @param {*} request + * @returns + */var newCacheReq=/*#__PURE__*/function(){var _ref3=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(request){var body,cacheUrl;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(!(request.method!=="GET")){_context2.next=7;break;}_context2.next=3;return request.text();case 3:body=_context2.sent;cacheUrl=new URL(request.url);cacheUrl.pathname+=body;request=new Request(cacheUrl.toString(),{method:"GET"});case 7:return _context2.abrupt("return",request);case 8:case"end":return _context2.stop();}},_callee2);}));return function newCacheReq(_x2){return _ref3.apply(this,arguments);};}();/** + * 发起请求 + * @param {*} param0 + * @returns + */var fetchApi=/*#__PURE__*/function(){var _ref5=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(_ref4){var input,_ref4$init,init,translator,token,_info,_info$script,info,connects,url,isSafe;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:input=_ref4.input,_ref4$init=_ref4.init,init=_ref4$init===void 0?{}:_ref4$init,translator=_ref4.translator,token=_ref4.token;if(translator===OPT_TRANS_MICROSOFT){init.headers["Authorization"]="Bearer ".concat(token);}else if(translator===OPT_TRANS_OPENAI){init.headers["Authorization"]="Bearer ".concat(token);// // OpenAI +init.headers["api-key"]=token;// Azure OpenAI +}if(!isGm){_context3.next=19;break;}if(!window.KISS_GM){_context3.next=9;break;}_context3.next=6;return window.KISS_GM.getInfo();case 6:info=_context3.sent;_context3.next=10;break;case 9:info=GM.info;case 10:connects=((_info=info)===null||_info===void 0?void 0:(_info$script=_info.script)===null||_info$script===void 0?void 0:_info$script.connects)||[];url=new URL(input);isSafe=connects.find(function(item){return url.hostname.endsWith(item);});if(!isSafe){_context3.next=19;break;}if(!window.KISS_GM){_context3.next=18;break;}return _context3.abrupt("return",window.KISS_GM.fetch(input,init));case 18:return _context3.abrupt("return",fetchGM(input,init));case 19:return _context3.abrupt("return",fetch(input,init));case 20:case"end":return _context3.stop();}},_callee3);}));return function fetchApi(_x3){return _ref5.apply(this,arguments);};}();/** + * 请求池实例 + */var fetchPool=taskPool(fetchApi,/*#__PURE__*/function(){var _ref7=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(_ref6){var translator,_yield$msAuth,_yield$msAuth2,token;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:translator=_ref6.translator;if(!(translator===OPT_TRANS_MICROSOFT)){_context4.next=8;break;}_context4.next=4;return msAuth();case 4:_yield$msAuth=_context4.sent;_yield$msAuth2=(0,slicedToArray/* default */.Z)(_yield$msAuth,1);token=_yield$msAuth2[0];return _context4.abrupt("return",{token:token});case 8:return _context4.abrupt("return",{});case 9:case"end":return _context4.stop();}},_callee4);}));return function(_x4){return _ref7.apply(this,arguments);};}(),DEFAULT_FETCH_INTERVAL,DEFAULT_FETCH_LIMIT);/** + * 请求数据统一接口 + * @param {*} input + * @param {*} opts + * @returns + */var fetchData=/*#__PURE__*/function(){var _ref8=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee5(input){var _ref9,useCache,usePool,translator,token,init,cacheReq,res,cache,_res,_cache,contentType,_args5=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_ref9=_args5.length>1&&_args5[1]!==undefined?_args5[1]:{},useCache=_ref9.useCache,usePool=_ref9.usePool,translator=_ref9.translator,token=_ref9.token,init=_objectWithoutProperties(_ref9,fetch_excluded);_context5.next=3;return newCacheReq(new Request(input,init));case 3:cacheReq=_context5.sent;if(!useCache){_context5.next=17;break;}_context5.prev=5;_context5.next=8;return caches.open(config_CACHE_NAME);case 8:cache=_context5.sent;_context5.next=11;return cache.match(cacheReq);case 11:res=_context5.sent;_context5.next=17;break;case 14:_context5.prev=14;_context5.t0=_context5["catch"](5);console.log("[cache match]",_context5.t0.message);case 17:if(res){_context5.next=41;break;}if(!usePool){_context5.next=24;break;}_context5.next=21;return fetchPool.push({input:input,init:init,translator:translator,token:token});case 21:res=_context5.sent;_context5.next=27;break;case 24:_context5.next=26;return fetchApi({input:input,init:init,translator:translator,token:token});case 26:res=_context5.sent;case 27:if((_res=res)!==null&&_res!==void 0&&_res.ok){_context5.next=29;break;}throw new Error("response: ".concat(res.statusText));case 29:if(!useCache){_context5.next=41;break;}_context5.prev=30;_context5.next=33;return caches.open(config_CACHE_NAME);case 33:_cache=_context5.sent;_context5.next=36;return _cache.put(cacheReq,res.clone());case 36:_context5.next=41;break;case 38:_context5.prev=38;_context5.t1=_context5["catch"](30);console.log("[cache put]",_context5.t1.message);case 41:contentType=res.headers.get("Content-Type");if(!(contentType!==null&&contentType!==void 0&&contentType.includes("json"))){_context5.next=46;break;}_context5.next=45;return res.json();case 45:return _context5.abrupt("return",_context5.sent);case 46:_context5.next=48;return res.text();case 48:return _context5.abrupt("return",_context5.sent);case 49:case"end":return _context5.stop();}},_callee5,null,[[5,14],[30,38]]);}));return function fetchData(_x5){return _ref8.apply(this,arguments);};}();/** + * fetch 兼容性封装 + * @param {*} input + * @param {*} opts + * @returns + */var fetchPolyfill=/*#__PURE__*/function(){var _ref10=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee6(input){var _ref11,_ref11$isBg,isBg,opts,res,_args6=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:_ref11=_args6.length>1&&_args6[1]!==undefined?_args6[1]:{},_ref11$isBg=_ref11.isBg,isBg=_ref11$isBg===void 0?false:_ref11$isBg,opts=_objectWithoutProperties(_ref11,_excluded2);if(!(isExt&&!isBg)){_context6.next=8;break;}_context6.next=4;return sendBgMsg(MSG_FETCH,{input:input,opts:opts});case 4:res=_context6.sent;if(!res.error){_context6.next=7;break;}throw new Error(res.error);case 7:return _context6.abrupt("return",res.data);case 8:_context6.next=10;return fetchData(input,opts);case 10:return _context6.abrupt("return",_context6.sent);case 11:case"end":return _context6.stop();}},_callee6);}));return function fetchPolyfill(_x6){return _ref10.apply(this,arguments);};}();/** + * 更新 fetch pool 参数 + * @param {*} interval + * @param {*} limit + */var updateFetchPool=/*#__PURE__*/function(){var _ref12=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee7(interval,limit){var res;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:if(!isExt){_context7.next=8;break;}_context7.next=3;return sendBgMsg(MSG_FETCH_LIMIT,{interval:interval,limit:limit});case 3:res=_context7.sent;if(!res.error){_context7.next=6;break;}throw new Error(res.error);case 6:_context7.next=9;break;case 8:fetchPool.update(interval,limit);case 9:case"end":return _context7.stop();}},_callee7);}));return function updateFetchPool(_x7,_x8){return _ref12.apply(this,arguments);};}();/** + * 清空任务池 + */var clearFetchPool=/*#__PURE__*/function(){var _ref13=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee8(){var res;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee8$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:if(!isExt){_context8.next=8;break;}_context8.next=3;return sendBgMsg(MSG_FETCH_CLEAR);case 3:res=_context8.sent;if(!res.error){_context8.next=6;break;}throw new Error(res.error);case 6:_context8.next=9;break;case 8:fetchPool.clear();case 9:case"end":return _context8.stop();}},_callee8);}));return function clearFetchPool(){return _ref13.apply(this,arguments);};}(); +;// CONCATENATED MODULE: ./src/libs/index.js +/** + * 清除缓存数据 + */var tryClearCaches=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:try{caches.delete(CACHE_NAME);}catch(err){console.log("[clean caches]",err.message);}case 1:case"end":return _context.stop();}},_callee);}));return function tryClearCaches(){return _ref.apply(this,arguments);};}()));/** + * 本地语言识别 + * @param {*} q + * @returns + */var tryDetectLang=/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(q){var _browser$i18n,_res$languages,_res$languages$,res;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.prev=0;_context2.next=3;return browser===null||browser===void 0?void 0:(_browser$i18n=browser.i18n)===null||_browser$i18n===void 0?void 0:_browser$i18n.detectLanguage(q);case 3:res=_context2.sent;return _context2.abrupt("return",res===null||res===void 0?void 0:(_res$languages=res.languages)===null||_res$languages===void 0?void 0:(_res$languages$=_res$languages[0])===null||_res$languages$===void 0?void 0:_res$languages$.language);case 7:_context2.prev=7;_context2.t0=_context2["catch"](0);console.log("[detect lang]",_context2.t0.message);case 10:case"end":return _context2.stop();}},_callee2,null,[[0,7]]);}));return function tryDetectLang(_x){return _ref2.apply(this,arguments);};}(); +;// CONCATENATED MODULE: ./src/libs/utils.js +/** + * 限制数字大小 + * @param {*} num + * @param {*} min + * @param {*} max + * @returns + */var limitNumber=function limitNumber(num){var min=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var max=arguments.length>2&&arguments[2]!==undefined?arguments[2]:100;var number=parseInt(num);if(Number.isNaN(number)||numbermax){return max;}return number;};/** + * 匹配是否为数组中的值 + * @param {*} arr + * @param {*} val + * @returns + */var matchValue=function matchValue(arr,val){if(arr.length===0||arr.includes(val)){return val;}return arr[0];};/** + * 等待 + * @param {*} delay + * @returns + */var sleep=function sleep(delay){return new Promise(function(resolve){var timer=setTimeout(function(){clearTimeout(timer);resolve();},delay);});};/** + * 防抖函数 + * @param {*} func + * @param {*} delay + * @returns + */var debounce=function debounce(func){var delay=arguments.length>1&&arguments[1]!==undefined?arguments[1]:200;var timer;return function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}timer&&clearTimeout(timer);timer=setTimeout(function(){func.apply(void 0,args);},delay);};};/** + * 字符串通配符(*)匹配 + * @param {*} s + * @param {*} p + * @returns + */var isMatch=function isMatch(s,p){if(s.length===0||p.length===0){return false;}p="*".concat(p,"*");var sIndex=0,pIndex=0;var sRecord=-1,pRecord=-1;while(sIndex3&&_args[3]!==undefined?_args[3]:false;_context.t0=fetchPolyfill;_context.t1=url;_context.t2="Bearer ";_context.next=6;return sha256(key,KV_SALT_SYNC);case 6:_context.t3=_context.sent;_context.t4=_context.t2.concat.call(_context.t2,_context.t3);_context.t5={"Content-type":"application/json",Authorization:_context.t4};_context.t6=JSON.stringify(data);_context.t7=isBg;_context.t8={headers:_context.t5,method:"POST",body:_context.t6,isBg:_context.t7};return _context.abrupt("return",(0,_context.t0)(_context.t1,_context.t8));case 13:case"end":return _context.stop();}},_callee);}));return function apiSyncData(_x,_x2,_x3){return _ref.apply(this,arguments);};}()));/** + */var apis_apiSyncData=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(url,key,data){var isBg,_args=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:isBg=_args.length>3&&_args[3]!==undefined?_args[3]:false;_context.t0=fetchPolyfill;_context.t1=url;_context.t2="Bearer ";_context.next=6;return utils_sha256(key,KV_SALT_SYNC);case 6:_context.t3=_context.sent;_context.t4=_context.t2.concat.call(_context.t2,_context.t3);_context.t5={"Content-type":"application/json",Authorization:_context.t4};_context.t6=JSON.stringify(data);_context.t7=isBg;_context.t8={headers:_context.t5,method:"POST",body:_context.t6,isBg:_context.t7};return _context.abrupt("return",(0,_context.t0)(_context.t1,_context.t8));case 13:case"end":return _context.stop();}},_callee);}));return function apiSyncData(_x,_x2,_x3){return _ref.apply(this,arguments);};}();/** + * 下载订阅规则 + * @param {*} url + * @param {*} isBg + * @returns + */var apiFetchRules=function apiFetchRules(url){var isBg=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;return fetchPolyfill(url,{isBg:isBg});};/** * 谷歌翻译 * @param {*} text * @param {*} to * @param {*} from * @returns - */var apiGoogleTranslate=/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(translator,text,to,from){var params,_yield$getSetting,googleUrl,input;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:params={client:"gtx",dt:"t",dj:1,ie:"UTF-8",sl:from,tl:to,q:text};_context2.next=3;return libs_getSetting();case 3:_yield$getSetting=_context2.sent;googleUrl=_yield$getSetting.googleUrl;input="".concat(googleUrl,"?").concat(query_string.stringify(params));return _context2.abrupt("return",fetch_fetchPolyfill(input,{headers:{"Content-type":"application/json"},useCache:true,usePool:true,translator:translator}));case 7:case"end":return _context2.stop();}},_callee2);}));return function apiGoogleTranslate(_x4,_x5,_x6,_x7){return _ref2.apply(this,arguments);};}();/** + */var apiGoogleTranslate=/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(translator,text,to,from,setting){var googleUrl,params,input;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:googleUrl=setting.googleUrl;params={client:"gtx",dt:"t",dj:1,ie:"UTF-8",sl:from,tl:to,q:text};input="".concat(googleUrl,"?").concat(query_string.stringify(params));return _context2.abrupt("return",fetchPolyfill(input,{headers:{"Content-type":"application/json"},useCache:true,usePool:true,translator:translator}));case 4:case"end":return _context2.stop();}},_callee2);}));return function apiGoogleTranslate(_x4,_x5,_x6,_x7,_x8){return _ref2.apply(this,arguments);};}();/** * 微软翻译 * @param {*} text * @param {*} to * @param {*} from * @returns - */var apiMicrosoftTranslate=function apiMicrosoftTranslate(translator,text,to,from){var params={from:from,to:to,"api-version":"3.0"};var input="".concat(URL_MICROSOFT_TRANS,"?").concat(query_string.stringify(params));return fetch_fetchPolyfill(input,{headers:{"Content-type":"application/json"},method:"POST",body:JSON.stringify([{Text:text}]),useCache:true,usePool:true,translator:translator});};/** + */var apiMicrosoftTranslate=function apiMicrosoftTranslate(translator,text,to,from){var params={from:from,to:to,"api-version":"3.0"};var input="".concat(URL_MICROSOFT_TRANS,"?").concat(query_string.stringify(params));return fetchPolyfill(input,{headers:{"Content-type":"application/json"},method:"POST",body:JSON.stringify([{Text:text}]),useCache:true,usePool:true,translator:translator});};/** * OpenAI 翻译 * @param {*} text * @param {*} to * @param {*} from * @returns - */var apiOpenaiTranslate=/*#__PURE__*/function(){var _ref3=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(translator,text,to,from){var _yield$getSetting2,openaiUrl,openaiKey,openaiModel,openaiPrompt,prompt;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=2;return libs_getSetting();case 2:_yield$getSetting2=_context3.sent;openaiUrl=_yield$getSetting2.openaiUrl;openaiKey=_yield$getSetting2.openaiKey;openaiModel=_yield$getSetting2.openaiModel;openaiPrompt=_yield$getSetting2.openaiPrompt;prompt=openaiPrompt.replaceAll(PROMPT_PLACE_FROM,from).replaceAll(PROMPT_PLACE_TO,to);return _context3.abrupt("return",fetch_fetchPolyfill(openaiUrl,{headers:{"Content-type":"application/json"},method:"POST",body:JSON.stringify({model:openaiModel,messages:[{role:"system",content:prompt},{role:"user",content:text}],temperature:0,max_tokens:256}),useCache:true,usePool:true,translator:translator,token:openaiKey}));case 9:case"end":return _context3.stop();}},_callee3);}));return function apiOpenaiTranslate(_x8,_x9,_x10,_x11){return _ref3.apply(this,arguments);};}();/** + */var apiOpenaiTranslate=/*#__PURE__*/function(){var _ref3=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(translator,text,to,from,setting){var openaiUrl,openaiKey,openaiModel,openaiPrompt,prompt;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:openaiUrl=setting.openaiUrl,openaiKey=setting.openaiKey,openaiModel=setting.openaiModel,openaiPrompt=setting.openaiPrompt;prompt=openaiPrompt.replaceAll(PROMPT_PLACE_FROM,from).replaceAll(PROMPT_PLACE_TO,to);return _context3.abrupt("return",fetchPolyfill(openaiUrl,{headers:{"Content-type":"application/json"},method:"POST",body:JSON.stringify({model:openaiModel,messages:[{role:"system",content:prompt},{role:"user",content:text}],temperature:0,max_tokens:256}),useCache:true,usePool:true,translator:translator,token:openaiKey}));case 3:case"end":return _context3.stop();}},_callee3);}));return function apiOpenaiTranslate(_x9,_x10,_x11,_x12,_x13){return _ref3.apply(this,arguments);};}();/** * 统一翻译接口 * @param {*} param0 * @returns - */var apiTranslate=/*#__PURE__*/function(){var _ref5=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(_ref4){var _OPT_LANGS_SPECIAL$tr,_OPT_LANGS_SPECIAL$tr2,_OPT_LANGS_SPECIAL$tr3,_OPT_LANGS_SPECIAL$tr4;var translator,q,fromLang,toLang,trText,isSame,from,to,res,_res,_res2$choices,_res2;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:translator=_ref4.translator,q=_ref4.q,fromLang=_ref4.fromLang,toLang=_ref4.toLang;trText="";isSame=false;from=(_OPT_LANGS_SPECIAL$tr=OPT_LANGS_SPECIAL===null||OPT_LANGS_SPECIAL===void 0?void 0:(_OPT_LANGS_SPECIAL$tr2=OPT_LANGS_SPECIAL[translator])===null||_OPT_LANGS_SPECIAL$tr2===void 0?void 0:_OPT_LANGS_SPECIAL$tr2.get(fromLang))!==null&&_OPT_LANGS_SPECIAL$tr!==void 0?_OPT_LANGS_SPECIAL$tr:fromLang;to=(_OPT_LANGS_SPECIAL$tr3=OPT_LANGS_SPECIAL===null||OPT_LANGS_SPECIAL===void 0?void 0:(_OPT_LANGS_SPECIAL$tr4=OPT_LANGS_SPECIAL[translator])===null||_OPT_LANGS_SPECIAL$tr4===void 0?void 0:_OPT_LANGS_SPECIAL$tr4.get(toLang))!==null&&_OPT_LANGS_SPECIAL$tr3!==void 0?_OPT_LANGS_SPECIAL$tr3:toLang;if(!(translator===OPT_TRANS_GOOGLE)){_context4.next=13;break;}_context4.next=8;return apiGoogleTranslate(translator,q,to,from);case 8:res=_context4.sent;trText=res.sentences.map(function(item){return item.trans;}).join(" ");isSame=to===res.src;_context4.next=33;break;case 13:if(!(translator===OPT_TRANS_MICROSOFT)){_context4.next=21;break;}_context4.next=16;return apiMicrosoftTranslate(translator,q,to,from);case 16:_res=_context4.sent;trText=_res[0].translations[0].text;isSame=to===_res[0].detectedLanguage.language;_context4.next=33;break;case 21:if(!(translator===OPT_TRANS_OPENAI)){_context4.next=33;break;}_context4.next=24;return apiOpenaiTranslate(translator,q,to,from);case 24:_res2=_context4.sent;trText=_res2===null||_res2===void 0?void 0:(_res2$choices=_res2.choices)===null||_res2$choices===void 0?void 0:_res2$choices[0].message.content;_context4.next=28;return detectLang(q);case 28:_context4.t0=_context4.sent;_context4.next=31;return detectLang(trText);case 31:_context4.t1=_context4.sent;isSame=_context4.t0===_context4.t1;case 33:return _context4.abrupt("return",[trText,isSame]);case 34:case"end":return _context4.stop();}},_callee4);}));return function apiTranslate(_x12){return _ref5.apply(this,arguments);};}(); + */var apiTranslate=/*#__PURE__*/function(){var _ref5=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(_ref4){var _OPT_LANGS_SPECIAL$tr,_OPT_LANGS_SPECIAL$tr2,_OPT_LANGS_SPECIAL$tr3,_OPT_LANGS_SPECIAL$tr4;var translator,q,fromLang,toLang,setting,trText,isSame,from,to,res,_res,_res2$choices,_res2,sLang,tLang;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:translator=_ref4.translator,q=_ref4.q,fromLang=_ref4.fromLang,toLang=_ref4.toLang,setting=_ref4.setting;trText="";isSame=false;from=(_OPT_LANGS_SPECIAL$tr=OPT_LANGS_SPECIAL===null||OPT_LANGS_SPECIAL===void 0?void 0:(_OPT_LANGS_SPECIAL$tr2=OPT_LANGS_SPECIAL[translator])===null||_OPT_LANGS_SPECIAL$tr2===void 0?void 0:_OPT_LANGS_SPECIAL$tr2.get(fromLang))!==null&&_OPT_LANGS_SPECIAL$tr!==void 0?_OPT_LANGS_SPECIAL$tr:fromLang;to=(_OPT_LANGS_SPECIAL$tr3=OPT_LANGS_SPECIAL===null||OPT_LANGS_SPECIAL===void 0?void 0:(_OPT_LANGS_SPECIAL$tr4=OPT_LANGS_SPECIAL[translator])===null||_OPT_LANGS_SPECIAL$tr4===void 0?void 0:_OPT_LANGS_SPECIAL$tr4.get(toLang))!==null&&_OPT_LANGS_SPECIAL$tr3!==void 0?_OPT_LANGS_SPECIAL$tr3:toLang;if(!(translator===OPT_TRANS_GOOGLE)){_context4.next=13;break;}_context4.next=8;return apiGoogleTranslate(translator,q,to,from,setting);case 8:res=_context4.sent;trText=res.sentences.map(function(item){return item.trans;}).join(" ");isSame=to===res.src;_context4.next=33;break;case 13:if(!(translator===OPT_TRANS_MICROSOFT)){_context4.next=21;break;}_context4.next=16;return apiMicrosoftTranslate(translator,q,to,from);case 16:_res=_context4.sent;trText=_res[0].translations[0].text;isSame=to===_res[0].detectedLanguage.language;_context4.next=33;break;case 21:if(!(translator===OPT_TRANS_OPENAI)){_context4.next=33;break;}_context4.next=24;return apiOpenaiTranslate(translator,q,to,from,setting);case 24:_res2=_context4.sent;trText=_res2===null||_res2===void 0?void 0:(_res2$choices=_res2.choices)===null||_res2$choices===void 0?void 0:_res2$choices[0].message.content;_context4.next=28;return tryDetectLang(q);case 28:sLang=_context4.sent;_context4.next=31;return tryDetectLang(trText);case 31:tLang=_context4.sent;isSame=q===trText||sLang&&tLang&&sLang===tLang;case 33:return _context4.abrupt("return",[trText,isSame]);case 34:case"end":return _context4.stop();}},_callee4);}));return function apiTranslate(_x14){return _ref5.apply(this,arguments);};}(); ;// CONCATENATED MODULE: ./src/libs/sync.js /** - * 同步相关数据 - */var syncOpt={load:function(){var _load=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return libs_storage.getObj(config_STOKEY_SYNC);case 2:_context.t0=_context.sent;if(_context.t0){_context.next=5;break;}_context.t0=DEFAULT_SYNC;case 5:return _context.abrupt("return",_context.t0);case 6:case"end":return _context.stop();}},_callee);}));function load(){return _load.apply(this,arguments);}return load;}(),update:function(){var _update=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(obj){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=2;return libs_storage.putObj(config_STOKEY_SYNC,obj);case 2:case"end":return _context2.stop();}},_callee2);}));function update(_x){return _update.apply(this,arguments);}return update;}()};/** * 同步设置 * @returns - */var syncSetting=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(){var isBg,_yield$syncOpt$load,syncUrl,syncKey,settingUpdateAt,setting,res,_args3=arguments;return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:isBg=_args3.length>0&&_args3[0]!==undefined?_args3[0]:false;_context3.next=3;return syncOpt.load();case 3:_yield$syncOpt$load=_context3.sent;syncUrl=_yield$syncOpt$load.syncUrl;syncKey=_yield$syncOpt$load.syncKey;settingUpdateAt=_yield$syncOpt$load.settingUpdateAt;if(!(!syncUrl||!syncKey)){_context3.next=9;break;}return _context3.abrupt("return");case 9:_context3.next=11;return getSetting();case 11:setting=_context3.sent;_context3.next=14;return apiSyncData(syncUrl,syncKey,{key:KV_SETTING_KEY,value:setting,updateAt:settingUpdateAt},isBg);case 14:res=_context3.sent;if(!(res&&res.updateAt>settingUpdateAt)){_context3.next=22;break;}_context3.next=18;return syncOpt.update({settingUpdateAt:res.updateAt,settingSyncAt:res.updateAt});case 18:_context3.next=20;return storage.setObj(STOKEY_SETTING,res.value);case 20:_context3.next=24;break;case 22:_context3.next=24;return syncOpt.update({settingSyncAt:res.updateAt});case 24:case"end":return _context3.stop();}},_callee3);}));return function syncSetting(){return _ref.apply(this,arguments);};}()));var sync_trySyncSetting=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(){var isBg,_args4=arguments;return _regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:isBg=_args4.length>0&&_args4[0]!==undefined?_args4[0]:false;_context4.prev=1;_context4.next=4;return syncSetting(isBg);case 4:_context4.next=9;break;case 6:_context4.prev=6;_context4.t0=_context4["catch"](1);console.log("[sync setting]",_context4.t0);case 9:case"end":return _context4.stop();}},_callee4,null,[[1,6]]);}));return function trySyncSetting(){return _ref2.apply(this,arguments);};}()));/** + */var syncSetting=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){var isBg,_yield$getSyncWithDef,syncUrl,syncKey,settingUpdateAt,setting,res,_args=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:isBg=_args.length>0&&_args[0]!==undefined?_args[0]:false;_context.next=3;return storage_getSyncWithDefault();case 3:_yield$getSyncWithDef=_context.sent;syncUrl=_yield$getSyncWithDef.syncUrl;syncKey=_yield$getSyncWithDef.syncKey;settingUpdateAt=_yield$getSyncWithDef.settingUpdateAt;if(!(!syncUrl||!syncKey)){_context.next=9;break;}return _context.abrupt("return");case 9:_context.next=11;return getSettingWithDefault();case 11:setting=_context.sent;_context.next=14;return apis_apiSyncData(syncUrl,syncKey,{key:KV_SETTING_KEY,value:setting,updateAt:settingUpdateAt},isBg);case 14:res=_context.sent;if(!(res&&res.updateAt>settingUpdateAt)){_context.next=22;break;}_context.next=18;return storage_updateSync({settingUpdateAt:res.updateAt,settingSyncAt:res.updateAt});case 18:_context.next=20;return setSetting(res.value);case 20:_context.next=24;break;case 22:_context.next=24;return storage_updateSync({settingSyncAt:res.updateAt});case 24:case"end":return _context.stop();}},_callee);}));return function syncSetting(){return _ref.apply(this,arguments);};}();var trySyncSetting=/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(){var isBg,_args2=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:isBg=_args2.length>0&&_args2[0]!==undefined?_args2[0]:false;_context2.prev=1;_context2.next=4;return syncSetting(isBg);case 4:_context2.next=9;break;case 6:_context2.prev=6;_context2.t0=_context2["catch"](1);console.log("[sync setting]",_context2.t0);case 9:case"end":return _context2.stop();}},_callee2,null,[[1,6]]);}));return function trySyncSetting(){return _ref2.apply(this,arguments);};}();/** * 同步规则 * @returns - */var syncRules=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref3=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(){var isBg,_yield$syncOpt$load2,syncUrl,syncKey,rulesUpdateAt,rules,res,_args5=arguments;return _regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:isBg=_args5.length>0&&_args5[0]!==undefined?_args5[0]:false;_context5.next=3;return syncOpt.load();case 3:_yield$syncOpt$load2=_context5.sent;syncUrl=_yield$syncOpt$load2.syncUrl;syncKey=_yield$syncOpt$load2.syncKey;rulesUpdateAt=_yield$syncOpt$load2.rulesUpdateAt;if(!(!syncUrl||!syncKey)){_context5.next=9;break;}return _context5.abrupt("return");case 9:_context5.next=11;return getRules();case 11:rules=_context5.sent;_context5.next=14;return apiSyncData(syncUrl,syncKey,{key:KV_RULES_KEY,value:rules,updateAt:rulesUpdateAt},isBg);case 14:res=_context5.sent;if(!(res&&res.updateAt>rulesUpdateAt)){_context5.next=22;break;}_context5.next=18;return syncOpt.update({rulesUpdateAt:res.updateAt,rulesSyncAt:res.updateAt});case 18:_context5.next=20;return storage.setObj(STOKEY_RULES,res.value);case 20:_context5.next=24;break;case 22:_context5.next=24;return syncOpt.update({rulesSyncAt:res.updateAt});case 24:case"end":return _context5.stop();}},_callee5);}));return function syncRules(){return _ref3.apply(this,arguments);};}()));var trySyncRules=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref4=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(){var isBg,_args6=arguments;return _regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:isBg=_args6.length>0&&_args6[0]!==undefined?_args6[0]:false;_context6.prev=1;_context6.next=4;return syncRules(isBg);case 4:_context6.next=9;break;case 6:_context6.prev=6;_context6.t0=_context6["catch"](1);console.log("[sync user rules]",_context6.t0);case 9:case"end":return _context6.stop();}},_callee6,null,[[1,6]]);}));return function trySyncRules(){return _ref4.apply(this,arguments);};}()));/** + */var syncRules=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref3=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(){var isBg,_yield$getSyncWithDef2,syncUrl,syncKey,rulesUpdateAt,rules,res,_args3=arguments;return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:isBg=_args3.length>0&&_args3[0]!==undefined?_args3[0]:false;_context3.next=3;return getSyncWithDefault();case 3:_yield$getSyncWithDef2=_context3.sent;syncUrl=_yield$getSyncWithDef2.syncUrl;syncKey=_yield$getSyncWithDef2.syncKey;rulesUpdateAt=_yield$getSyncWithDef2.rulesUpdateAt;if(!(!syncUrl||!syncKey)){_context3.next=9;break;}return _context3.abrupt("return");case 9:_context3.next=11;return getRulesWithDefault();case 11:rules=_context3.sent;_context3.next=14;return apiSyncData(syncUrl,syncKey,{key:KV_RULES_KEY,value:rules,updateAt:rulesUpdateAt},isBg);case 14:res=_context3.sent;if(!(res&&res.updateAt>rulesUpdateAt)){_context3.next=22;break;}_context3.next=18;return updateSync({rulesUpdateAt:res.updateAt,rulesSyncAt:res.updateAt});case 18:_context3.next=20;return setRules(res.value);case 20:_context3.next=24;break;case 22:_context3.next=24;return updateSync({rulesSyncAt:res.updateAt});case 24:case"end":return _context3.stop();}},_callee3);}));return function syncRules(){return _ref3.apply(this,arguments);};}()));var trySyncRules=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref4=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(){var isBg,_args4=arguments;return _regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:isBg=_args4.length>0&&_args4[0]!==undefined?_args4[0]:false;_context4.prev=1;_context4.next=4;return syncRules(isBg);case 4:_context4.next=9;break;case 6:_context4.prev=6;_context4.t0=_context4["catch"](1);console.log("[sync user rules]",_context4.t0);case 9:case"end":return _context4.stop();}},_callee4,null,[[1,6]]);}));return function trySyncRules(){return _ref4.apply(this,arguments);};}()));/** * 同步分享规则 * @param {*} param0 * @returns - */var syncShareRules=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref6=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(_ref5){var rules,syncUrl,syncKey,psk,shareUrl;return _regeneratorRuntime().wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:rules=_ref5.rules,syncUrl=_ref5.syncUrl,syncKey=_ref5.syncKey;_context7.next=3;return apiSyncData(syncUrl,syncKey,{key:KV_RULES_SHARE_KEY,value:rules,updateAt:Date.now()});case 3:_context7.next=5;return sha256(syncKey,KV_SALT_SHARE);case 5:psk=_context7.sent;shareUrl="".concat(syncUrl,"?psk=").concat(psk);return _context7.abrupt("return",shareUrl);case 8:case"end":return _context7.stop();}},_callee7);}));return function syncShareRules(_x2){return _ref6.apply(this,arguments);};}()));/** + */var syncShareRules=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref6=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(_ref5){var rules,syncUrl,syncKey,psk,shareUrl;return _regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:rules=_ref5.rules,syncUrl=_ref5.syncUrl,syncKey=_ref5.syncKey;_context5.next=3;return apiSyncData(syncUrl,syncKey,{key:KV_RULES_SHARE_KEY,value:rules,updateAt:Date.now()});case 3:_context5.next=5;return sha256(syncKey,KV_SALT_SHARE);case 5:psk=_context5.sent;shareUrl="".concat(syncUrl,"?psk=").concat(psk);return _context5.abrupt("return",shareUrl);case 8:case"end":return _context5.stop();}},_callee5);}));return function syncShareRules(_x){return _ref6.apply(this,arguments);};}()));/** * 同步个人设置和规则 * @returns - */var syncAll=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref7=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(){var isBg,_args8=arguments;return _regeneratorRuntime().wrap(function _callee8$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:isBg=_args8.length>0&&_args8[0]!==undefined?_args8[0]:false;_context8.next=3;return syncSetting(isBg);case 3:_context8.next=5;return syncRules(isBg);case 5:case"end":return _context8.stop();}},_callee8);}));return function syncAll(){return _ref7.apply(this,arguments);};}()));var trySyncAll=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref8=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9(){var isBg,_args9=arguments;return _regeneratorRuntime().wrap(function _callee9$(_context9){while(1)switch(_context9.prev=_context9.next){case 0:isBg=_args9.length>0&&_args9[0]!==undefined?_args9[0]:false;_context9.next=3;return sync_trySyncSetting(isBg);case 3:_context9.next=5;return trySyncRules(isBg);case 5:case"end":return _context9.stop();}},_callee9);}));return function trySyncAll(){return _ref8.apply(this,arguments);};}())); + */var syncSettingAndRules=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref7=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(){var isBg,_args6=arguments;return _regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:isBg=_args6.length>0&&_args6[0]!==undefined?_args6[0]:false;_context6.next=3;return syncSetting(isBg);case 3:_context6.next=5;return syncRules(isBg);case 5:case"end":return _context6.stop();}},_callee6);}));return function syncSettingAndRules(){return _ref7.apply(this,arguments);};}()));var trySyncSettingAndRules=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref8=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(){var isBg,_args7=arguments;return _regeneratorRuntime().wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:isBg=_args7.length>0&&_args7[0]!==undefined?_args7[0]:false;_context7.next=3;return trySyncSetting(isBg);case 3:_context7.next=5;return trySyncRules(isBg);case 5:case"end":return _context7.stop();}},_callee7);}));return function trySyncSettingAndRules(){return _ref8.apply(this,arguments);};}())); ;// CONCATENATED MODULE: ./src/hooks/Setting.js -/** - * 设置hook +var SettingContext=/*#__PURE__*/(0,react.createContext)({setting:null,updateSetting:function(){var _updateSetting=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:case"end":return _context.stop();}},_callee);}));function updateSetting(){return _updateSetting.apply(this,arguments);}return updateSetting;}()});function SettingProvider(_ref){var children=_ref.children;var _useStorage=useStorage(config_STOKEY_SETTING,config_DEFAULT_SETTING),data=_useStorage.data,update=_useStorage.update;var _useSync=useSync(),settingUpdateAt=_useSync.sync.settingUpdateAt,updateSync=_useSync.updateSync;var updateSetting=(0,react.useCallback)(/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(obj){var updateAt;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:updateAt=settingUpdateAt?Date.now():0;_context2.next=3;return update(obj);case 3:_context2.next=5;return updateSync({settingUpdateAt:updateAt});case 5:trySyncSetting();case 6:case"end":return _context2.stop();}},_callee2);}));return function(_x){return _ref2.apply(this,arguments);};}(),[settingUpdateAt,update,updateSync]);return/*#__PURE__*/(0,jsx_runtime.jsx)(SettingContext.Provider,{value:{setting:data,updateSetting:updateSetting},children:children});}/** + * 设置 hook * @returns - */function useSetting(){var storages=Storage_useStorages();return storages===null||storages===void 0?void 0:storages[config_STOKEY_SETTING];}/** - * 更新设置 - * @returns - */function Setting_useSettingUpdate(){var sync=useSync();return/*#__PURE__*/function(){var _ref=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(obj){var _sync$opt;var updateAt;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:updateAt=(_sync$opt=sync.opt)!==null&&_sync$opt!==void 0&&_sync$opt.settingUpdateAt?Date.now():0;_context.next=3;return storage.putObj(STOKEY_SETTING,obj);case 3:_context.next=5;return sync.update({settingUpdateAt:updateAt});case 5:trySyncSetting();case 6:case"end":return _context.stop();}},_callee);}));return function(_x){return _ref.apply(this,arguments);};}();} + */function useSetting(){return (0,react.useContext)(SettingContext);} ;// CONCATENATED MODULE: ./src/hooks/ColorMode.js /** * 深色模式hook * @returns - */function useDarkMode(){var setting=useSetting();return!!(setting!==null&&setting!==void 0&&setting.darkMode);}/** - * 切换深色模式 - * @returns - */function useDarkModeSwitch(){var darkMode=useDarkMode();var updateSetting=useSettingUpdate();return/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return updateSetting({darkMode:!darkMode});case 2:case"end":return _context.stop();}},_callee);}));} + */function useDarkMode(){var _useSetting=useSetting(),darkMode=_useSetting.setting.darkMode,updateSetting=_useSetting.updateSetting;var toggleDarkMode=(0,react.useCallback)(/*#__PURE__*/asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return updateSetting({darkMode:!darkMode});case 2:case"end":return _context.stop();}},_callee);})),[darkMode,updateSetting]);return{darkMode:darkMode,toggleDarkMode:toggleDarkMode};} ;// CONCATENATED MODULE: ./src/hooks/Theme.js /** * mui 主题配置 * @param {*} param0 * @returns - */function MuiThemeProvider(_ref){var children=_ref.children,options=_ref.options;var darkMode=useDarkMode();var theme=(0,react.useMemo)(function(){return (0,createTheme/* default */.Z)(_objectSpread2({palette:{mode:darkMode?THEME_DARK:THEME_LIGHT}},options));},[darkMode,options]);return/*#__PURE__*/(0,jsx_runtime.jsxs)(styles_ThemeProvider_ThemeProvider,{theme:theme,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(CssBaseline_CssBaseline,{}),children]});} + */function Theme(_ref){var children=_ref.children,options=_ref.options;var _useDarkMode=useDarkMode(),darkMode=_useDarkMode.darkMode;var theme=(0,react.useMemo)(function(){return (0,createTheme/* default */.Z)(_objectSpread2({palette:{mode:darkMode?THEME_DARK:THEME_LIGHT}},options));},[darkMode,options]);return/*#__PURE__*/(0,jsx_runtime.jsxs)(styles_ThemeProvider_ThemeProvider,{theme:theme,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(CssBaseline_CssBaseline,{}),children]});} ;// CONCATENATED MODULE: ./src/libs/mobile.js var isMobile=("ontouchstart"in document.documentElement); ;// CONCATENATED MODULE: ./src/views/Action/Draggable.js -var getEdgePosition=function getEdgePosition(_ref,windowWidth,windowHeight,width,height){var left=_ref.x,top=_ref.y,edge=_ref.edge;var right=windowWidth-left-width;var bottom=windowHeight-top-height;var min=Math.min(left,top,right,bottom);switch(min){case right:edge="right";left=windowWidth-width;break;case left:edge="left";left=0;break;case bottom:edge="bottom";top=windowHeight-height;break;default:edge="top";top=0;}left=limitNumber(left,0,windowWidth-width);top=limitNumber(top,0,windowHeight-height);return{x:left,y:top,edge:edge,hide:false};};var getHidePosition=function getHidePosition(_ref2,windowWidth,windowHeight,width,height){var left=_ref2.x,top=_ref2.y,edge=_ref2.edge;switch(edge){case"right":left=windowWidth-width/2;break;case"left":left=-width/2;break;case"bottom":top=windowHeight-height/2;break;default:top=-height/2;}return{x:left,y:top,edge:edge,hide:true};};function Draggable(_ref3){var windowSize=_ref3.windowSize,width=_ref3.width,height=_ref3.height,left=_ref3.left,top=_ref3.top,show=_ref3.show,snapEdge=_ref3.snapEdge,onStart=_ref3.onStart,onMove=_ref3.onMove,handler=_ref3.handler,children=_ref3.children;var _useState=(0,react.useState)({x:left,y:top,px:left,py:top}),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),origin=_useState2[0],setOrigin=_useState2[1];var _useState3=(0,react.useState)({x:left,y:top,edge:null,hide:false}),_useState4=(0,slicedToArray/* default */.Z)(_useState3,2),position=_useState4[0],setPosition=_useState4[1];var _useState5=(0,react.useState)(null),_useState6=(0,slicedToArray/* default */.Z)(_useState5,2),edgeTimer=_useState6[0],setEdgeTimer=_useState6[1];var goEdge=(0,react.useCallback)(function(w,h,width,height){setPosition(function(pre){return getEdgePosition(pre,w,h,width,height);});setEdgeTimer(setTimeout(function(){setPosition(function(pre){return getHidePosition(pre,w,h,width,height);});},1500));},[]);var handlePointerDown=function handlePointerDown(e){!isMobile&&e.target.setPointerCapture(e.pointerId);onStart&&onStart();edgeTimer&&clearTimeout(edgeTimer);var _ref4=isMobile?e.targetTouches[0]:e,clientX=_ref4.clientX,clientY=_ref4.clientY;setOrigin({x:position.x,y:position.y,px:clientX,py:clientY});};var handlePointerMove=function handlePointerMove(e){onMove&&onMove();var _ref5=isMobile?e.targetTouches[0]:e,clientX=_ref5.clientX,clientY=_ref5.clientY;if(origin){var dx=clientX-origin.px;var dy=clientY-origin.py;var x=origin.x+dx;var y=origin.y+dy;var w=windowSize.w,h=windowSize.h;x=limitNumber(x,0,w-width);y=limitNumber(y,0,h-height);setPosition({x:x,y:y,edge:null,hide:false});}};var handlePointerUp=function handlePointerUp(e){e.stopPropagation();setOrigin(null);if(!snapEdge){return;}goEdge(windowSize.w,windowSize.h,width,height);};var handleClick=function handleClick(e){e.stopPropagation();};var handleMouseEnter=function handleMouseEnter(e){e.stopPropagation();if(snapEdge&&position.hide){edgeTimer&&clearTimeout(edgeTimer);goEdge(windowSize.w,windowSize.h,width,height);}};(0,react.useEffect)(function(){setOrigin(null);if(!snapEdge){return;}goEdge(windowSize.w,windowSize.h,width,height);},[snapEdge,goEdge,windowSize.w,windowSize.h,width,height]);(0,react.useEffect)(function(){if(position.hide){setFab({x:position.x,y:position.y});}},[position]);var opacity=(0,react.useMemo)(function(){if(snapEdge){return position.hide?0.2:1;}return origin?0.8:1;},[origin,snapEdge,position.hide]);var touchProps=isMobile?{onTouchStart:handlePointerDown,onTouchMove:handlePointerMove,onTouchEnd:handlePointerUp}:{onPointerDown:handlePointerDown,onPointerMove:handlePointerMove,onPointerUp:handlePointerUp};return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{style:{opacity:opacity,position:"fixed",left:position.x,top:position.y,zIndex:2147483647,display:show?"block":"none"},onMouseEnter:handleMouseEnter,onClick:handleClick,children:[/*#__PURE__*/(0,jsx_runtime.jsx)("div",_objectSpread2(_objectSpread2({style:{touchAction:"none"}},touchProps),{},{children:handler})),/*#__PURE__*/(0,jsx_runtime.jsx)("div",{children:children})]});} +var getEdgePosition=function getEdgePosition(_ref,windowWidth,windowHeight,width,height){var left=_ref.x,top=_ref.y,edge=_ref.edge;var right=windowWidth-left-width;var bottom=windowHeight-top-height;var min=Math.min(left,top,right,bottom);switch(min){case right:edge="right";left=windowWidth-width;break;case left:edge="left";left=0;break;case bottom:edge="bottom";top=windowHeight-height;break;default:edge="top";top=0;}left=limitNumber(left,0,windowWidth-width);top=limitNumber(top,0,windowHeight-height);return{x:left,y:top,edge:edge,hide:false};};var getHidePosition=function getHidePosition(_ref2,windowWidth,windowHeight,width,height){var left=_ref2.x,top=_ref2.y,edge=_ref2.edge;switch(edge){case"right":left=windowWidth-width/2;break;case"left":left=-width/2;break;case"bottom":top=windowHeight-height/2;break;default:top=-height/2;}return{x:left,y:top,edge:edge,hide:true};};function Draggable(_ref3){var windowSize=_ref3.windowSize,width=_ref3.width,height=_ref3.height,left=_ref3.left,top=_ref3.top,show=_ref3.show,snapEdge=_ref3.snapEdge,onStart=_ref3.onStart,onMove=_ref3.onMove,handler=_ref3.handler,children=_ref3.children;var _useState=(0,react.useState)({x:left,y:top,px:left,py:top}),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),origin=_useState2[0],setOrigin=_useState2[1];var _useState3=(0,react.useState)({x:left,y:top,edge:null,hide:false}),_useState4=(0,slicedToArray/* default */.Z)(_useState3,2),position=_useState4[0],setPosition=_useState4[1];var _useState5=(0,react.useState)(null),_useState6=(0,slicedToArray/* default */.Z)(_useState5,2),edgeTimer=_useState6[0],setEdgeTimer=_useState6[1];var goEdge=(0,react.useCallback)(function(w,h,width,height){setPosition(function(pre){return getEdgePosition(pre,w,h,width,height);});setEdgeTimer(setTimeout(function(){setPosition(function(pre){return getHidePosition(pre,w,h,width,height);});},1500));},[]);var handlePointerDown=function handlePointerDown(e){!isMobile&&e.target.setPointerCapture(e.pointerId);onStart&&onStart();edgeTimer&&clearTimeout(edgeTimer);var _ref4=isMobile?e.targetTouches[0]:e,clientX=_ref4.clientX,clientY=_ref4.clientY;setOrigin({x:position.x,y:position.y,px:clientX,py:clientY});};var handlePointerMove=function handlePointerMove(e){onMove&&onMove();var _ref5=isMobile?e.targetTouches[0]:e,clientX=_ref5.clientX,clientY=_ref5.clientY;if(origin){var dx=clientX-origin.px;var dy=clientY-origin.py;var x=origin.x+dx;var y=origin.y+dy;var w=windowSize.w,h=windowSize.h;x=limitNumber(x,0,w-width);y=limitNumber(y,0,h-height);setPosition({x:x,y:y,edge:null,hide:false});}};var handlePointerUp=function handlePointerUp(e){e.stopPropagation();setOrigin(null);if(!snapEdge){return;}goEdge(windowSize.w,windowSize.h,width,height);};var handleClick=function handleClick(e){e.stopPropagation();};var handleMouseEnter=function handleMouseEnter(e){e.stopPropagation();if(snapEdge&&position.hide){edgeTimer&&clearTimeout(edgeTimer);goEdge(windowSize.w,windowSize.h,width,height);}};(0,react.useEffect)(function(){setOrigin(null);if(!snapEdge){return;}goEdge(windowSize.w,windowSize.h,width,height);},[snapEdge,goEdge,windowSize.w,windowSize.h,width,height]);(0,react.useEffect)(function(){if(position.hide){setFab({x:position.x,y:position.y});}},[position.x,position.y,position.hide]);var opacity=(0,react.useMemo)(function(){if(snapEdge){return position.hide?0.2:1;}return origin?0.8:1;},[origin,snapEdge,position.hide]);var touchProps=isMobile?{onTouchStart:handlePointerDown,onTouchMove:handlePointerMove,onTouchEnd:handlePointerUp}:{onPointerDown:handlePointerDown,onPointerMove:handlePointerMove,onPointerUp:handlePointerUp};return/*#__PURE__*/(0,jsx_runtime.jsxs)("div",{style:{opacity:opacity,position:"fixed",left:position.x,top:position.y,zIndex:2147483647,display:show?"block":"none"},onMouseEnter:handleMouseEnter,onClick:handleClick,children:[/*#__PURE__*/(0,jsx_runtime.jsx)("div",_objectSpread2(_objectSpread2({style:{touchAction:"none"}},touchProps),{},{children:handler})),/*#__PURE__*/(0,jsx_runtime.jsx)("div",{children:children})]});} ;// CONCATENATED MODULE: ./node_modules/@mui/material/IconButton/iconButtonClasses.js @@ -22088,7 +22057,7 @@ var Button = /*#__PURE__*/react.forwardRef(function Button(inProps, ref) { /** * 多语言 hook * @returns - */var useI18n=function useI18n(){var _useSetting;var _ref=(_useSetting=useSetting())!==null&&_useSetting!==void 0?_useSetting:{},uiLang=_ref.uiLang;return function(key){var _I18N$key$uiLang,_I18N$key;var defaultText=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"";return(_I18N$key$uiLang=I18N===null||I18N===void 0?void 0:(_I18N$key=I18N[key])===null||_I18N$key===void 0?void 0:_I18N$key[uiLang])!==null&&_I18N$key$uiLang!==void 0?_I18N$key$uiLang:defaultText;};};var useI18nMd=function useI18nMd(key){var i18n=useI18n();var fileName=i18n(key);var url=fileName?"".concat(URL_RAW_PREFIX,"/").concat(fileName):"";return useFetch(url);}; + */var useI18n=function useI18n(){var _useSetting=useSetting(),uiLang=_useSetting.setting.uiLang;return function(key){var _I18N$key$uiLang,_I18N$key;var defaultText=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"";return(_I18N$key$uiLang=I18N===null||I18N===void 0?void 0:(_I18N$key=I18N[key])===null||_I18N$key===void 0?void 0:_I18N$key[uiLang])!==null&&_I18N$key$uiLang!==void 0?_I18N$key$uiLang:defaultText;};};var useI18nMd=function useI18nMd(key){var i18n=useI18n();var fileName=i18n(key);var url=fileName?"".concat(URL_RAW_PREFIX,"/").concat(fileName):"";return useFetch(url);}; // EXTERNAL MODULE: ./node_modules/@mui/utils/esm/useId/useId.js var useId = __webpack_require__(8334); // EXTERNAL MODULE: ./node_modules/@mui/utils/esm/formatMuiErrorMessage.js @@ -26609,7 +26578,7 @@ var popoverClasses = (0,generateUtilityClasses/* default */.Z)('MuiPopover', ['r var Popover_excluded = ["onEntering"], - Popover_excluded2 = ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "container", "elevation", "marginThreshold", "open", "PaperProps", "slots", "slotProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps"], + Popover_excluded2 = ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "container", "elevation", "marginThreshold", "open", "PaperProps", "slots", "slotProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps", "disableScrollLock"], _excluded3 = ["slotProps"]; @@ -26731,6 +26700,8 @@ var Popover = /*#__PURE__*/react.forwardRef(function Popover(inProps, ref) { _props$TransitionProp = props.TransitionProps, _props$TransitionProp2 = _props$TransitionProp === void 0 ? {} : _props$TransitionProp, onEntering = _props$TransitionProp2.onEntering, + _props$disableScrollL = props.disableScrollLock, + disableScrollLock = _props$disableScrollL === void 0 ? false : _props$disableScrollL, TransitionProps = (0,objectWithoutPropertiesLoose/* default */.Z)(props.TransitionProps, Popover_excluded), other = (0,objectWithoutPropertiesLoose/* default */.Z)(props, Popover_excluded2); var externalPaperSlotProps = (_slotProps$paper = slotProps == null ? void 0 : slotProps.paper) != null ? _slotProps$paper : PaperPropsProp; @@ -26808,11 +26779,11 @@ var Popover = /*#__PURE__*/react.forwardRef(function Popover(inProps, ref) { var widthThreshold = containerWindow.innerWidth - marginThreshold; // Check if the vertical axis needs shifting - if (top < marginThreshold) { + if (marginThreshold !== null && top < marginThreshold) { var diff = top - marginThreshold; top -= diff; elemTransformOrigin.vertical += diff; - } else if (bottom > heightThreshold) { + } else if (marginThreshold !== null && bottom > heightThreshold) { var _diff = bottom - heightThreshold; top -= _diff; elemTransformOrigin.vertical += _diff; @@ -26820,7 +26791,7 @@ var Popover = /*#__PURE__*/react.forwardRef(function Popover(inProps, ref) { if (false) {} // Check if the horizontal axis needs shifting - if (left < marginThreshold) { + if (marginThreshold !== null && left < marginThreshold) { var _diff2 = left - marginThreshold; left -= _diff2; elemTransformOrigin.horizontal += _diff2; @@ -26854,6 +26825,14 @@ var Popover = /*#__PURE__*/react.forwardRef(function Popover(inProps, ref) { element.style.transformOrigin = positioning.transformOrigin; setIsPositioned(true); }, [getPositioningStyle]); + react.useEffect(function () { + if (disableScrollLock) { + window.addEventListener('scroll', setPositioningStyles); + } + return function () { + return window.removeEventListener('scroll', setPositioningStyles); + }; + }, [anchorEl, disableScrollLock, setPositioningStyles]); var handleEntering = function handleEntering(element, isAppearing) { if (onEntering) { onEntering(element, isAppearing); @@ -26934,7 +26913,8 @@ var Popover = /*#__PURE__*/react.forwardRef(function Popover(inProps, ref) { rootSlotPropsProp = _useSlotProps.slotProps, rootProps = (0,objectWithoutPropertiesLoose/* default */.Z)(_useSlotProps, _excluded3); return /*#__PURE__*/(0,jsx_runtime.jsx)(RootSlot, (0,esm_extends/* default */.Z)({}, rootProps, !isHostComponent(RootSlot) && { - slotProps: rootSlotPropsProp + slotProps: rootSlotPropsProp, + disableScrollLock: disableScrollLock }, { children: /*#__PURE__*/(0,jsx_runtime.jsx)(TransitionComponent, (0,esm_extends/* default */.Z)({ appear: true, @@ -28224,7 +28204,7 @@ var isIframe=window.self!==window.top;var sendIframeMsg=function sendIframeMsg(a ;// CONCATENATED MODULE: ./src/views/Popup/index.js function Popup(_ref){var setShowPopup=_ref.setShowPopup,tran=_ref.translator;var i18n=useI18n();var _useState=(0,react.useState)(tran===null||tran===void 0?void 0:tran.rule),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),rule=_useState2[0],setRule=_useState2[1];var handleOpenSetting=function handleOpenSetting(){if(isExt){browser===null||browser===void 0?void 0:browser.runtime.openOptionsPage();}else{window.open("https://fishjar.github.io/kiss-translator/options.html","_blank");}setShowPopup&&setShowPopup(false);};var handleTransToggle=/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(e){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.prev=0;setRule(_objectSpread2(_objectSpread2({},rule),{},{transOpen:e.target.checked?"true":"false"}));if(!isExt){_context.next=7;break;}_context.next=5;return sendTabMsg(MSG_TRANS_TOGGLE);case 5:_context.next=9;break;case 7:tran.toggle();sendIframeMsg(MSG_TRANS_TOGGLE);case 9:_context.next=14;break;case 11:_context.prev=11;_context.t0=_context["catch"](0);console.log("[toggle trans]",_context.t0);case 14:case"end":return _context.stop();}},_callee,null,[[0,11]]);}));return function handleTransToggle(_x){return _ref2.apply(this,arguments);};}();var handleChange=/*#__PURE__*/function(){var _ref3=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(e){var _e$target,name,value;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.prev=0;_e$target=e.target,name=_e$target.name,value=_e$target.value;setRule(function(pre){return _objectSpread2(_objectSpread2({},pre),{},(0,defineProperty/* default */.Z)({},name,value));});if(!isExt){_context2.next=8;break;}_context2.next=6;return sendTabMsg(MSG_TRANS_PUTRULE,(0,defineProperty/* default */.Z)({},name,value));case 6:_context2.next=10;break;case 8:tran.updateRule((0,defineProperty/* default */.Z)({},name,value));sendIframeMsg(MSG_TRANS_PUTRULE,(0,defineProperty/* default */.Z)({},name,value));case 10:_context2.next=15;break;case 12:_context2.prev=12;_context2.t0=_context2["catch"](0);console.log("[update rule]",_context2.t0);case 15:case"end":return _context2.stop();}},_callee2,null,[[0,12]]);}));return function handleChange(_x2){return _ref3.apply(this,arguments);};}();(0,react.useEffect)(function(){if(!isExt){return;}asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(){var res;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.prev=0;_context3.next=3;return sendTabMsg(MSG_TRANS_GETRULE);case 3:res=_context3.sent;if(!res.error){setRule(res.data);}_context3.next=10;break;case 7:_context3.prev=7;_context3.t0=_context3["catch"](0);console.log("[query rule]",_context3.t0);case 10:case"end":return _context3.stop();}},_callee3,null,[[0,7]]);}))();},[]);if(!rule){return/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{minWidth:300,sx:{p:2},children:/*#__PURE__*/(0,jsx_runtime.jsx)(Stack_Stack,{spacing:3,children:/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{variant:"text",onClick:handleOpenSetting,children:i18n("setting")})})});}var transOpen=rule.transOpen,translator=rule.translator,fromLang=rule.fromLang,toLang=rule.toLang,textStyle=rule.textStyle,bgColor=rule.bgColor;return/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{minWidth:300,sx:{p:2},children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{spacing:2,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(FormControlLabel_FormControlLabel,{control:/*#__PURE__*/(0,jsx_runtime.jsx)(Switch_Switch,{checked:transOpen==="true",onChange:handleTransToggle}),label:i18n("translate_alt")}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{select:true,SelectProps:{MenuProps:{disablePortal:true}},size:"small",value:translator,name:"translator",label:i18n("translate_service"),onChange:handleChange,children:OPT_TRANS_ALL.map(function(item){return/*#__PURE__*/(0,jsx_runtime.jsx)(MenuItem_MenuItem,{value:item,children:item},item);})}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{select:true,SelectProps:{MenuProps:{disablePortal:true}},size:"small",value:fromLang,name:"fromLang",label:i18n("from_lang"),onChange:handleChange,children:OPT_LANGS_FROM.map(function(_ref5){var _ref6=(0,slicedToArray/* default */.Z)(_ref5,2),lang=_ref6[0],name=_ref6[1];return/*#__PURE__*/(0,jsx_runtime.jsx)(MenuItem_MenuItem,{value:lang,children:name},lang);})}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{select:true,SelectProps:{MenuProps:{disablePortal:true}},size:"small",value:toLang,name:"toLang",label:i18n("to_lang"),onChange:handleChange,children:OPT_LANGS_TO.map(function(_ref7){var _ref8=(0,slicedToArray/* default */.Z)(_ref7,2),lang=_ref8[0],name=_ref8[1];return/*#__PURE__*/(0,jsx_runtime.jsx)(MenuItem_MenuItem,{value:lang,children:name},lang);})}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{select:true,SelectProps:{MenuProps:{disablePortal:true}},size:"small",value:textStyle,name:"textStyle",label:i18n("text_style_alt"),onChange:handleChange,children:OPT_STYLE_ALL.map(function(item){return/*#__PURE__*/(0,jsx_runtime.jsx)(MenuItem_MenuItem,{value:item,children:i18n(item)},item);})}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",name:"bgColor",value:bgColor,label:i18n("bg_color"),onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{variant:"text",onClick:handleOpenSetting,children:i18n("setting")})]})});} ;// CONCATENATED MODULE: ./src/views/Action/index.js -function Action(_ref){var _fab$x,_fab$y;var translator=_ref.translator,fab=_ref.fab;var fabWidth=40;var _useState=(0,react.useState)(false),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),showPopup=_useState2[0],setShowPopup=_useState2[1];var _useState3=(0,react.useState)({w:document.documentElement.clientWidth,h:document.documentElement.clientHeight}),_useState4=(0,slicedToArray/* default */.Z)(_useState3,2),windowSize=_useState4[0],setWindowSize=_useState4[1];var _useState5=(0,react.useState)(false),_useState6=(0,slicedToArray/* default */.Z)(_useState5,2),moved=_useState6[0],setMoved=_useState6[1];var handleWindowResize=(0,react.useMemo)(function(){return debounce(function(){setWindowSize({w:document.documentElement.clientWidth,h:document.documentElement.clientHeight});});},[]);var handleWindowClick=function handleWindowClick(e){setShowPopup(false);};var handleStart=(0,react.useCallback)(function(){setMoved(false);},[]);var handleMove=(0,react.useCallback)(function(){setMoved(true);},[]);(0,react.useEffect)(function(){window.addEventListener("resize",handleWindowResize);return function(){window.removeEventListener("resize",handleWindowResize);};},[handleWindowResize]);(0,react.useEffect)(function(){window.addEventListener("click",handleWindowClick);return function(){window.removeEventListener("click",handleWindowClick);};},[]);var popProps=(0,react.useMemo)(function(){var width=Math.min(windowSize.w,300);var height=Math.min(windowSize.h,442);var left=(windowSize.w-width)/2;var top=(windowSize.h-height)/2;return{windowSize:windowSize,width:width,height:height,left:left,top:top};},[windowSize]);var fabProps={windowSize:windowSize,width:fabWidth,height:fabWidth,left:(_fab$x=fab.x)!==null&&_fab$x!==void 0?_fab$x:0,top:(_fab$y=fab.y)!==null&&_fab$y!==void 0?_fab$y:windowSize.h/2};return/*#__PURE__*/(0,jsx_runtime.jsx)(StoragesProvider,{children:/*#__PURE__*/(0,jsx_runtime.jsxs)(MuiThemeProvider,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Draggable,_objectSpread2(_objectSpread2({},popProps),{},{show:showPopup,onStart:handleStart,onMove:handleMove,handler:/*#__PURE__*/(0,jsx_runtime.jsx)(Paper_Paper,{style:{cursor:"move"},elevation:3,children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{direction:"row",justifyContent:"space-between",alignItems:"center",spacing:2,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{style:{marginLeft:16},children:"".concat("KISS Translator"," v").concat("1.5.8")}),/*#__PURE__*/(0,jsx_runtime.jsx)(IconButton_IconButton,{onClick:function onClick(){setShowPopup(false);},children:/*#__PURE__*/(0,jsx_runtime.jsx)(Close/* default */.Z,{})})]})}),children:/*#__PURE__*/(0,jsx_runtime.jsx)(Paper_Paper,{children:showPopup&&/*#__PURE__*/(0,jsx_runtime.jsx)(Popup,{setShowPopup:setShowPopup,translator:translator})})}),"pop"),/*#__PURE__*/(0,jsx_runtime.jsx)(Draggable,_objectSpread2(_objectSpread2({snapEdge:true},fabProps),{},{show:!showPopup,onStart:handleStart,onMove:handleMove,handler:/*#__PURE__*/(0,jsx_runtime.jsx)(Fab_Fab,{size:"small",color:"primary",onClick:function onClick(e){if(!moved){setShowPopup(function(pre){return!pre;});}},children:/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.Z,{})})}),"fab")]})});} +function Action(_ref){var _fab$x,_fab$y;var translator=_ref.translator,fab=_ref.fab;var fabWidth=40;var _useState=(0,react.useState)(false),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),showPopup=_useState2[0],setShowPopup=_useState2[1];var _useState3=(0,react.useState)({w:document.documentElement.clientWidth,h:document.documentElement.clientHeight}),_useState4=(0,slicedToArray/* default */.Z)(_useState3,2),windowSize=_useState4[0],setWindowSize=_useState4[1];var _useState5=(0,react.useState)(false),_useState6=(0,slicedToArray/* default */.Z)(_useState5,2),moved=_useState6[0],setMoved=_useState6[1];var handleWindowResize=(0,react.useMemo)(function(){return debounce(function(){setWindowSize({w:document.documentElement.clientWidth,h:document.documentElement.clientHeight});});},[]);var handleWindowClick=function handleWindowClick(e){setShowPopup(false);};var handleStart=(0,react.useCallback)(function(){setMoved(false);},[]);var handleMove=(0,react.useCallback)(function(){setMoved(true);},[]);(0,react.useEffect)(function(){window.addEventListener("resize",handleWindowResize);return function(){window.removeEventListener("resize",handleWindowResize);};},[handleWindowResize]);(0,react.useEffect)(function(){window.addEventListener("click",handleWindowClick);return function(){window.removeEventListener("click",handleWindowClick);};},[]);var popProps=(0,react.useMemo)(function(){var width=Math.min(windowSize.w,300);var height=Math.min(windowSize.h,442);var left=(windowSize.w-width)/2;var top=(windowSize.h-height)/2;return{windowSize:windowSize,width:width,height:height,left:left,top:top};},[windowSize]);var fabProps={windowSize:windowSize,width:fabWidth,height:fabWidth,left:(_fab$x=fab.x)!==null&&_fab$x!==void 0?_fab$x:0,top:(_fab$y=fab.y)!==null&&_fab$y!==void 0?_fab$y:windowSize.h/2};return/*#__PURE__*/(0,jsx_runtime.jsx)(SettingProvider,{children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Theme,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Draggable,_objectSpread2(_objectSpread2({},popProps),{},{show:showPopup,onStart:handleStart,onMove:handleMove,handler:/*#__PURE__*/(0,jsx_runtime.jsx)(Paper_Paper,{style:{cursor:"move"},elevation:3,children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{direction:"row",justifyContent:"space-between",alignItems:"center",spacing:2,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{style:{marginLeft:16},children:"".concat("KISS Translator"," v").concat("1.6.0")}),/*#__PURE__*/(0,jsx_runtime.jsx)(IconButton_IconButton,{onClick:function onClick(){setShowPopup(false);},children:/*#__PURE__*/(0,jsx_runtime.jsx)(Close/* default */.Z,{})})]})}),children:/*#__PURE__*/(0,jsx_runtime.jsx)(Paper_Paper,{children:showPopup&&/*#__PURE__*/(0,jsx_runtime.jsx)(Popup,{setShowPopup:setShowPopup,translator:translator})})}),"pop"),/*#__PURE__*/(0,jsx_runtime.jsx)(Draggable,_objectSpread2(_objectSpread2({snapEdge:true},fabProps),{},{show:!showPopup,onStart:handleStart,onMove:handleMove,handler:/*#__PURE__*/(0,jsx_runtime.jsx)(Fab_Fab,{size:"small",color:"primary",onClick:function onClick(e){if(!moved){setShowPopup(function(pre){return!pre;});}},children:/*#__PURE__*/(0,jsx_runtime.jsx)(Translate/* default */.Z,{})})}),"fab")]})});} ;// CONCATENATED MODULE: ./src/views/Content/LoadingIcon.js function LoadingIcon(){return/*#__PURE__*/(0,jsx_runtime.jsxs)("svg",{viewBox:"0 0 100 100",style:{maxWidth:"1.2em",maxHeight:"1.2em"},children:[/*#__PURE__*/(0,jsx_runtime.jsx)("circle",{fill:DEFAULT_COLOR,stroke:"none",cx:"6",cy:"50",r:"6",children:/*#__PURE__*/(0,jsx_runtime.jsx)("animateTransform",{attributeName:"transform",dur:"1s",type:"translate",values:"0 15 ; 0 -15; 0 15",repeatCount:"indefinite",begin:"0.1"})}),/*#__PURE__*/(0,jsx_runtime.jsx)("circle",{fill:DEFAULT_COLOR,stroke:"none",cx:"30",cy:"50",r:"6",children:/*#__PURE__*/(0,jsx_runtime.jsx)("animateTransform",{attributeName:"transform",dur:"1s",type:"translate",values:"0 10 ; 0 -10; 0 10",repeatCount:"indefinite",begin:"0.2"})}),/*#__PURE__*/(0,jsx_runtime.jsx)("circle",{fill:DEFAULT_COLOR,stroke:"none",cx:"54",cy:"50",r:"6",children:/*#__PURE__*/(0,jsx_runtime.jsx)("animateTransform",{attributeName:"transform",dur:"1s",type:"translate",values:"0 5 ; 0 -5; 0 5",repeatCount:"indefinite",begin:"0.3"})})]});} ;// CONCATENATED MODULE: ./src/hooks/Translate.js @@ -28232,10 +28212,11 @@ function LoadingIcon(){return/*#__PURE__*/(0,jsx_runtime.jsxs)("svg",{viewBox:"0 * 翻译hook * @param {*} q * @param {*} rule + * @param {*} setting * @returns - */function useTranslate(q,rule){var _useState=(0,react.useState)(""),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),text=_useState2[0],setText=_useState2[1];var _useState3=(0,react.useState)(false),_useState4=(0,slicedToArray/* default */.Z)(_useState3,2),loading=_useState4[0],setLoading=_useState4[1];var _useState5=(0,react.useState)(false),_useState6=(0,slicedToArray/* default */.Z)(_useState5,2),sameLang=_useState6[0],setSamelang=_useState6[1];var translator=rule.translator,fromLang=rule.fromLang,toLang=rule.toLang;(0,react.useEffect)(function(){asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){var deLang,_yield$apiTranslate,_yield$apiTranslate2,trText,isSame;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.prev=0;setLoading(true);_context.next=4;return detectLang(q);case 4:deLang=_context.sent;if(!toLang.includes(deLang)){_context.next=9;break;}setSamelang(true);_context.next=17;break;case 9:_context.next=11;return apiTranslate({translator:translator,q:q,fromLang:fromLang,toLang:toLang});case 11:_yield$apiTranslate=_context.sent;_yield$apiTranslate2=(0,slicedToArray/* default */.Z)(_yield$apiTranslate,2);trText=_yield$apiTranslate2[0];isSame=_yield$apiTranslate2[1];setText(trText);setSamelang(isSame);case 17:_context.next=22;break;case 19:_context.prev=19;_context.t0=_context["catch"](0);console.log("[translate]",_context.t0);case 22:_context.prev=22;setLoading(false);return _context.finish(22);case 25:case"end":return _context.stop();}},_callee,null,[[0,19,22,25]]);}))();},[q,translator,fromLang,toLang]);return{text:text,sameLang:sameLang,loading:loading};} + */function useTranslate(q,rule,setting){var _useState=(0,react.useState)(""),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),text=_useState2[0],setText=_useState2[1];var _useState3=(0,react.useState)(false),_useState4=(0,slicedToArray/* default */.Z)(_useState3,2),loading=_useState4[0],setLoading=_useState4[1];var _useState5=(0,react.useState)(false),_useState6=(0,slicedToArray/* default */.Z)(_useState5,2),sameLang=_useState6[0],setSamelang=_useState6[1];var translator=rule.translator,fromLang=rule.fromLang,toLang=rule.toLang;(0,react.useEffect)(function(){asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){var deLang,_yield$apiTranslate,_yield$apiTranslate2,trText,isSame;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.prev=0;setLoading(true);_context.next=4;return tryDetectLang(q);case 4:deLang=_context.sent;if(!(deLang&&toLang.includes(deLang))){_context.next=9;break;}setSamelang(true);_context.next=17;break;case 9:_context.next=11;return apiTranslate({translator:translator,q:q,fromLang:fromLang,toLang:toLang,setting:setting});case 11:_yield$apiTranslate=_context.sent;_yield$apiTranslate2=(0,slicedToArray/* default */.Z)(_yield$apiTranslate,2);trText=_yield$apiTranslate2[0];isSame=_yield$apiTranslate2[1];setText(trText);setSamelang(isSame);case 17:_context.next=22;break;case 19:_context.prev=19;_context.t0=_context["catch"](0);console.log("[translate]",_context.t0);case 22:_context.prev=22;setLoading(false);return _context.finish(22);case 25:case"end":return _context.stop();}},_callee,null,[[0,19,22,25]]);}))();},[q,translator,fromLang,toLang,setting]);return{text:text,sameLang:sameLang,loading:loading};} ;// CONCATENATED MODULE: ./src/views/Content/index.js -function Content(_ref){var q=_ref.q,translator=_ref.translator;var _useState=(0,react.useState)(translator.rule),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),rule=_useState2[0],setRule=_useState2[1];var _useState3=(0,react.useState)(false),_useState4=(0,slicedToArray/* default */.Z)(_useState3,2),hover=_useState4[0],setHover=_useState4[1];var _useTranslate=useTranslate(q,rule),text=_useTranslate.text,sameLang=_useTranslate.sameLang,loading=_useTranslate.loading;var textStyle=rule.textStyle,bgColor=rule.bgColor;var handleMouseEnter=function handleMouseEnter(){setHover(true);};var handleMouseLeave=function handleMouseLeave(){setHover(false);};var handleKissEvent=function handleKissEvent(e){var _e$detail=e.detail,action=_e$detail.action,args=_e$detail.args;switch(action){case MSG_TRANS_CURRULE:setRule(args);break;default:// console.log(`[popup] kissEvent action skip: ${action}`); +function Content(_ref){var q=_ref.q,translator=_ref.translator;var _useState=(0,react.useState)(translator.rule),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),rule=_useState2[0],setRule=_useState2[1];var _useState3=(0,react.useState)(false),_useState4=(0,slicedToArray/* default */.Z)(_useState3,2),hover=_useState4[0],setHover=_useState4[1];var _useTranslate=useTranslate(q,rule,translator.setting),text=_useTranslate.text,sameLang=_useTranslate.sameLang,loading=_useTranslate.loading;var textStyle=rule.textStyle,bgColor=rule.bgColor;var handleMouseEnter=function handleMouseEnter(){setHover(true);};var handleMouseLeave=function handleMouseLeave(){setHover(false);};var handleKissEvent=function handleKissEvent(e){var _e$detail=e.detail,action=_e$detail.action,args=_e$detail.args;switch(action){case MSG_TRANS_CURRULE:setRule(args);break;default:// console.log(`[popup] kissEvent action skip: ${action}`); }};(0,react.useEffect)(function(){window.addEventListener(EVENT_KISS,handleKissEvent);return function(){window.removeEventListener(EVENT_KISS,handleKissEvent);};},[]);var style=(0,react.useMemo)(function(){var lineColor=bgColor||"";var underlineStyle=function underlineStyle(st){return{opacity:hover?1:0.6,textDecorationLine:"underline",textDecorationColor:lineColor,textDecorationStyle:st,textDecorationThickness:"2px",textUnderlineOffset:"0.3em",WebkittextDecorationLine:"underline",WebkittextDecorationColor:lineColor,WebkittextDecorationStyle:st,WebkittextDecorationThickness:"2px",WebkittextTextUnderlineOffset:"0.3em"};};switch(textStyle){case OPT_STYLE_LINE:// 下划线 return underlineStyle("solid");case OPT_STYLE_DOTLINE:// 点状线 return underlineStyle("dotted");case OPT_STYLE_DASHLINE:// 虚线 @@ -28246,7 +28227,7 @@ return{color:"#FFF",backgroundColor:bgColor||DEFAULT_COLOR};default:return{};}}, ;// CONCATENATED MODULE: ./src/libs/translator.js /** * 翻译类 - */var Translator=/*#__PURE__*/function(){function Translator(rule,_ref){var _this2=this;var fetchInterval=_ref.fetchInterval,fetchLimit=_ref.fetchLimit,minLength=_ref.minLength,maxLength=_ref.maxLength;_classCallCheck(this,Translator);this._rule={};this._minLength=0;this._maxLength=0;this._skipNodeNames=[APP_LCNAME,"style","svg","img","audio","video","textarea","input","button","select","option","head","script","iframe"];this._rootNodes=new Set();this._tranNodes=new Map();// 显示 + */var Translator=/*#__PURE__*/function(){function Translator(rule,setting){var _this2=this;_classCallCheck(this,Translator);this._rule={};this._setting={};this._rootNodes=new Set();this._tranNodes=new Map();this._skipNodeNames=[APP_LCNAME,"style","svg","img","audio","video","textarea","input","button","select","option","head","script","iframe"];// 显示 this._interseObserver=new IntersectionObserver(function(intersections){intersections.forEach(function(intersection){if(intersection.isIntersecting){_this2._render(intersection.target);_this2._interseObserver.unobserve(intersection.target);}});},{threshold:0.1});// 变化 this._mutaObserver=new MutationObserver(function(mutations){mutations.forEach(function(mutation){if(!_this2._skipNodeNames.includes(mutation.target.localName)&&mutation.addedNodes.length>0){var nodes=Array.from(mutation.addedNodes).filter(function(node){if(_this2._skipNodeNames.includes(node.localName)||node.id===APP_LCNAME){return false;}return true;});if(nodes.length>0){// const rootNode = mutation.target.getRootNode(); // todo @@ -28266,17 +28247,47 @@ _this2._mutaObserver.disconnect();// 解除节点显示监听 _this2._interseObserver.disconnect();// 移除已插入元素 _this2._tranNodes.forEach(function(_,node){var _node$querySelector;(_node$querySelector=node.querySelector(APP_LCNAME))===null||_node$querySelector===void 0?void 0:_node$querySelector.remove();});// 清空节点集合 _this2._rootNodes.clear();_this2._tranNodes.clear();// 清空任务池 -fetchClear();};this._reTranslate=debounce(function(){if(_this2._rule.transOpen==="true"){_this2._register();}},500);this._render=function(el){var traEl=el.querySelector(APP_LCNAME);// 已翻译 +clearFetchPool();};this._reTranslate=debounce(function(){if(_this2._rule.transOpen==="true"){_this2._register();}},500);this._render=function(el){var _this2$_setting$minLe,_this2$_setting$maxLe;var traEl=el.querySelector(APP_LCNAME);// 已翻译 if(traEl){var preText=_this2._tranNodes.get(el);var curText=el.innerText.trim();// const traText = traEl.innerText.trim(); // todo // 1. traText when loading // 2. replace startsWith if(curText.startsWith(preText)){return;}traEl.remove();}var q=el.innerText.trim();_this2._tranNodes.set(el,q);// 太长或太短 -if(!q||q.length<_this2._minLength||q.length>_this2._maxLength){return;}// console.log("---> ", q); -traEl=document.createElement(APP_LCNAME);traEl.style.visibility="visible";el.appendChild(traEl);el.style.cssText+="-webkit-line-clamp: unset; max-height: none; height: auto;";if(el.parentElement){el.parentElement.style.cssText+="-webkit-line-clamp: unset; max-height: none; height: auto;";}var root=(0,client.createRoot)(traEl);root.render(/*#__PURE__*/(0,jsx_runtime.jsx)(Content,{q:q,translator:_this2}));};fetchUpdate(fetchInterval,fetchLimit);this._overrideAttachShadow();this._minLength=minLength!==null&&minLength!==void 0?minLength:TRANS_MIN_LENGTH;this._maxLength=maxLength!==null&&maxLength!==void 0?maxLength:TRANS_MAX_LENGTH;this.rule=rule;if(rule.transOpen==="true"){this._register();}}_createClass(Translator,[{key:"rule",get:function get(){// console.log("get rule", this._rule); +if(!q||q.length<((_this2$_setting$minLe=_this2._setting.minLength)!==null&&_this2$_setting$minLe!==void 0?_this2$_setting$minLe:TRANS_MIN_LENGTH)||q.length>((_this2$_setting$maxLe=_this2._setting.maxLength)!==null&&_this2$_setting$maxLe!==void 0?_this2$_setting$maxLe:TRANS_MAX_LENGTH)){return;}// console.log("---> ", q); +traEl=document.createElement(APP_LCNAME);traEl.style.visibility="visible";el.appendChild(traEl);el.style.cssText+="-webkit-line-clamp: unset; max-height: none; height: auto;";if(el.parentElement){el.parentElement.style.cssText+="-webkit-line-clamp: unset; max-height: none; height: auto;";}var root=(0,client.createRoot)(traEl);root.render(/*#__PURE__*/(0,jsx_runtime.jsx)(Content,{q:q,translator:_this2}));};var fetchInterval=setting.fetchInterval,fetchLimit=setting.fetchLimit;updateFetchPool(fetchInterval,fetchLimit);this._overrideAttachShadow();this._setting=setting;this._rule=rule;if(rule.transOpen==="true"){this._register();}}_createClass(Translator,[{key:"setting",get:function get(){return this._setting;}},{key:"rule",get:function get(){// console.log("get rule", this._rule); return this._rule;},set:function set(rule){// console.log("set rule", rule); this._rule=rule;// 广播消息 window.dispatchEvent(new CustomEvent(EVENT_KISS,{detail:{action:MSG_TRANS_CURRULE,args:rule}}));}}]);return Translator;}(); +;// CONCATENATED MODULE: ./src/libs/rules.js +/** + * 根据href匹配规则 + * @param {*} rules + * @param {string} href + * @returns + */var matchRule=/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(rules,href,_ref){var _rule$selector,_globalRule$selector,_rule$bgColor,_globalRule$bgColor;var _ref$injectRules,injectRules,_ref$subrulesList,subrulesList,selectedSub,_rules,subRules,rule,globalRule;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_ref$injectRules=_ref.injectRules,injectRules=_ref$injectRules===void 0?true:_ref$injectRules,_ref$subrulesList=_ref.subrulesList,subrulesList=_ref$subrulesList===void 0?DEFAULT_SUBRULES_LIST:_ref$subrulesList;rules=(0,toConsumableArray/* default */.Z)(rules);if(!injectRules){_context.next=15;break;}_context.prev=3;selectedSub=subrulesList.find(function(item){return item.selected;});if(!(selectedSub!==null&&selectedSub!==void 0&&selectedSub.url)){_context.next=10;break;}_context.next=8;return loadOrFetchSubRules(selectedSub.url);case 8:subRules=_context.sent;(_rules=rules).splice.apply(_rules,[-1,0].concat((0,toConsumableArray/* default */.Z)(subRules)));case 10:_context.next=15;break;case 12:_context.prev=12;_context.t0=_context["catch"](3);console.log("[load injectRules]",_context.t0);case 15:rule=rules.find(function(r){return r.pattern.split(",").some(function(p){return isMatch(href,p.trim());});});globalRule=rules.find(function(r){return r.pattern.split(",").some(function(p){return p.trim()==="*";});})||GLOBLA_RULE;if(rule){_context.next=19;break;}return _context.abrupt("return",globalRule);case 19:rule.selector=(rule===null||rule===void 0?void 0:(_rule$selector=rule.selector)===null||_rule$selector===void 0?void 0:_rule$selector.trim())||(globalRule===null||globalRule===void 0?void 0:(_globalRule$selector=globalRule.selector)===null||_globalRule$selector===void 0?void 0:_globalRule$selector.trim())||GLOBLA_RULE.selector;rule.bgColor=(rule===null||rule===void 0?void 0:(_rule$bgColor=rule.bgColor)===null||_rule$bgColor===void 0?void 0:_rule$bgColor.trim())||(globalRule===null||globalRule===void 0?void 0:(_globalRule$bgColor=globalRule.bgColor)===null||_globalRule$bgColor===void 0?void 0:_globalRule$bgColor.trim());["translator","fromLang","toLang","textStyle","transOpen"].forEach(function(key){if(rule[key]===GLOBAL_KEY){rule[key]=globalRule[key];}});return _context.abrupt("return",rule);case 23:case"end":return _context.stop();}},_callee,null,[[3,12]]);}));return function matchRule(_x,_x2,_x3){return _ref2.apply(this,arguments);};}();/** + * 检查过滤rules + * @param {*} rules + * @returns + */var checkRules=function checkRules(rules){if(type(rules)==="string"){rules=JSON.parse(rules);}if(type(rules)!=="array"){throw new Error("data error");}var fromLangs=OPT_LANGS_FROM.map(function(item){return item[0];});var toLangs=OPT_LANGS_TO.map(function(item){return item[0];});var patternSet=new Set();rules=rules.filter(function(rule){return type(rule)==="object";}).filter(function(_ref3){var pattern=_ref3.pattern;if(type(pattern)!=="string"||patternSet.has(pattern.trim())){return false;}patternSet.add(pattern.trim());return true;}).map(function(_ref4){var pattern=_ref4.pattern,selector=_ref4.selector,translator=_ref4.translator,fromLang=_ref4.fromLang,toLang=_ref4.toLang,textStyle=_ref4.textStyle,transOpen=_ref4.transOpen,bgColor=_ref4.bgColor;return{pattern:pattern.trim(),selector:type(selector)==="string"?selector:"",bgColor:type(bgColor)==="string"?bgColor:"",translator:matchValue([GLOBAL_KEY].concat((0,toConsumableArray/* default */.Z)(OPT_TRANS_ALL)),translator),fromLang:matchValue([GLOBAL_KEY].concat((0,toConsumableArray/* default */.Z)(fromLangs)),fromLang),toLang:matchValue([GLOBAL_KEY].concat((0,toConsumableArray/* default */.Z)(toLangs)),toLang),textStyle:matchValue([GLOBAL_KEY].concat((0,toConsumableArray/* default */.Z)(OPT_STYLE_ALL)),textStyle),transOpen:matchValue([GLOBAL_KEY,"true","false"],transOpen)};});return rules;}; +;// CONCATENATED MODULE: ./src/libs/subRules.js +/** + * 同步订阅规则 + * @param {*} url + * @returns + */var syncSubRules=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(url){var isBg,res,rules,_args=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:isBg=_args.length>1&&_args[1]!==undefined?_args[1]:false;_context.next=3;return apiFetchRules(url,isBg);case 3:res=_context.sent;rules=checkRules(res).filter(function(rule){return rule.pattern.replaceAll(GLOBAL_KEY,"")!=="";});if(!(rules.length>0)){_context.next=8;break;}_context.next=8;return setSubRules(url,rules);case 8:return _context.abrupt("return",rules);case 9:case"end":return _context.stop();}},_callee);}));return function syncSubRules(_x){return _ref.apply(this,arguments);};}();/** + * 同步所有订阅规则 + * @param {*} url + * @returns + */var syncAllSubRules=/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(subrulesList){var isBg,_iterator,_step,subrules,_args2=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:isBg=_args2.length>1&&_args2[1]!==undefined?_args2[1]:false;_iterator=_createForOfIteratorHelper(subrulesList);_context2.prev=2;_iterator.s();case 4:if((_step=_iterator.n()).done){_context2.next=16;break;}subrules=_step.value;_context2.prev=6;_context2.next=9;return syncSubRules(subrules.url,isBg);case 9:_context2.next=14;break;case 11:_context2.prev=11;_context2.t0=_context2["catch"](6);console.log("[sync subrule error]: ".concat(subrules.url),_context2.t0);case 14:_context2.next=4;break;case 16:_context2.next=21;break;case 18:_context2.prev=18;_context2.t1=_context2["catch"](2);_iterator.e(_context2.t1);case 21:_context2.prev=21;_iterator.f();return _context2.finish(21);case 24:case"end":return _context2.stop();}},_callee2,null,[[2,18,21,24],[6,11]]);}));return function syncAllSubRules(_x2){return _ref2.apply(this,arguments);};}();/** + * 根据时间同步所有订阅规则 + * @param {*} url + * @returns + */var trySyncAllSubRules=/*#__PURE__*/function(){var _ref4=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(_ref3){var subrulesList,isBg,_yield$getSyncWithDef,subRulesSyncAt,now,interval,_args3=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:subrulesList=_ref3.subrulesList;isBg=_args3.length>1&&_args3[1]!==undefined?_args3[1]:false;_context3.prev=2;_context3.next=5;return storage_getSyncWithDefault();case 5:_yield$getSyncWithDef=_context3.sent;subRulesSyncAt=_yield$getSyncWithDef.subRulesSyncAt;now=Date.now();interval=24*60*60*1000;// 间隔一天 +if(!(now-subRulesSyncAt>interval)){_context3.next=14;break;}_context3.next=12;return syncAllSubRules(subrulesList,isBg);case 12:_context3.next=14;return storage_updateSync({subRulesSyncAt:now});case 14:_context3.next=19;break;case 16:_context3.prev=16;_context3.t0=_context3["catch"](2);console.log("[try sync all subrules]",_context3.t0);case 19:case"end":return _context3.stop();}},_callee3,null,[[2,16]]);}));return function trySyncAllSubRules(_x3){return _ref4.apply(this,arguments);};}();/** + * 从缓存或远程加载订阅规则 + * @param {*} url + * @returns + */var loadOrFetchSubRules=/*#__PURE__*/function(){var _ref5=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(url){var rules;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return getSubRules(url);case 2:rules=_context4.sent;if(!(rules!==null&&rules!==void 0&&rules.length)){_context4.next=5;break;}return _context4.abrupt("return",rules);case 5:return _context4.abrupt("return",syncSubRules(url));case 6:case"end":return _context4.stop();}},_callee4);}));return function loadOrFetchSubRules(_x4){return _ref5.apply(this,arguments);};}(); ;// CONCATENATED MODULE: ./src/libs/gm.js /** * 注入页面的脚本,请求并接受GM接口信息 @@ -28288,14 +28299,12 @@ window.dispatchEvent(new CustomEvent(EVENT_KISS,{detail:{action:MSG_TRANS_CURRUL ;// CONCATENATED MODULE: ./src/userscript.js /** * 入口函数 - */var init=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){var ping,script,href,setting,rules,rule,translator,fab,$action,shadowContainer,emotionRoot,shadowRootElement,cache;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:if(!(document.location.href.includes("http://localhost:3000/options.html")||document.location.href.includes("https://fishjar.github.io/kiss-translator/options.html")||document.location.href.includes("https://kiss-translator.rayjar.com/options"))){_context.next=7;break;}// unsafeWindow.GM = GM; -// unsafeWindow.APP_NAME = process.env.REACT_APP_NAME; -ping=btoa(Math.random()).slice(3,11);window.addEventListener(ping,handlePing);// window.eval(`(${injectScript})("${ping}")`); // eslint-disable-line -script=document.createElement("script");script.textContent="(".concat(injectScript,")(\"").concat(ping,"\")");if(document.head){document.head.append(script);}return _context.abrupt("return");case 7:// 翻译页面 -href=isIframe?document.referrer:document.location.href;_context.next=10;return libs_getSetting();case 10:setting=_context.sent;_context.next=13;return libs_getRules();case 13:rules=_context.sent;_context.next=16;return matchRule(rules,href,setting);case 16:rule=_context.sent;translator=new Translator(rule,setting);if(!isIframe){_context.next=21;break;}// iframe -window.addEventListener("message",function(e){var _e$data;var action=e===null||e===void 0?void 0:(_e$data=e.data)===null||_e$data===void 0?void 0:_e$data.action;switch(action){case MSG_TRANS_TOGGLE:translator.toggle();break;case MSG_TRANS_PUTRULE:translator.updateRule(e.data.args||{});break;default:}});return _context.abrupt("return");case 21:_context.next=23;return getFab();case 23:fab=_context.sent;$action=document.createElement("div");$action.setAttribute("id","kiss-translator");document.body.parentElement.appendChild($action);shadowContainer=$action.attachShadow({mode:"closed"});emotionRoot=document.createElement("style");shadowRootElement=document.createElement("div");shadowContainer.appendChild(emotionRoot);shadowContainer.appendChild(shadowRootElement);cache=(0,emotion_cache_browser_esm/* default */.Z)({key:"css",prepend:true,container:emotionRoot});client.createRoot(shadowRootElement).render(/*#__PURE__*/(0,jsx_runtime.jsx)(react.StrictMode,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(emotion_element_c39617d8_browser_esm.C,{value:cache,children:/*#__PURE__*/(0,jsx_runtime.jsx)(Action,{translator:translator,fab:fab})})}));// 注册菜单 + */var init=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){var _GM,_GM$info,_GM$info$script,_GM$info$script$grant,ping,script,href,setting,rules,rule,translator,fab,$action,shadowContainer,emotionRoot,shadowRootElement,cache;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:if(!(document.location.href.includes("http://localhost:3000/options.html")||document.location.href.includes("https://fishjar.github.io/kiss-translator/options.html")||document.location.href.includes("https://kiss-translator.rayjar.com/options"))){_context.next=3;break;}if((_GM=GM)!==null&&_GM!==void 0&&(_GM$info=_GM.info)!==null&&_GM$info!==void 0&&(_GM$info$script=_GM$info.script)!==null&&_GM$info$script!==void 0&&(_GM$info$script$grant=_GM$info$script.grant)!==null&&_GM$info$script$grant!==void 0&&_GM$info$script$grant.includes("unsafeWindow")){unsafeWindow.GM=GM;unsafeWindow.APP_NAME="KISS Translator";}else{ping=btoa(Math.random()).slice(3,11);window.addEventListener(ping,handlePing);// window.eval(`(${injectScript})("${ping}")`); // eslint-disable-line +script=document.createElement("script");script.textContent="(".concat(injectScript,")(\"").concat(ping,"\")");document.head.append(script);}return _context.abrupt("return");case 3:// 翻译页面 +href=isIframe?document.referrer:document.location.href;_context.next=6;return getSettingWithDefault();case 6:setting=_context.sent;_context.next=9;return storage_getRulesWithDefault();case 9:rules=_context.sent;_context.next=12;return matchRule(rules,href,setting);case 12:rule=_context.sent;translator=new Translator(rule,setting);if(!isIframe){_context.next=17;break;}// iframe +window.addEventListener("message",function(e){var _e$data;var action=e===null||e===void 0?void 0:(_e$data=e.data)===null||_e$data===void 0?void 0:_e$data.action;switch(action){case MSG_TRANS_TOGGLE:translator.toggle();break;case MSG_TRANS_PUTRULE:translator.updateRule(e.data.args||{});break;default:}});return _context.abrupt("return");case 17:_context.next=19;return getFabWithDefault();case 19:fab=_context.sent;$action=document.createElement("div");$action.setAttribute("id","kiss-translator");document.body.parentElement.appendChild($action);shadowContainer=$action.attachShadow({mode:"closed"});emotionRoot=document.createElement("style");shadowRootElement=document.createElement("div");shadowContainer.appendChild(emotionRoot);shadowContainer.appendChild(shadowRootElement);cache=(0,emotion_cache_browser_esm/* default */.Z)({key:"css",prepend:true,container:emotionRoot});client.createRoot(shadowRootElement).render(/*#__PURE__*/(0,jsx_runtime.jsx)(react.StrictMode,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(emotion_element_c39617d8_browser_esm.C,{value:cache,children:/*#__PURE__*/(0,jsx_runtime.jsx)(Action,{translator:translator,fab:fab})})}));// 注册菜单 if(isGm){try{GM.registerMenuCommand("Toggle Translate",function(event){translator.toggle();},"Q");GM.registerMenuCommand("Toggle Style",function(event){translator.toggleStyle();},"C");}catch(err){console.log("[registerMenuCommand]",err);}}// 同步订阅规则 -trySyncAllSubRules(setting);case 36:case"end":return _context.stop();}},_callee);}));return function init(){return _ref.apply(this,arguments);};}();asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(){var $err;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.prev=0;_context2.next=3;return init();case 3:_context2.next=11;break;case 5:_context2.prev=5;_context2.t0=_context2["catch"](0);$err=document.createElement("div");$err.innerText="KISS-Translator: ".concat(_context2.t0.message);$err.style.cssText="background:red; color:#fff; z-index:10000;";document.body.prepend($err);case 11:case"end":return _context2.stop();}},_callee2,null,[[0,5]]);}))(); +trySyncAllSubRules(setting);case 32:case"end":return _context.stop();}},_callee);}));return function init(){return _ref.apply(this,arguments);};}();asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(){var $err;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.prev=0;_context2.next=3;return init();case 3:_context2.next=11;break;case 5:_context2.prev=5;_context2.t0=_context2["catch"](0);$err=document.createElement("div");$err.innerText="KISS-Translator: ".concat(_context2.t0.message);$err.style.cssText="background:red; color:#fff; z-index:10000;";document.body.prepend($err);case 11:case"end":return _context2.stop();}},_callee2,null,[[0,5]]);}))(); }(); /******/ })() ; \ No newline at end of file diff --git a/main.js b/main.js index 5b75ed2..b3ce5f9 100644 --- a/main.js +++ b/main.js @@ -13981,7 +13981,7 @@ tags.forEach(function (tagName) { ;// CONCATENATED MODULE: ./node_modules/@mui/styled-engine/index.js /** - * @mui/styled-engine v5.14.6 + * @mui/styled-engine v5.14.7 * * @license MIT * This source code is licensed under the MIT license found in the @@ -34191,10 +34191,12 @@ function _asyncToGenerator(fn) { */var useFetch=function useFetch(url){var _useState=(0,react.useState)(null),_useState2=_slicedToArray(_useState,2),data=_useState2[0],setData=_useState2[1];var _useState3=(0,react.useState)(false),_useState4=_slicedToArray(_useState3,2),loading=_useState4[0],setLoading=_useState4[1];var _useState5=(0,react.useState)(null),_useState6=_slicedToArray(_useState5,2),error=_useState6[0],setError=_useState6[1];(0,react.useEffect)(function(){if(!url){return;}_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){var _res$headers$get,res,_data;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:setLoading(true);_context.prev=1;_context.next=4;return fetch(url);case 4:res=_context.sent;if(res.ok){_context.next=7;break;}throw new Error("[".concat(res.status,"] ").concat(res.statusText));case 7:if(!((_res$headers$get=res.headers.get("Content-Type"))!==null&&_res$headers$get!==void 0&&_res$headers$get.includes("json"))){_context.next=13;break;}_context.next=10;return res.json();case 10:_data=_context.sent;_context.next=16;break;case 13:_context.next=15;return res.text();case 15:_data=_context.sent;case 16:setData(_data);_context.next=22;break;case 19:_context.prev=19;_context.t0=_context["catch"](1);setError(_context.t0);case 22:_context.prev=22;setLoading(false);return _context.finish(22);case 25:case"end":return _context.stop();}},_callee,null,[[1,19,22,25]]);}))();},[url]);return[data,loading,error];}; ;// CONCATENATED MODULE: ./src/config/rules.js var els="li, p, h1, h2, h3, h4, h5, h6, dd";var DEFAULT_SELECTOR=":is(".concat(els,")");var GLOBAL_KEY="*";var SHADOW_KEY=">>>";var DEFAULT_RULE={pattern:"",selector:"",translator:GLOBAL_KEY,fromLang:GLOBAL_KEY,toLang:GLOBAL_KEY,textStyle:GLOBAL_KEY,transOpen:GLOBAL_KEY,bgColor:""};var RULES=[{pattern:"www.google.com/search",selector:"h3, .IsZvec, .VwiC3b"},{pattern:"news.google.com",selector:"h4"},{pattern:"www.foxnews.com",selector:"h1, h2, .title, .sidebar [data-type=\"Title\"], .article-content ".concat(DEFAULT_SELECTOR,"; [data-spotim-module=\"conversation\"]>div >>> [data-spot-im-class=\"message-text\"] p, [data-spot-im-class=\"message-text\"]")},{pattern:"bearblog.dev, www.theverge.com, www.tampermonkey.net/documentation.php",selector:DEFAULT_SELECTOR},{pattern:"themessenger.com",selector:".leading-tight, .leading-tighter, .my-2 p, .font-body p, article ".concat(DEFAULT_SELECTOR)},{pattern:"www.telegraph.co.uk",selector:"article ".concat(DEFAULT_SELECTOR)},{pattern:"www.theguardian.com",selector:".show-underline, .dcr-hup5wm div, .dcr-7vl6y8 div, .dcr-12evv1c, figcaption, article ".concat(DEFAULT_SELECTOR,", [data-cy=\"mostviewed-footer\"] h4")},{pattern:"www.semafor.com",selector:"".concat(DEFAULT_SELECTOR,", .styles_intro__IYj__, [class*=\"styles_description\"]")},{pattern:"www.noemamag.com",selector:".splash__title, .single-card__title, .single-card__type, .single-card__topic, .highlighted-content__title, .single-card__author, article ".concat(DEFAULT_SELECTOR,", .quote__text, .wp-caption-text div")},{pattern:"restofworld.org",selector:"".concat(DEFAULT_SELECTOR,", .recirc-story__headline, .recirc-story__dek")},{pattern:"www.axios.com",selector:".h7, ".concat(DEFAULT_SELECTOR)},{pattern:"www.newyorker.com",selector:".summary-item__hed, .summary-item__dek, .summary-collection-grid__dek, .dqtvfu, .rubric__link, .caption, article ".concat(DEFAULT_SELECTOR,", .HEhan ").concat(DEFAULT_SELECTOR,", .ContributorBioBio-fBolsO")},{pattern:"https://time.com/",selector:"h1, h3, .summary, .video-title, #article-body ".concat(DEFAULT_SELECTOR,", .image-wrap-container .credit.body-caption, .media-heading")},{pattern:"www.dw.com",selector:".ts-teaser-title a, .news-title a, .title a, .teaser-description a, .hbudab h3, .hbudab p, figcaption ,article ".concat(DEFAULT_SELECTOR)},{pattern:"www.bbc.com",selector:"h1, h2, .media__link, .media__summary, article ".concat(DEFAULT_SELECTOR,", .ssrcss-y7krbn-Stack, .ssrcss-1mrs5ns-PromoLink, .ssrcss-18cjaf3-Headline, .gs-c-promo-heading__title, .gs-c-promo-summary, .media__content h3, .article__intro")},{pattern:"www.chinadaily.com.cn",selector:"h1, .tMain [shape=\"rect\"], .cMain [shape=\"rect\"], .photo_art [shape=\"rect\"], .mai_r [shape=\"rect\"], .lisBox li, #Content ".concat(DEFAULT_SELECTOR)},{pattern:"www.facebook.com",selector:"[role=\"main\"] [dir=\"auto\"]"},{pattern:"www.reddit.com",selector:"[slot=\"title\"], [slot=\"text-body\"] ".concat(DEFAULT_SELECTOR,", #-post-rtjson-content p")},{pattern:"www.quora.com",selector:".qu-wordBreak--break-word"},{pattern:"edition.cnn.com",selector:".container__title, .container__headline, .headline__text, .image__caption, [data-type=\"Title\"], .article__content ".concat(DEFAULT_SELECTOR)},{pattern:"www.reuters.com",selector:"#main-content [data-testid=\"Heading\"], #main-content [data-testid=\"Body\"], .article-body__content__17Yit ".concat(DEFAULT_SELECTOR)},{pattern:"www.bloomberg.com",selector:"[data-component=\"headline\"], [data-component=\"related-item-headline\"], [data-component=\"title\"], article ".concat(DEFAULT_SELECTOR)},{pattern:"deno.land, docs.github.com",selector:"main ".concat(DEFAULT_SELECTOR)},{pattern:"doc.rust-lang.org",selector:"#content ".concat(DEFAULT_SELECTOR)},{pattern:"www.indiehackers.com",selector:"h1, h3, .content ".concat(DEFAULT_SELECTOR,", .feed-item__title-link")},{pattern:"platform.openai.com/docs",selector:".docs-body ".concat(DEFAULT_SELECTOR)},{pattern:"en.wikipedia.org",selector:"h1, .mw-parser-output ".concat(DEFAULT_SELECTOR)},{pattern:"stackoverflow.com",selector:"h1, .s-prose p, .comment-body .comment-copy"},{pattern:"www.npmjs.com/package/, developer.chrome.com/docs, medium.com, developers.cloudflare.com, react.dev, create-react-app.dev, pytorch.org/",selector:"article ".concat(DEFAULT_SELECTOR)},{pattern:"news.ycombinator.com",selector:".title, .commtext"},{pattern:"https://github.com/",selector:".markdown-body ".concat(DEFAULT_SELECTOR,", .repo-description p, .Layout-sidebar .f4, .container-lg .py-4 .f5, .container-lg .my-4 .f5, .Box-row .pr-4, .Box-row article .mt-1, [itemprop='description'], .markdown-title, bdi")},{pattern:"twitter.com",selector:"[data-testid='tweetText']"},{pattern:"youtube.com",selector:"h1, #video-title, #content-text, #title, yt-attributed-string>span>span"}];var BUILTIN_RULES=RULES.map(function(item){return _objectSpread2(_objectSpread2(_objectSpread2({},DEFAULT_RULE),item),{},{transOpen:"true"});}); +;// CONCATENATED MODULE: ./src/config/app.js +var APP_NAME="KISS Translator".trim().split(/\s+/).join("-");var APP_LCNAME=APP_NAME.toLowerCase(); ;// CONCATENATED MODULE: ./src/config/i18n.js var UI_LANGS=(/* unused pure expression or super */ null && ([["en","English"],["zh","中文"]]));var I18N={app_name:{zh:"\u7B80\u7EA6\u7FFB\u8BD1",en:"KISS Translator"},translate:{zh:"\u7FFB\u8BD1",en:"Translate"},translate_alt:{zh:"\u7FFB\u8BD1 (Alt+Q)",en:"Translate (Alt+Q)"},basic_setting:{zh:"\u57FA\u672C\u8BBE\u7F6E",en:"Basic Setting"},rules_setting:{zh:"\u89C4\u5219\u8BBE\u7F6E",en:"Rules Setting"},sync_setting:{zh:"\u540C\u6B65\u8BBE\u7F6E",en:"Sync Setting"},about:{zh:"\u5173\u4E8E",en:"About"},about_md:{zh:"README.md",en:"README.en.md"},about_md_local:{zh:"\u8BF7 [\u70B9\u51FB\u8FD9\u91CC](".concat("https://github.com/fishjar/kiss-translator",") \u67E5\u770B\u8BE6\u60C5\u3002"),en:"Please [click here](".concat("https://github.com/fishjar/kiss-translator",") for details.")},ui_lang:{zh:"\u754C\u9762\u8BED\u8A00",en:"Interface Language"},fetch_limit:{zh:"\u6700\u5927\u8BF7\u6C42\u6570\u91CF (1-100)",en:"Maximum Number Of Request (1-100)"},fetch_interval:{zh:"\u8BF7\u6C42\u95F4\u9694\u65F6\u95F4 (0-5000ms)",en:"Request Interval (0-5000ms)"},min_translate_length:{zh:"\u6700\u5C0F\u7FFB\u8BD1\u957F\u5EA6 (1-100)",en:"Min Translate Length (1-100)"},max_translate_length:{zh:"\u6700\u5927\u7FFB\u8BD1\u957F\u5EA6 (100-10000)",en:"Max Translate Length (100-10000)"},translate_service:{zh:"\u7FFB\u8BD1\u670D\u52A1",en:"Translate Service"},from_lang:{zh:"\u539F\u6587\u8BED\u8A00",en:"Source Language"},to_lang:{zh:"\u76EE\u6807\u8BED\u8A00",en:"Target Language"},text_style:{zh:"\u6587\u5B57\u6837\u5F0F",en:"Text Style"},text_style_alt:{zh:"\u6587\u5B57\u6837\u5F0F (Alt+C)",en:"Text Style (Alt+C)"},bg_color:{zh:"\u6837\u5F0F\u989C\u8272",en:"Style Color"},google_api:{zh:"\u8C37\u6B4C\u7FFB\u8BD1\u63A5\u53E3",en:"Google Translate API"},default_selector:{zh:"\u9ED8\u8BA4\u9009\u62E9\u5668",en:"Default selector"},selector_rules:{zh:"\u9009\u62E9\u5668\u89C4\u5219",en:"Selector Rules"},save:{zh:"\u4FDD\u5B58",en:"Save"},edit:{zh:"\u7F16\u8F91",en:"Edit"},cancel:{zh:"\u53D6\u6D88",en:"Cancel"},delete:{zh:"\u5220\u9664",en:"Delete"},reset:{zh:"\u91CD\u7F6E",en:"Reset"},add:{zh:"\u6DFB\u52A0",en:"Add"},inject_rules:{zh:"\u6CE8\u5165\u8BA2\u9605\u89C4\u5219",en:"Inject Subscribe Rules"},personal_rules:{zh:"\u4E2A\u4EBA\u89C4\u5219",en:"Personal Rules"},subscribe_rules:{zh:"\u8BA2\u9605\u89C4\u5219",en:"Subscribe Rules"},subscribe_url:{zh:"\u8BA2\u9605\u5730\u5740",en:"Subscribe URL"},rules_warn_1:{zh:"1\u3001\u201C\u4E2A\u4EBA\u89C4\u5219\u201D\u4E00\u76F4\u751F\u6548\uFF0C\u9009\u62E9\u201C\u6CE8\u5165\u8BA2\u9605\u89C4\u5219\u201D\u540E\uFF0C\u201C\u8BA2\u9605\u89C4\u5219\u201D\u624D\u4F1A\u751F\u6548\u3002",en:"1. The \"Personal Rules\" are always in effect. After selecting \"Inject Subscription Rules\", the \"Subscription Rules\" will take effect."},rules_warn_2:{zh:"2\u3001\u201C\u8BA2\u9605\u89C4\u5219\u201D\u7684\u6CE8\u5165\u4F4D\u7F6E\u662F\u5012\u6570\u7B2C\u4E8C\u7684\u4F4D\u7F6E\uFF0C\u56E0\u6B64\u9664\u5168\u5C40\u89C4\u5219(*)\u5916\uFF0C\u201C\u4E2A\u4EBA\u89C4\u5219\u201D\u4F18\u5148\u7EA7\u6BD4\u201C\u8BA2\u9605\u89C4\u5219\u201D\u9AD8\uFF0C\u201C\u4E2A\u4EBA\u89C4\u5219\u201D\u586B\u5199\u540C\u6837\u7684\u7F51\u5740\u4F1A\u8986\u76D6\u201D\u8BA2\u9605\u89C4\u5219\u201C\u7684\u6761\u76EE\u3002",en:"2. The injection position of \"Subscription Rules\" is the penultimate position. Therefore, except for the global rules (*), the priority of \"Personal Rules\" is higher than that of \"Subscription Rules\". Filling in the same url in \"Personal Rules\" will overwrite \"Subscription Rules\" entry."},sync_warn:{zh:"\u5982\u679C\u670D\u52A1\u5668\u5B58\u5728\u5176\u4ED6\u5BA2\u6237\u7AEF\u540C\u6B65\u7684\u6570\u636E\uFF0C\u7B2C\u4E00\u6B21\u540C\u6B65\u5C06\u76F4\u63A5\u8986\u76D6\u672C\u5730\u914D\u7F6E\uFF0C\u540E\u9762\u5219\u6839\u636E\u4FEE\u6539\u65F6\u95F4\uFF0C\u65B0\u7684\u8986\u76D6\u65E7\u7684\u3002",en:"If the server has data synchronized by other clients, the first synchronization will directly overwrite the local configuration, and later, according to the modification time, the new one will overwrite the old one."},about_sync_api:{zh:"\u67E5\u770B\u5173\u4E8E\u6570\u636E\u540C\u6B65\u63A5\u53E3\u90E8\u7F72",en:"View About Data Synchronization Interface Deployment"},style_none:{zh:"\u65E0",en:"None"},under_line:{zh:"\u4E0B\u5212\u76F4\u7EBF",en:"Underline"},dot_line:{zh:"\u4E0B\u5212\u70B9\u72B6\u7EBF",en:"Dotted Underline"},dash_line:{zh:"\u4E0B\u5212\u865A\u7EBF",en:"Dashed Underline"},wavy_line:{zh:"\u4E0B\u5212\u6CE2\u6D6A\u7EBF",en:"Wavy Underline"},fuzzy:{zh:"\u6A21\u7CCA",en:"Fuzzy"},highlight:{zh:"\u9AD8\u4EAE",en:"Highlight"},setting:{zh:"\u8BBE\u7F6E",en:"Setting"},pattern:{zh:"\u5339\u914D\u7F51\u5740",en:"URL pattern"},pattern_helper:{zh:"1\u3001\u652F\u6301\u661F\u53F7(*)\u901A\u914D\u7B26\u30022\u3001\u591A\u4E2AURL\u652F\u6301\u82F1\u6587\u9017\u53F7\u201C,\u201D\u5206\u9694\u3002",en:"1. The asterisk (*) wildcard is supported. 2. Multiple URLs can be separated by English commas \",\"."},selector_helper:{zh:"1\u3001\u9075\u5FAACSS\u9009\u62E9\u5668\u89C4\u5219\u30022\u3001\u7559\u7A7A\u8868\u793A\u91C7\u7528\u5168\u5C40\u8BBE\u7F6E\u30023\u3001\u591A\u4E2ACSS\u9009\u62E9\u5668\u4E4B\u95F4\u7528\u201C;\u201D\u9694\u5F00\u30024\u3001\u201Cshadow root\u201D\u9009\u62E9\u5668\u548C\u5185\u90E8\u9009\u62E9\u5668\u7528\u201C>>>\u201D\u9694\u5F00\u3002",en:"1. Follow the CSS selector rules. 2. Leave blank to adopt the global setting. 3. Separate multiple CSS selectors with \";\". 4. The \"shadow root\" selector and the internal selector are separated by \">>>\"."},translate_switch:{zh:"\u5F00\u542F\u7FFB\u8BD1",en:"Translate Switch"},default_enabled:{zh:"\u9ED8\u8BA4\u5F00\u542F",en:"Enabled"},default_disabled:{zh:"\u9ED8\u8BA4\u5173\u95ED",en:"Disabled"},selector:{zh:"\u9009\u62E9\u5668",en:"Selector"},import:{zh:"\u5BFC\u5165",en:"Import"},export:{zh:"\u5BFC\u51FA",en:"Export"},error_cant_be_blank:{zh:"\u4E0D\u80FD\u4E3A\u7A7A",en:"Can not be blank"},error_duplicate_values:{zh:"\u5B58\u5728\u91CD\u590D\u7684\u503C",en:"There are duplicate values"},error_wrong_file_type:{zh:"\u9519\u8BEF\u7684\u6587\u4EF6\u7C7B\u578B",en:"Wrong file type"},error_fetch_url:{zh:"\u8BF7\u68C0\u67E5url\u5730\u5740\u662F\u5426\u6B63\u786E\u6216\u7A0D\u540E\u518D\u8BD5\u3002",en:"Please check if the url address is correct or try again later."},openai_api:{zh:"OpenAI \u63A5\u53E3",en:"OpenAI API"},openai_key:{zh:"OpenAI \u5BC6\u94A5",en:"OpenAI Key"},openai_model:{zh:"OpenAI \u6A21\u578B",en:"OpenAI Model"},openai_prompt:{zh:"OpenAI \u63D0\u793A\u8BCD",en:"OpenAI Prompt"},clear_cache:{zh:"\u662F\u5426\u6E05\u9664\u7F13\u5B58",en:"Whether clear cache"},clear_cache_never:{zh:"\u4E0D\u6E05\u9664\u7F13\u5B58",en:"Never clear cache"},clear_cache_restart:{zh:"\u91CD\u542F\u6D4F\u89C8\u5668\u65F6\u6E05\u9664\u7F13\u5B58",en:"Clear cache when restarting browser"},data_sync_url:{zh:"\u6570\u636E\u540C\u6B65\u63A5\u53E3",en:"Data Sync API"},data_sync_key:{zh:"\u6570\u636E\u540C\u6B65\u5BC6\u94A5",en:"Data Sync Key"},data_sync_test:{zh:"\u6570\u636E\u540C\u6B65\u6D4B\u8BD5",en:"Data Sync Test"},data_sync_success:{zh:"\u6570\u636E\u540C\u6B65\u6210\u529F\uFF01",en:"Data Sync Success"},data_sync_error:{zh:"\u6570\u636E\u540C\u6B65\u5931\u8D25\uFF01",en:"Data Sync Error"},error_got_some_wrong:{zh:"\u62B1\u6B49\uFF0C\u51FA\u9519\u4E86\uFF01",en:"Sorry, something went wrong!"},error_sync_setting:{zh:"\u60A8\u7684\u540C\u6B65\u8BBE\u7F6E\u672A\u586B\u5199\uFF0C\u65E0\u6CD5\u5728\u7EBF\u5206\u4EAB\u3002",en:"Your sync settings are missing and cannot be shared online."}}; ;// CONCATENATED MODULE: ./src/config/index.js -var _OPT_LANGS_SPECIAL;var APP_NAME="KISS Translator".trim().split(/\s+/).join("-");var APP_LCNAME=APP_NAME.toLowerCase();var STOKEY_MSAUTH="".concat(APP_NAME,"_msauth");var STOKEY_SETTING="".concat(APP_NAME,"_setting");var STOKEY_RULES="".concat(APP_NAME,"_rules");var STOKEY_SYNC="".concat(APP_NAME,"_sync");var STOKEY_FAB="".concat(APP_NAME,"_fab");var STOKEY_RULESCACHE_PREFIX="".concat(APP_NAME,"_rulescache_");var CMD_TOGGLE_TRANSLATE="toggleTranslate";var CMD_TOGGLE_STYLE="toggleStyle";var CLIENT_WEB="web";var CLIENT_CHROME="chrome";var CLIENT_EDGE="edge";var CLIENT_FIREFOX="firefox";var CLIENT_USERSCRIPT="userscript";var CLIENT_EXTS=[CLIENT_CHROME,CLIENT_EDGE,CLIENT_FIREFOX];var KV_RULES_KEY="KT_RULES";var KV_RULES_SHARE_KEY="KT_RULES_SHARE";var KV_SETTING_KEY="KT_SETTING";var KV_SALT_SYNC="KISS-Translator-SYNC";var KV_SALT_SHARE="KISS-Translator-SHARE";var CACHE_NAME="".concat(APP_NAME,"_cache");var MSG_FETCH="fetch";var MSG_FETCH_LIMIT="fetch_limit";var MSG_FETCH_CLEAR="fetch_clear";var MSG_TRANS_TOGGLE="trans_toggle";var MSG_TRANS_TOGGLE_STYLE="trans_toggle_style";var MSG_TRANS_GETRULE="trans_getrule";var MSG_TRANS_PUTRULE="trans_putrule";var MSG_TRANS_CURRULE="trans_currule";var EVENT_KISS="kissEvent";var THEME_LIGHT="light";var THEME_DARK="dark";var URL_KISS_WORKER="https://github.com/fishjar/kiss-worker";var URL_RAW_PREFIX="https://raw.githubusercontent.com/fishjar/kiss-translator/master";var URL_MICROSOFT_AUTH="https://edge.microsoft.com/translate/auth";var URL_MICROSOFT_TRANS="https://api-edge.cognitive.microsofttranslator.com/translate";var OPT_TRANS_GOOGLE="Google";var OPT_TRANS_MICROSOFT="Microsoft";var OPT_TRANS_OPENAI="OpenAI";var OPT_TRANS_ALL=[OPT_TRANS_GOOGLE,OPT_TRANS_MICROSOFT,OPT_TRANS_OPENAI];var OPT_LANGS_TO=[["en","English - English"],["zh-CN","Simplified Chinese - 简体中文"],["zh-TW","Traditional Chinese - 繁體中文"],["ar","Arabic - العربية"],["bg","Bulgarian - Български"],["ca","Catalan - Català"],["hr","Croatian - Hrvatski"],["cs","Czech - Čeština"],["da","Danish - Dansk"],["nl","Dutch - Nederlands"],["fi","Finnish - Suomi"],["fr","French - Français"],["de","German - Deutsch"],["el","Greek - Ελληνικά"],["hi","Hindi - हिन्दी"],["hu","Hungarian - Magyar"],["id","Indonesian - Indonesia"],["it","Italian - Italiano"],["ja","Japanese - 日本語"],["ko","Korean - 한국어"],["ms","Malay - Melayu"],["mt","Maltese - Malti"],["nb","Norwegian - Norsk Bokmål"],["pl","Polish - Polski"],["pt","Portuguese - Português"],["ro","Romanian - Română"],["ru","Russian - Русский"],["sk","Slovak - Slovenčina"],["sl","Slovenian - Slovenščina"],["es","Spanish - Español"],["sv","Swedish - Svenska"],["ta","Tamil - தமிழ்"],["te","Telugu - తెలుగు"],["th","Thai - ไทย"],["tr","Turkish - Türkçe"],["uk","Ukrainian - Українська"],["vi","Vietnamese - Tiếng Việt"]];var OPT_LANGS_FROM=[["auto","Auto-detect"]].concat(OPT_LANGS_TO);var OPT_LANGS_SPECIAL=(_OPT_LANGS_SPECIAL={},_defineProperty(_OPT_LANGS_SPECIAL,OPT_TRANS_MICROSOFT,new Map([["auto",""],["zh-CN","zh-Hans"],["zh-TW","zh-Hant"]])),_defineProperty(_OPT_LANGS_SPECIAL,OPT_TRANS_OPENAI,new Map(OPT_LANGS_FROM.map(function(_ref){var _ref2=_slicedToArray(_ref,2),key=_ref2[0],val=_ref2[1];return[key,val.split(" - ")[0]];}))),_OPT_LANGS_SPECIAL);var OPT_STYLE_NONE="style_none";// 无 +var _OPT_LANGS_SPECIAL;var STOKEY_MSAUTH="".concat(APP_NAME,"_msauth");var STOKEY_SETTING="".concat(APP_NAME,"_setting");var STOKEY_RULES="".concat(APP_NAME,"_rules");var STOKEY_SYNC="".concat(APP_NAME,"_sync");var STOKEY_FAB="".concat(APP_NAME,"_fab");var STOKEY_RULESCACHE_PREFIX="".concat(APP_NAME,"_rulescache_");var CMD_TOGGLE_TRANSLATE="toggleTranslate";var CMD_TOGGLE_STYLE="toggleStyle";var CLIENT_WEB="web";var CLIENT_CHROME="chrome";var CLIENT_EDGE="edge";var CLIENT_FIREFOX="firefox";var CLIENT_USERSCRIPT="userscript";var CLIENT_EXTS=[CLIENT_CHROME,CLIENT_EDGE,CLIENT_FIREFOX];var KV_RULES_KEY="KT_RULES";var KV_RULES_SHARE_KEY="KT_RULES_SHARE";var KV_SETTING_KEY="KT_SETTING";var KV_SALT_SYNC="KISS-Translator-SYNC";var KV_SALT_SHARE="KISS-Translator-SHARE";var CACHE_NAME="".concat(APP_NAME,"_cache");var MSG_FETCH="fetch";var MSG_FETCH_LIMIT="fetch_limit";var MSG_FETCH_CLEAR="fetch_clear";var MSG_TRANS_TOGGLE="trans_toggle";var MSG_TRANS_TOGGLE_STYLE="trans_toggle_style";var MSG_TRANS_GETRULE="trans_getrule";var MSG_TRANS_PUTRULE="trans_putrule";var MSG_TRANS_CURRULE="trans_currule";var EVENT_KISS="kissEvent";var THEME_LIGHT="light";var THEME_DARK="dark";var URL_KISS_WORKER="https://github.com/fishjar/kiss-worker";var URL_RAW_PREFIX="https://raw.githubusercontent.com/fishjar/kiss-translator/master";var URL_MICROSOFT_AUTH="https://edge.microsoft.com/translate/auth";var URL_MICROSOFT_TRANS="https://api-edge.cognitive.microsofttranslator.com/translate";var OPT_TRANS_GOOGLE="Google";var OPT_TRANS_MICROSOFT="Microsoft";var OPT_TRANS_OPENAI="OpenAI";var OPT_TRANS_ALL=[OPT_TRANS_GOOGLE,OPT_TRANS_MICROSOFT,OPT_TRANS_OPENAI];var OPT_LANGS_TO=[["en","English - English"],["zh-CN","Simplified Chinese - 简体中文"],["zh-TW","Traditional Chinese - 繁體中文"],["ar","Arabic - العربية"],["bg","Bulgarian - Български"],["ca","Catalan - Català"],["hr","Croatian - Hrvatski"],["cs","Czech - Čeština"],["da","Danish - Dansk"],["nl","Dutch - Nederlands"],["fi","Finnish - Suomi"],["fr","French - Français"],["de","German - Deutsch"],["el","Greek - Ελληνικά"],["hi","Hindi - हिन्दी"],["hu","Hungarian - Magyar"],["id","Indonesian - Indonesia"],["it","Italian - Italiano"],["ja","Japanese - 日本語"],["ko","Korean - 한국어"],["ms","Malay - Melayu"],["mt","Maltese - Malti"],["nb","Norwegian - Norsk Bokmål"],["pl","Polish - Polski"],["pt","Portuguese - Português"],["ro","Romanian - Română"],["ru","Russian - Русский"],["sk","Slovak - Slovenčina"],["sl","Slovenian - Slovenščina"],["es","Spanish - Español"],["sv","Swedish - Svenska"],["ta","Tamil - தமிழ்"],["te","Telugu - తెలుగు"],["th","Thai - ไทย"],["tr","Turkish - Türkçe"],["uk","Ukrainian - Українська"],["vi","Vietnamese - Tiếng Việt"]];var OPT_LANGS_FROM=[["auto","Auto-detect"]].concat(OPT_LANGS_TO);var OPT_LANGS_SPECIAL=(_OPT_LANGS_SPECIAL={},_defineProperty(_OPT_LANGS_SPECIAL,OPT_TRANS_MICROSOFT,new Map([["auto",""],["zh-CN","zh-Hans"],["zh-TW","zh-Hant"]])),_defineProperty(_OPT_LANGS_SPECIAL,OPT_TRANS_OPENAI,new Map(OPT_LANGS_FROM.map(function(_ref){var _ref2=_slicedToArray(_ref,2),key=_ref2[0],val=_ref2[1];return[key,val.split(" - ")[0]];}))),_OPT_LANGS_SPECIAL);var OPT_STYLE_NONE="style_none";// 无 var OPT_STYLE_LINE="under_line";// 下划线 var OPT_STYLE_DOTLINE="dot_line";// 点状线 var OPT_STYLE_DASHLINE="dash_line";// 虚线 @@ -34208,7 +34210,7 @@ var PROMPT_PLACE_TO="{{to}}";// 占位符 var DEFAULT_COLOR="#209CEE";// 默认高亮背景色/线条颜色 // 全局规则 var GLOBLA_RULE={pattern:"*",selector:DEFAULT_SELECTOR,translator:OPT_TRANS_MICROSOFT,fromLang:"auto",toLang:"zh-CN",textStyle:OPT_STYLE_DASHLINE,transOpen:"false",bgColor:""};// 订阅列表 -var DEFAULT_SUBRULES_LIST=[{url:"https://fishjar.github.io/kiss-translator/kiss-translator-rules.json",selected:true},{url:"https://fishjar.github.io/kiss-translator/kiss-translator-rules.json"}];var TRANS_MIN_LENGTH=5;// 最短翻译长度 +var DEFAULT_SUBRULES_LIST=[{url:"https://fishjar.github.io/kiss-translator/kiss-translator-rules.json",selected:true},{url:"https://kiss-translator.rayjar.com/kiss-translator-rules.json",selected:false}];var TRANS_MIN_LENGTH=5;// 最短翻译长度 var TRANS_MAX_LENGTH=5000;// 最长翻译长度 var DEFAULT_SETTING={darkMode:false,// 深色模式 uiLang:"en",// 界面语言 @@ -34223,7 +34225,7 @@ syncKey:"",// 数据同步密钥 settingUpdateAt:0,settingSyncAt:0,rulesUpdateAt:0,rulesSyncAt:0,subRulesSyncAt:0// 订阅规则同步时间 }; ;// CONCATENATED MODULE: ./src/index.js -function App(){var _I18N$about_md;var _useState=(0,react.useState)("zh"),_useState2=_slicedToArray(_useState,2),lang=_useState2[0],setLang=_useState2[1];var _useFetch=useFetch("".concat(URL_RAW_PREFIX,"/").concat(I18N===null||I18N===void 0?void 0:(_I18N$about_md=I18N["about_md"])===null||_I18N$about_md===void 0?void 0:_I18N$about_md[lang])),_useFetch2=_slicedToArray(_useFetch,3),data=_useFetch2[0],loading=_useFetch2[1],error=_useFetch2[2];return/*#__PURE__*/(0,jsx_runtime.jsxs)(Paper_Paper,{sx:{padding:2,margin:2},children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Stack_Stack,{spacing:2,direction:"row",justifyContent:"flex-end",children:/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{variant:"text",onClick:function onClick(){setLang(function(pre){return pre==="zh"?"en":"zh";});},children:lang==="zh"?"ENGLISH":"中文"})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Divider_Divider,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(Link_Link,{href:"https://github.com/fishjar/kiss-translator",children:"KISS Translator v".concat("1.5.8")})}),/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{spacing:2,direction:"row",useFlexGap:true,flexWrap:"wrap",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Link_Link,{href:"https://fishjar.github.io/kiss-translator/kiss-translator.user.js",children:"Install Userscript 1"}),/*#__PURE__*/(0,jsx_runtime.jsx)(Link_Link,{href:"https://kiss-translator.rayjar.com/kiss-translator.user.js",children:"Install Userscript 2"}),/*#__PURE__*/(0,jsx_runtime.jsx)(Link_Link,{href:"https://fishjar.github.io/kiss-translator/options.html",children:"Open Options Page 1"}),/*#__PURE__*/(0,jsx_runtime.jsx)(Link_Link,{href:"https://kiss-translator.rayjar.com/options",children:"Open Options Page 2"})]}),loading?/*#__PURE__*/(0,jsx_runtime.jsx)("center",{children:/*#__PURE__*/(0,jsx_runtime.jsx)(CircularProgress_CircularProgress,{})}):/*#__PURE__*/(0,jsx_runtime.jsx)(ReactMarkdown,{children:error?error.message:data})]});}var src_root=client.createRoot(document.getElementById("root"));src_root.render(/*#__PURE__*/(0,jsx_runtime.jsx)(react.StrictMode,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(App,{})})); +function App(){var _I18N$about_md;var _useState=(0,react.useState)("zh"),_useState2=_slicedToArray(_useState,2),lang=_useState2[0],setLang=_useState2[1];var _useFetch=useFetch("".concat(URL_RAW_PREFIX,"/").concat(I18N===null||I18N===void 0?void 0:(_I18N$about_md=I18N["about_md"])===null||_I18N$about_md===void 0?void 0:_I18N$about_md[lang])),_useFetch2=_slicedToArray(_useFetch,3),data=_useFetch2[0],loading=_useFetch2[1],error=_useFetch2[2];return/*#__PURE__*/(0,jsx_runtime.jsxs)(Paper_Paper,{sx:{padding:2,margin:2},children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Stack_Stack,{spacing:2,direction:"row",justifyContent:"flex-end",children:/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{variant:"text",onClick:function onClick(){setLang(function(pre){return pre==="zh"?"en":"zh";});},children:lang==="zh"?"ENGLISH":"中文"})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Divider_Divider,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(Link_Link,{href:"https://github.com/fishjar/kiss-translator",children:"KISS Translator v".concat("1.6.0")})}),/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{spacing:2,direction:"row",useFlexGap:true,flexWrap:"wrap",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Link_Link,{href:"https://fishjar.github.io/kiss-translator/kiss-translator.user.js",children:"Install Userscript 1"}),/*#__PURE__*/(0,jsx_runtime.jsx)(Link_Link,{href:"https://kiss-translator.rayjar.com/kiss-translator.user.js",children:"Install Userscript 2"}),/*#__PURE__*/(0,jsx_runtime.jsx)(Link_Link,{href:"https://fishjar.github.io/kiss-translator/kiss-translator-ios-safari.user.js",children:"Install Userscript Safari 1"}),/*#__PURE__*/(0,jsx_runtime.jsx)(Link_Link,{href:"https://kiss-translator.rayjar.com/kiss-translator-ios-safari.user.js",children:"Install Userscript Safari 2"}),/*#__PURE__*/(0,jsx_runtime.jsx)(Link_Link,{href:"https://fishjar.github.io/kiss-translator/options.html",children:"Open Options Page 1"}),/*#__PURE__*/(0,jsx_runtime.jsx)(Link_Link,{href:"https://kiss-translator.rayjar.com/options",children:"Open Options Page 2"})]}),loading?/*#__PURE__*/(0,jsx_runtime.jsx)("center",{children:/*#__PURE__*/(0,jsx_runtime.jsx)(CircularProgress_CircularProgress,{})}):/*#__PURE__*/(0,jsx_runtime.jsx)(ReactMarkdown,{children:error?error.message:data})]});}var src_root=client.createRoot(document.getElementById("root"));src_root.render(/*#__PURE__*/(0,jsx_runtime.jsx)(react.StrictMode,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(App,{})})); }(); /******/ })() ; \ No newline at end of file diff --git a/manifest.firefox.json b/manifest.firefox.json index b5a2549..a25e4e7 100644 --- a/manifest.firefox.json +++ b/manifest.firefox.json @@ -2,7 +2,7 @@ "manifest_version": 2, "name": "__MSG_app_name__", "description": "__MSG_app_description__", - "version": "1.5.8", + "version": "1.6.0", "default_locale": "en", "author": "Gabe", "homepage_url": "https://github.com/fishjar/kiss-translator", diff --git a/manifest.json b/manifest.json index a12feb8..d144e3d 100644 --- a/manifest.json +++ b/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 3, "name": "__MSG_app_name__", "description": "__MSG_app_description__", - "version": "1.5.8", + "version": "1.6.0", "default_locale": "en", "author": "Gabe", "homepage_url": "https://github.com/fishjar/kiss-translator", diff --git a/options.js b/options.js index f3481bd..a96f848 100644 --- a/options.js +++ b/options.js @@ -3205,7 +3205,7 @@ function useControlled(_ref) { /* harmony export */ }); /* harmony import */ var _emotion_styled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3320); /** - * @mui/styled-engine v5.14.6 + * @mui/styled-engine v5.14.7 * * @license MIT * This source code is licensed under the MIT license found in the @@ -43143,11 +43143,13 @@ ReactMarkdown.propTypes = { components: prop_types.object }; ;// CONCATENATED MODULE: ./src/config/rules.js -var els="li, p, h1, h2, h3, h4, h5, h6, dd";var DEFAULT_SELECTOR=":is(".concat(els,")");var rules_GLOBAL_KEY="*";var SHADOW_KEY=">>>";var DEFAULT_RULE={pattern:"",selector:"",translator:rules_GLOBAL_KEY,fromLang:rules_GLOBAL_KEY,toLang:rules_GLOBAL_KEY,textStyle:rules_GLOBAL_KEY,transOpen:rules_GLOBAL_KEY,bgColor:""};var RULES=[{pattern:"www.google.com/search",selector:"h3, .IsZvec, .VwiC3b"},{pattern:"news.google.com",selector:"h4"},{pattern:"www.foxnews.com",selector:"h1, h2, .title, .sidebar [data-type=\"Title\"], .article-content ".concat(DEFAULT_SELECTOR,"; [data-spotim-module=\"conversation\"]>div >>> [data-spot-im-class=\"message-text\"] p, [data-spot-im-class=\"message-text\"]")},{pattern:"bearblog.dev, www.theverge.com, www.tampermonkey.net/documentation.php",selector:DEFAULT_SELECTOR},{pattern:"themessenger.com",selector:".leading-tight, .leading-tighter, .my-2 p, .font-body p, article ".concat(DEFAULT_SELECTOR)},{pattern:"www.telegraph.co.uk",selector:"article ".concat(DEFAULT_SELECTOR)},{pattern:"www.theguardian.com",selector:".show-underline, .dcr-hup5wm div, .dcr-7vl6y8 div, .dcr-12evv1c, figcaption, article ".concat(DEFAULT_SELECTOR,", [data-cy=\"mostviewed-footer\"] h4")},{pattern:"www.semafor.com",selector:"".concat(DEFAULT_SELECTOR,", .styles_intro__IYj__, [class*=\"styles_description\"]")},{pattern:"www.noemamag.com",selector:".splash__title, .single-card__title, .single-card__type, .single-card__topic, .highlighted-content__title, .single-card__author, article ".concat(DEFAULT_SELECTOR,", .quote__text, .wp-caption-text div")},{pattern:"restofworld.org",selector:"".concat(DEFAULT_SELECTOR,", .recirc-story__headline, .recirc-story__dek")},{pattern:"www.axios.com",selector:".h7, ".concat(DEFAULT_SELECTOR)},{pattern:"www.newyorker.com",selector:".summary-item__hed, .summary-item__dek, .summary-collection-grid__dek, .dqtvfu, .rubric__link, .caption, article ".concat(DEFAULT_SELECTOR,", .HEhan ").concat(DEFAULT_SELECTOR,", .ContributorBioBio-fBolsO")},{pattern:"https://time.com/",selector:"h1, h3, .summary, .video-title, #article-body ".concat(DEFAULT_SELECTOR,", .image-wrap-container .credit.body-caption, .media-heading")},{pattern:"www.dw.com",selector:".ts-teaser-title a, .news-title a, .title a, .teaser-description a, .hbudab h3, .hbudab p, figcaption ,article ".concat(DEFAULT_SELECTOR)},{pattern:"www.bbc.com",selector:"h1, h2, .media__link, .media__summary, article ".concat(DEFAULT_SELECTOR,", .ssrcss-y7krbn-Stack, .ssrcss-1mrs5ns-PromoLink, .ssrcss-18cjaf3-Headline, .gs-c-promo-heading__title, .gs-c-promo-summary, .media__content h3, .article__intro")},{pattern:"www.chinadaily.com.cn",selector:"h1, .tMain [shape=\"rect\"], .cMain [shape=\"rect\"], .photo_art [shape=\"rect\"], .mai_r [shape=\"rect\"], .lisBox li, #Content ".concat(DEFAULT_SELECTOR)},{pattern:"www.facebook.com",selector:"[role=\"main\"] [dir=\"auto\"]"},{pattern:"www.reddit.com",selector:"[slot=\"title\"], [slot=\"text-body\"] ".concat(DEFAULT_SELECTOR,", #-post-rtjson-content p")},{pattern:"www.quora.com",selector:".qu-wordBreak--break-word"},{pattern:"edition.cnn.com",selector:".container__title, .container__headline, .headline__text, .image__caption, [data-type=\"Title\"], .article__content ".concat(DEFAULT_SELECTOR)},{pattern:"www.reuters.com",selector:"#main-content [data-testid=\"Heading\"], #main-content [data-testid=\"Body\"], .article-body__content__17Yit ".concat(DEFAULT_SELECTOR)},{pattern:"www.bloomberg.com",selector:"[data-component=\"headline\"], [data-component=\"related-item-headline\"], [data-component=\"title\"], article ".concat(DEFAULT_SELECTOR)},{pattern:"deno.land, docs.github.com",selector:"main ".concat(DEFAULT_SELECTOR)},{pattern:"doc.rust-lang.org",selector:"#content ".concat(DEFAULT_SELECTOR)},{pattern:"www.indiehackers.com",selector:"h1, h3, .content ".concat(DEFAULT_SELECTOR,", .feed-item__title-link")},{pattern:"platform.openai.com/docs",selector:".docs-body ".concat(DEFAULT_SELECTOR)},{pattern:"en.wikipedia.org",selector:"h1, .mw-parser-output ".concat(DEFAULT_SELECTOR)},{pattern:"stackoverflow.com",selector:"h1, .s-prose p, .comment-body .comment-copy"},{pattern:"www.npmjs.com/package/, developer.chrome.com/docs, medium.com, developers.cloudflare.com, react.dev, create-react-app.dev, pytorch.org/",selector:"article ".concat(DEFAULT_SELECTOR)},{pattern:"news.ycombinator.com",selector:".title, .commtext"},{pattern:"https://github.com/",selector:".markdown-body ".concat(DEFAULT_SELECTOR,", .repo-description p, .Layout-sidebar .f4, .container-lg .py-4 .f5, .container-lg .my-4 .f5, .Box-row .pr-4, .Box-row article .mt-1, [itemprop='description'], .markdown-title, bdi")},{pattern:"twitter.com",selector:"[data-testid='tweetText']"},{pattern:"youtube.com",selector:"h1, #video-title, #content-text, #title, yt-attributed-string>span>span"}];var BUILTIN_RULES=RULES.map(function(item){return _objectSpread2(_objectSpread2(_objectSpread2({},DEFAULT_RULE),item),{},{transOpen:"true"});}); +var els="li, p, h1, h2, h3, h4, h5, h6, dd";var DEFAULT_SELECTOR=":is(".concat(els,")");var rules_GLOBAL_KEY="*";var SHADOW_KEY=">>>";var DEFAULT_RULE={pattern:"",selector:"",translator:rules_GLOBAL_KEY,fromLang:rules_GLOBAL_KEY,toLang:rules_GLOBAL_KEY,textStyle:rules_GLOBAL_KEY,transOpen:rules_GLOBAL_KEY,bgColor:""};var RULES=[{pattern:"www.google.com/search",selector:"h3, .IsZvec, .VwiC3b"},{pattern:"news.google.com",selector:"h4"},{pattern:"www.foxnews.com",selector:"h1, h2, .title, .sidebar [data-type=\"Title\"], .article-content ".concat(DEFAULT_SELECTOR,"; [data-spotim-module=\"conversation\"]>div >>> [data-spot-im-class=\"message-text\"] p, [data-spot-im-class=\"message-text\"]")},{pattern:"bearblog.dev, www.theverge.com, www.tampermonkey.net/documentation.php",selector:DEFAULT_SELECTOR},{pattern:"themessenger.com",selector:".leading-tight, .leading-tighter, .my-2 p, .font-body p, article ".concat(DEFAULT_SELECTOR)},{pattern:"www.telegraph.co.uk",selector:"article ".concat(DEFAULT_SELECTOR)},{pattern:"www.theguardian.com",selector:".show-underline, .dcr-hup5wm div, .dcr-7vl6y8 div, .dcr-12evv1c, figcaption, article ".concat(DEFAULT_SELECTOR,", [data-cy=\"mostviewed-footer\"] h4")},{pattern:"www.semafor.com",selector:"".concat(DEFAULT_SELECTOR,", .styles_intro__IYj__, [class*=\"styles_description\"]")},{pattern:"www.noemamag.com",selector:".splash__title, .single-card__title, .single-card__type, .single-card__topic, .highlighted-content__title, .single-card__author, article ".concat(DEFAULT_SELECTOR,", .quote__text, .wp-caption-text div")},{pattern:"restofworld.org",selector:"".concat(DEFAULT_SELECTOR,", .recirc-story__headline, .recirc-story__dek")},{pattern:"www.axios.com",selector:".h7, ".concat(DEFAULT_SELECTOR)},{pattern:"www.newyorker.com",selector:".summary-item__hed, .summary-item__dek, .summary-collection-grid__dek, .dqtvfu, .rubric__link, .caption, article ".concat(DEFAULT_SELECTOR,", .HEhan ").concat(DEFAULT_SELECTOR,", .ContributorBioBio-fBolsO")},{pattern:"https://time.com/",selector:"h1, h3, .summary, .video-title, #article-body ".concat(DEFAULT_SELECTOR,", .image-wrap-container .credit.body-caption, .media-heading")},{pattern:"www.dw.com",selector:".ts-teaser-title a, .news-title a, .title a, .teaser-description a, .hbudab h3, .hbudab p, figcaption ,article ".concat(DEFAULT_SELECTOR)},{pattern:"www.bbc.com",selector:"h1, h2, .media__link, .media__summary, article ".concat(DEFAULT_SELECTOR,", .ssrcss-y7krbn-Stack, .ssrcss-1mrs5ns-PromoLink, .ssrcss-18cjaf3-Headline, .gs-c-promo-heading__title, .gs-c-promo-summary, .media__content h3, .article__intro")},{pattern:"www.chinadaily.com.cn",selector:"h1, .tMain [shape=\"rect\"], .cMain [shape=\"rect\"], .photo_art [shape=\"rect\"], .mai_r [shape=\"rect\"], .lisBox li, #Content ".concat(DEFAULT_SELECTOR)},{pattern:"www.facebook.com",selector:"[role=\"main\"] [dir=\"auto\"]"},{pattern:"www.reddit.com",selector:"[slot=\"title\"], [slot=\"text-body\"] ".concat(DEFAULT_SELECTOR,", #-post-rtjson-content p")},{pattern:"www.quora.com",selector:".qu-wordBreak--break-word"},{pattern:"edition.cnn.com",selector:".container__title, .container__headline, .headline__text, .image__caption, [data-type=\"Title\"], .article__content ".concat(DEFAULT_SELECTOR)},{pattern:"www.reuters.com",selector:"#main-content [data-testid=\"Heading\"], #main-content [data-testid=\"Body\"], .article-body__content__17Yit ".concat(DEFAULT_SELECTOR)},{pattern:"www.bloomberg.com",selector:"[data-component=\"headline\"], [data-component=\"related-item-headline\"], [data-component=\"title\"], article ".concat(DEFAULT_SELECTOR)},{pattern:"deno.land, docs.github.com",selector:"main ".concat(DEFAULT_SELECTOR)},{pattern:"doc.rust-lang.org",selector:"#content ".concat(DEFAULT_SELECTOR)},{pattern:"www.indiehackers.com",selector:"h1, h3, .content ".concat(DEFAULT_SELECTOR,", .feed-item__title-link")},{pattern:"platform.openai.com/docs",selector:".docs-body ".concat(DEFAULT_SELECTOR)},{pattern:"en.wikipedia.org",selector:"h1, .mw-parser-output ".concat(DEFAULT_SELECTOR)},{pattern:"stackoverflow.com",selector:"h1, .s-prose p, .comment-body .comment-copy"},{pattern:"www.npmjs.com/package/, developer.chrome.com/docs, medium.com, developers.cloudflare.com, react.dev, create-react-app.dev, pytorch.org/",selector:"article ".concat(DEFAULT_SELECTOR)},{pattern:"news.ycombinator.com",selector:".title, .commtext"},{pattern:"https://github.com/",selector:".markdown-body ".concat(DEFAULT_SELECTOR,", .repo-description p, .Layout-sidebar .f4, .container-lg .py-4 .f5, .container-lg .my-4 .f5, .Box-row .pr-4, .Box-row article .mt-1, [itemprop='description'], .markdown-title, bdi")},{pattern:"twitter.com",selector:"[data-testid='tweetText']"},{pattern:"youtube.com",selector:"h1, #video-title, #content-text, #title, yt-attributed-string>span>span"}];var rules_BUILTIN_RULES=RULES.map(function(item){return _objectSpread2(_objectSpread2(_objectSpread2({},DEFAULT_RULE),item),{},{transOpen:"true"});}); +;// CONCATENATED MODULE: ./src/config/app.js +var APP_NAME="KISS Translator".trim().split(/\s+/).join("-");var APP_LCNAME=APP_NAME.toLowerCase(); ;// CONCATENATED MODULE: ./src/config/i18n.js var UI_LANGS=[["en","English"],["zh","中文"]];var I18N={app_name:{zh:"\u7B80\u7EA6\u7FFB\u8BD1",en:"KISS Translator"},translate:{zh:"\u7FFB\u8BD1",en:"Translate"},translate_alt:{zh:"\u7FFB\u8BD1 (Alt+Q)",en:"Translate (Alt+Q)"},basic_setting:{zh:"\u57FA\u672C\u8BBE\u7F6E",en:"Basic Setting"},rules_setting:{zh:"\u89C4\u5219\u8BBE\u7F6E",en:"Rules Setting"},sync_setting:{zh:"\u540C\u6B65\u8BBE\u7F6E",en:"Sync Setting"},about:{zh:"\u5173\u4E8E",en:"About"},about_md:{zh:"README.md",en:"README.en.md"},about_md_local:{zh:"\u8BF7 [\u70B9\u51FB\u8FD9\u91CC](".concat("https://github.com/fishjar/kiss-translator",") \u67E5\u770B\u8BE6\u60C5\u3002"),en:"Please [click here](".concat("https://github.com/fishjar/kiss-translator",") for details.")},ui_lang:{zh:"\u754C\u9762\u8BED\u8A00",en:"Interface Language"},fetch_limit:{zh:"\u6700\u5927\u8BF7\u6C42\u6570\u91CF (1-100)",en:"Maximum Number Of Request (1-100)"},fetch_interval:{zh:"\u8BF7\u6C42\u95F4\u9694\u65F6\u95F4 (0-5000ms)",en:"Request Interval (0-5000ms)"},min_translate_length:{zh:"\u6700\u5C0F\u7FFB\u8BD1\u957F\u5EA6 (1-100)",en:"Min Translate Length (1-100)"},max_translate_length:{zh:"\u6700\u5927\u7FFB\u8BD1\u957F\u5EA6 (100-10000)",en:"Max Translate Length (100-10000)"},translate_service:{zh:"\u7FFB\u8BD1\u670D\u52A1",en:"Translate Service"},from_lang:{zh:"\u539F\u6587\u8BED\u8A00",en:"Source Language"},to_lang:{zh:"\u76EE\u6807\u8BED\u8A00",en:"Target Language"},text_style:{zh:"\u6587\u5B57\u6837\u5F0F",en:"Text Style"},text_style_alt:{zh:"\u6587\u5B57\u6837\u5F0F (Alt+C)",en:"Text Style (Alt+C)"},bg_color:{zh:"\u6837\u5F0F\u989C\u8272",en:"Style Color"},google_api:{zh:"\u8C37\u6B4C\u7FFB\u8BD1\u63A5\u53E3",en:"Google Translate API"},default_selector:{zh:"\u9ED8\u8BA4\u9009\u62E9\u5668",en:"Default selector"},selector_rules:{zh:"\u9009\u62E9\u5668\u89C4\u5219",en:"Selector Rules"},save:{zh:"\u4FDD\u5B58",en:"Save"},edit:{zh:"\u7F16\u8F91",en:"Edit"},cancel:{zh:"\u53D6\u6D88",en:"Cancel"},delete:{zh:"\u5220\u9664",en:"Delete"},reset:{zh:"\u91CD\u7F6E",en:"Reset"},add:{zh:"\u6DFB\u52A0",en:"Add"},inject_rules:{zh:"\u6CE8\u5165\u8BA2\u9605\u89C4\u5219",en:"Inject Subscribe Rules"},personal_rules:{zh:"\u4E2A\u4EBA\u89C4\u5219",en:"Personal Rules"},subscribe_rules:{zh:"\u8BA2\u9605\u89C4\u5219",en:"Subscribe Rules"},subscribe_url:{zh:"\u8BA2\u9605\u5730\u5740",en:"Subscribe URL"},rules_warn_1:{zh:"1\u3001\u201C\u4E2A\u4EBA\u89C4\u5219\u201D\u4E00\u76F4\u751F\u6548\uFF0C\u9009\u62E9\u201C\u6CE8\u5165\u8BA2\u9605\u89C4\u5219\u201D\u540E\uFF0C\u201C\u8BA2\u9605\u89C4\u5219\u201D\u624D\u4F1A\u751F\u6548\u3002",en:"1. The \"Personal Rules\" are always in effect. After selecting \"Inject Subscription Rules\", the \"Subscription Rules\" will take effect."},rules_warn_2:{zh:"2\u3001\u201C\u8BA2\u9605\u89C4\u5219\u201D\u7684\u6CE8\u5165\u4F4D\u7F6E\u662F\u5012\u6570\u7B2C\u4E8C\u7684\u4F4D\u7F6E\uFF0C\u56E0\u6B64\u9664\u5168\u5C40\u89C4\u5219(*)\u5916\uFF0C\u201C\u4E2A\u4EBA\u89C4\u5219\u201D\u4F18\u5148\u7EA7\u6BD4\u201C\u8BA2\u9605\u89C4\u5219\u201D\u9AD8\uFF0C\u201C\u4E2A\u4EBA\u89C4\u5219\u201D\u586B\u5199\u540C\u6837\u7684\u7F51\u5740\u4F1A\u8986\u76D6\u201D\u8BA2\u9605\u89C4\u5219\u201C\u7684\u6761\u76EE\u3002",en:"2. The injection position of \"Subscription Rules\" is the penultimate position. Therefore, except for the global rules (*), the priority of \"Personal Rules\" is higher than that of \"Subscription Rules\". Filling in the same url in \"Personal Rules\" will overwrite \"Subscription Rules\" entry."},sync_warn:{zh:"\u5982\u679C\u670D\u52A1\u5668\u5B58\u5728\u5176\u4ED6\u5BA2\u6237\u7AEF\u540C\u6B65\u7684\u6570\u636E\uFF0C\u7B2C\u4E00\u6B21\u540C\u6B65\u5C06\u76F4\u63A5\u8986\u76D6\u672C\u5730\u914D\u7F6E\uFF0C\u540E\u9762\u5219\u6839\u636E\u4FEE\u6539\u65F6\u95F4\uFF0C\u65B0\u7684\u8986\u76D6\u65E7\u7684\u3002",en:"If the server has data synchronized by other clients, the first synchronization will directly overwrite the local configuration, and later, according to the modification time, the new one will overwrite the old one."},about_sync_api:{zh:"\u67E5\u770B\u5173\u4E8E\u6570\u636E\u540C\u6B65\u63A5\u53E3\u90E8\u7F72",en:"View About Data Synchronization Interface Deployment"},style_none:{zh:"\u65E0",en:"None"},under_line:{zh:"\u4E0B\u5212\u76F4\u7EBF",en:"Underline"},dot_line:{zh:"\u4E0B\u5212\u70B9\u72B6\u7EBF",en:"Dotted Underline"},dash_line:{zh:"\u4E0B\u5212\u865A\u7EBF",en:"Dashed Underline"},wavy_line:{zh:"\u4E0B\u5212\u6CE2\u6D6A\u7EBF",en:"Wavy Underline"},fuzzy:{zh:"\u6A21\u7CCA",en:"Fuzzy"},highlight:{zh:"\u9AD8\u4EAE",en:"Highlight"},setting:{zh:"\u8BBE\u7F6E",en:"Setting"},pattern:{zh:"\u5339\u914D\u7F51\u5740",en:"URL pattern"},pattern_helper:{zh:"1\u3001\u652F\u6301\u661F\u53F7(*)\u901A\u914D\u7B26\u30022\u3001\u591A\u4E2AURL\u652F\u6301\u82F1\u6587\u9017\u53F7\u201C,\u201D\u5206\u9694\u3002",en:"1. The asterisk (*) wildcard is supported. 2. Multiple URLs can be separated by English commas \",\"."},selector_helper:{zh:"1\u3001\u9075\u5FAACSS\u9009\u62E9\u5668\u89C4\u5219\u30022\u3001\u7559\u7A7A\u8868\u793A\u91C7\u7528\u5168\u5C40\u8BBE\u7F6E\u30023\u3001\u591A\u4E2ACSS\u9009\u62E9\u5668\u4E4B\u95F4\u7528\u201C;\u201D\u9694\u5F00\u30024\u3001\u201Cshadow root\u201D\u9009\u62E9\u5668\u548C\u5185\u90E8\u9009\u62E9\u5668\u7528\u201C>>>\u201D\u9694\u5F00\u3002",en:"1. Follow the CSS selector rules. 2. Leave blank to adopt the global setting. 3. Separate multiple CSS selectors with \";\". 4. The \"shadow root\" selector and the internal selector are separated by \">>>\"."},translate_switch:{zh:"\u5F00\u542F\u7FFB\u8BD1",en:"Translate Switch"},default_enabled:{zh:"\u9ED8\u8BA4\u5F00\u542F",en:"Enabled"},default_disabled:{zh:"\u9ED8\u8BA4\u5173\u95ED",en:"Disabled"},selector:{zh:"\u9009\u62E9\u5668",en:"Selector"},import:{zh:"\u5BFC\u5165",en:"Import"},export:{zh:"\u5BFC\u51FA",en:"Export"},error_cant_be_blank:{zh:"\u4E0D\u80FD\u4E3A\u7A7A",en:"Can not be blank"},error_duplicate_values:{zh:"\u5B58\u5728\u91CD\u590D\u7684\u503C",en:"There are duplicate values"},error_wrong_file_type:{zh:"\u9519\u8BEF\u7684\u6587\u4EF6\u7C7B\u578B",en:"Wrong file type"},error_fetch_url:{zh:"\u8BF7\u68C0\u67E5url\u5730\u5740\u662F\u5426\u6B63\u786E\u6216\u7A0D\u540E\u518D\u8BD5\u3002",en:"Please check if the url address is correct or try again later."},openai_api:{zh:"OpenAI \u63A5\u53E3",en:"OpenAI API"},openai_key:{zh:"OpenAI \u5BC6\u94A5",en:"OpenAI Key"},openai_model:{zh:"OpenAI \u6A21\u578B",en:"OpenAI Model"},openai_prompt:{zh:"OpenAI \u63D0\u793A\u8BCD",en:"OpenAI Prompt"},clear_cache:{zh:"\u662F\u5426\u6E05\u9664\u7F13\u5B58",en:"Whether clear cache"},clear_cache_never:{zh:"\u4E0D\u6E05\u9664\u7F13\u5B58",en:"Never clear cache"},clear_cache_restart:{zh:"\u91CD\u542F\u6D4F\u89C8\u5668\u65F6\u6E05\u9664\u7F13\u5B58",en:"Clear cache when restarting browser"},data_sync_url:{zh:"\u6570\u636E\u540C\u6B65\u63A5\u53E3",en:"Data Sync API"},data_sync_key:{zh:"\u6570\u636E\u540C\u6B65\u5BC6\u94A5",en:"Data Sync Key"},data_sync_test:{zh:"\u6570\u636E\u540C\u6B65\u6D4B\u8BD5",en:"Data Sync Test"},data_sync_success:{zh:"\u6570\u636E\u540C\u6B65\u6210\u529F\uFF01",en:"Data Sync Success"},data_sync_error:{zh:"\u6570\u636E\u540C\u6B65\u5931\u8D25\uFF01",en:"Data Sync Error"},error_got_some_wrong:{zh:"\u62B1\u6B49\uFF0C\u51FA\u9519\u4E86\uFF01",en:"Sorry, something went wrong!"},error_sync_setting:{zh:"\u60A8\u7684\u540C\u6B65\u8BBE\u7F6E\u672A\u586B\u5199\uFF0C\u65E0\u6CD5\u5728\u7EBF\u5206\u4EAB\u3002",en:"Your sync settings are missing and cannot be shared online."}}; ;// CONCATENATED MODULE: ./src/config/index.js -var _OPT_LANGS_SPECIAL;var APP_NAME="KISS Translator".trim().split(/\s+/).join("-");var APP_LCNAME=APP_NAME.toLowerCase();var STOKEY_MSAUTH="".concat(APP_NAME,"_msauth");var STOKEY_SETTING="".concat(APP_NAME,"_setting");var STOKEY_RULES="".concat(APP_NAME,"_rules");var STOKEY_SYNC="".concat(APP_NAME,"_sync");var config_STOKEY_FAB="".concat(APP_NAME,"_fab");var STOKEY_RULESCACHE_PREFIX="".concat(APP_NAME,"_rulescache_");var CMD_TOGGLE_TRANSLATE="toggleTranslate";var CMD_TOGGLE_STYLE="toggleStyle";var CLIENT_WEB="web";var CLIENT_CHROME="chrome";var CLIENT_EDGE="edge";var CLIENT_FIREFOX="firefox";var CLIENT_USERSCRIPT="userscript";var CLIENT_EXTS=[CLIENT_CHROME,CLIENT_EDGE,CLIENT_FIREFOX];var KV_RULES_KEY="KT_RULES";var KV_RULES_SHARE_KEY="KT_RULES_SHARE";var KV_SETTING_KEY="KT_SETTING";var KV_SALT_SYNC="KISS-Translator-SYNC";var KV_SALT_SHARE="KISS-Translator-SHARE";var CACHE_NAME="".concat(APP_NAME,"_cache");var MSG_FETCH="fetch";var config_MSG_FETCH_LIMIT="fetch_limit";var config_MSG_FETCH_CLEAR="fetch_clear";var MSG_TRANS_TOGGLE="trans_toggle";var MSG_TRANS_TOGGLE_STYLE="trans_toggle_style";var MSG_TRANS_GETRULE="trans_getrule";var MSG_TRANS_PUTRULE="trans_putrule";var MSG_TRANS_CURRULE="trans_currule";var EVENT_KISS="kissEvent";var THEME_LIGHT="light";var THEME_DARK="dark";var URL_KISS_WORKER="https://github.com/fishjar/kiss-worker";var URL_RAW_PREFIX="https://raw.githubusercontent.com/fishjar/kiss-translator/master";var URL_MICROSOFT_AUTH="https://edge.microsoft.com/translate/auth";var config_URL_MICROSOFT_TRANS="https://api-edge.cognitive.microsofttranslator.com/translate";var config_OPT_TRANS_GOOGLE="Google";var config_OPT_TRANS_MICROSOFT="Microsoft";var config_OPT_TRANS_OPENAI="OpenAI";var OPT_TRANS_ALL=[config_OPT_TRANS_GOOGLE,config_OPT_TRANS_MICROSOFT,config_OPT_TRANS_OPENAI];var OPT_LANGS_TO=[["en","English - English"],["zh-CN","Simplified Chinese - 简体中文"],["zh-TW","Traditional Chinese - 繁體中文"],["ar","Arabic - العربية"],["bg","Bulgarian - Български"],["ca","Catalan - Català"],["hr","Croatian - Hrvatski"],["cs","Czech - Čeština"],["da","Danish - Dansk"],["nl","Dutch - Nederlands"],["fi","Finnish - Suomi"],["fr","French - Français"],["de","German - Deutsch"],["el","Greek - Ελληνικά"],["hi","Hindi - हिन्दी"],["hu","Hungarian - Magyar"],["id","Indonesian - Indonesia"],["it","Italian - Italiano"],["ja","Japanese - 日本語"],["ko","Korean - 한국어"],["ms","Malay - Melayu"],["mt","Maltese - Malti"],["nb","Norwegian - Norsk Bokmål"],["pl","Polish - Polski"],["pt","Portuguese - Português"],["ro","Romanian - Română"],["ru","Russian - Русский"],["sk","Slovak - Slovenčina"],["sl","Slovenian - Slovenščina"],["es","Spanish - Español"],["sv","Swedish - Svenska"],["ta","Tamil - தமிழ்"],["te","Telugu - తెలుగు"],["th","Thai - ไทย"],["tr","Turkish - Türkçe"],["uk","Ukrainian - Українська"],["vi","Vietnamese - Tiếng Việt"]];var OPT_LANGS_FROM=[["auto","Auto-detect"]].concat(OPT_LANGS_TO);var config_OPT_LANGS_SPECIAL=(_OPT_LANGS_SPECIAL={},(0,defineProperty/* default */.Z)(_OPT_LANGS_SPECIAL,config_OPT_TRANS_MICROSOFT,new Map([["auto",""],["zh-CN","zh-Hans"],["zh-TW","zh-Hant"]])),(0,defineProperty/* default */.Z)(_OPT_LANGS_SPECIAL,config_OPT_TRANS_OPENAI,new Map(OPT_LANGS_FROM.map(function(_ref){var _ref2=(0,slicedToArray/* default */.Z)(_ref,2),key=_ref2[0],val=_ref2[1];return[key,val.split(" - ")[0]];}))),_OPT_LANGS_SPECIAL);var OPT_STYLE_NONE="style_none";// 无 +var _OPT_LANGS_SPECIAL;var STOKEY_MSAUTH="".concat(APP_NAME,"_msauth");var config_STOKEY_SETTING="".concat(APP_NAME,"_setting");var config_STOKEY_RULES="".concat(APP_NAME,"_rules");var config_STOKEY_SYNC="".concat(APP_NAME,"_sync");var config_STOKEY_FAB="".concat(APP_NAME,"_fab");var config_STOKEY_RULESCACHE_PREFIX="".concat(APP_NAME,"_rulescache_");var CMD_TOGGLE_TRANSLATE="toggleTranslate";var CMD_TOGGLE_STYLE="toggleStyle";var CLIENT_WEB="web";var CLIENT_CHROME="chrome";var CLIENT_EDGE="edge";var CLIENT_FIREFOX="firefox";var CLIENT_USERSCRIPT="userscript";var CLIENT_EXTS=[CLIENT_CHROME,CLIENT_EDGE,CLIENT_FIREFOX];var KV_RULES_KEY="KT_RULES";var KV_RULES_SHARE_KEY="KT_RULES_SHARE";var KV_SETTING_KEY="KT_SETTING";var KV_SALT_SYNC="KISS-Translator-SYNC";var KV_SALT_SHARE="KISS-Translator-SHARE";var config_CACHE_NAME="".concat(APP_NAME,"_cache");var MSG_FETCH="fetch";var config_MSG_FETCH_LIMIT="fetch_limit";var config_MSG_FETCH_CLEAR="fetch_clear";var MSG_TRANS_TOGGLE="trans_toggle";var MSG_TRANS_TOGGLE_STYLE="trans_toggle_style";var MSG_TRANS_GETRULE="trans_getrule";var MSG_TRANS_PUTRULE="trans_putrule";var MSG_TRANS_CURRULE="trans_currule";var EVENT_KISS="kissEvent";var THEME_LIGHT="light";var THEME_DARK="dark";var URL_KISS_WORKER="https://github.com/fishjar/kiss-worker";var URL_RAW_PREFIX="https://raw.githubusercontent.com/fishjar/kiss-translator/master";var URL_MICROSOFT_AUTH="https://edge.microsoft.com/translate/auth";var config_URL_MICROSOFT_TRANS="https://api-edge.cognitive.microsofttranslator.com/translate";var config_OPT_TRANS_GOOGLE="Google";var config_OPT_TRANS_MICROSOFT="Microsoft";var config_OPT_TRANS_OPENAI="OpenAI";var OPT_TRANS_ALL=[config_OPT_TRANS_GOOGLE,config_OPT_TRANS_MICROSOFT,config_OPT_TRANS_OPENAI];var OPT_LANGS_TO=[["en","English - English"],["zh-CN","Simplified Chinese - 简体中文"],["zh-TW","Traditional Chinese - 繁體中文"],["ar","Arabic - العربية"],["bg","Bulgarian - Български"],["ca","Catalan - Català"],["hr","Croatian - Hrvatski"],["cs","Czech - Čeština"],["da","Danish - Dansk"],["nl","Dutch - Nederlands"],["fi","Finnish - Suomi"],["fr","French - Français"],["de","German - Deutsch"],["el","Greek - Ελληνικά"],["hi","Hindi - हिन्दी"],["hu","Hungarian - Magyar"],["id","Indonesian - Indonesia"],["it","Italian - Italiano"],["ja","Japanese - 日本語"],["ko","Korean - 한국어"],["ms","Malay - Melayu"],["mt","Maltese - Malti"],["nb","Norwegian - Norsk Bokmål"],["pl","Polish - Polski"],["pt","Portuguese - Português"],["ro","Romanian - Română"],["ru","Russian - Русский"],["sk","Slovak - Slovenčina"],["sl","Slovenian - Slovenščina"],["es","Spanish - Español"],["sv","Swedish - Svenska"],["ta","Tamil - தமிழ்"],["te","Telugu - తెలుగు"],["th","Thai - ไทย"],["tr","Turkish - Türkçe"],["uk","Ukrainian - Українська"],["vi","Vietnamese - Tiếng Việt"]];var OPT_LANGS_FROM=[["auto","Auto-detect"]].concat(OPT_LANGS_TO);var config_OPT_LANGS_SPECIAL=(_OPT_LANGS_SPECIAL={},(0,defineProperty/* default */.Z)(_OPT_LANGS_SPECIAL,config_OPT_TRANS_MICROSOFT,new Map([["auto",""],["zh-CN","zh-Hans"],["zh-TW","zh-Hant"]])),(0,defineProperty/* default */.Z)(_OPT_LANGS_SPECIAL,config_OPT_TRANS_OPENAI,new Map(OPT_LANGS_FROM.map(function(_ref){var _ref2=(0,slicedToArray/* default */.Z)(_ref,2),key=_ref2[0],val=_ref2[1];return[key,val.split(" - ")[0]];}))),_OPT_LANGS_SPECIAL);var OPT_STYLE_NONE="style_none";// 无 var OPT_STYLE_LINE="under_line";// 下划线 var OPT_STYLE_DOTLINE="dot_line";// 点状线 var OPT_STYLE_DASHLINE="dash_line";// 虚线 @@ -43161,9 +43163,9 @@ var config_PROMPT_PLACE_TO="{{to}}";// 占位符 var DEFAULT_COLOR="#209CEE";// 默认高亮背景色/线条颜色 // 全局规则 var config_GLOBLA_RULE={pattern:"*",selector:DEFAULT_SELECTOR,translator:config_OPT_TRANS_MICROSOFT,fromLang:"auto",toLang:"zh-CN",textStyle:OPT_STYLE_DASHLINE,transOpen:"false",bgColor:""};// 订阅列表 -var config_DEFAULT_SUBRULES_LIST=[{url:"https://fishjar.github.io/kiss-translator/kiss-translator-rules.json",selected:true},{url:"https://fishjar.github.io/kiss-translator/kiss-translator-rules.json"}];var TRANS_MIN_LENGTH=5;// 最短翻译长度 +var config_DEFAULT_SUBRULES_LIST=[{url:"https://fishjar.github.io/kiss-translator/kiss-translator-rules.json",selected:true},{url:"https://kiss-translator.rayjar.com/kiss-translator-rules.json",selected:false}];var TRANS_MIN_LENGTH=5;// 最短翻译长度 var TRANS_MAX_LENGTH=5000;// 最长翻译长度 -var DEFAULT_SETTING={darkMode:false,// 深色模式 +var config_DEFAULT_SETTING={darkMode:false,// 深色模式 uiLang:"en",// 界面语言 fetchLimit:DEFAULT_FETCH_LIMIT,// 最大任务数量 fetchInterval:DEFAULT_FETCH_INTERVAL,// 任务间隔时间 @@ -43171,202 +43173,45 @@ minLength:TRANS_MIN_LENGTH,maxLength:TRANS_MAX_LENGTH,clearCache:false,// 是否 injectRules:true,// 是否注入订阅规则 subrulesList:config_DEFAULT_SUBRULES_LIST,// 订阅列表 googleUrl:"https://translate.googleapis.com/translate_a/single",// 谷歌翻译接口 -openaiUrl:"https://api.openai.com/v1/chat/completions",openaiKey:"",openaiModel:"gpt-4",openaiPrompt:"You will be provided with a sentence in ".concat(config_PROMPT_PLACE_FROM,", and your task is to translate it into ").concat(config_PROMPT_PLACE_TO,".")};var DEFAULT_RULES=[config_GLOBLA_RULE];var DEFAULT_SYNC={syncUrl:"",// 数据同步接口 +openaiUrl:"https://api.openai.com/v1/chat/completions",openaiKey:"",openaiModel:"gpt-4",openaiPrompt:"You will be provided with a sentence in ".concat(config_PROMPT_PLACE_FROM,", and your task is to translate it into ").concat(config_PROMPT_PLACE_TO,".")};var config_DEFAULT_RULES=[config_GLOBLA_RULE];var config_DEFAULT_SYNC={syncUrl:"",// 数据同步接口 syncKey:"",// 数据同步密钥 settingUpdateAt:0,settingSyncAt:0,rulesUpdateAt:0,rulesSyncAt:0,subRulesSyncAt:0// 订阅规则同步时间 }; +;// CONCATENATED MODULE: ./src/libs/client.js +var client_client="userscript";var client_isExt=CLIENT_EXTS.includes(client_client);var isGm=client_client===CLIENT_USERSCRIPT;var isWeb=client_client===CLIENT_WEB; ;// CONCATENATED MODULE: ./src/libs/browser.js +// import { CLIENT_EXTS, CLIENT_USERSCRIPT, CLIENT_WEB } from "../config"; /** * 浏览器兼容插件,另可用于判断是插件模式还是网页模式,方便开发 * @returns */function _browser(){try{return __webpack_require__(930);}catch(err){// console.log("[browser]", err.message); -}}var browser_browser=_browser();var browser_client="userscript";var browser_isExt=CLIENT_EXTS.includes(browser_client);var isGm=browser_client===CLIENT_USERSCRIPT;var isWeb=browser_client===CLIENT_WEB; +}}var browser_browser=_browser(); ;// CONCATENATED MODULE: ./src/libs/storage.js -function set(_x,_x2){return _set.apply(this,arguments);}function _set(){_set=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(key,val){var oldValue,_oldValue;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:if(!browser_isExt){_context.next=5;break;}_context.next=3;return browser_browser.storage.local.set((0,defineProperty/* default */.Z)({},key,val));case 3:_context.next=17;break;case 5:if(!isGm){_context.next=14;break;}_context.next=8;return(window.KISS_GM||GM).getValue(key);case 8:oldValue=_context.sent;_context.next=11;return(window.KISS_GM||GM).setValue(key,val);case 11:window.dispatchEvent(new StorageEvent("storage",{key:key,oldValue:oldValue,newValue:val}));_context.next=17;break;case 14:_oldValue=window.localStorage.getItem(key);window.localStorage.setItem(key,val);window.dispatchEvent(new StorageEvent("storage",{key:key,oldValue:_oldValue,newValue:val}));case 17:case"end":return _context.stop();}},_callee);}));return _set.apply(this,arguments);}function get(_x3){return _get.apply(this,arguments);}function _get(){_get=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(key){var val,_val;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(!browser_isExt){_context2.next=7;break;}_context2.next=3;return browser_browser.storage.local.get([key]);case 3:val=_context2.sent;return _context2.abrupt("return",val[key]);case 7:if(!isGm){_context2.next=12;break;}_context2.next=10;return(window.KISS_GM||GM).getValue(key);case 10:_val=_context2.sent;return _context2.abrupt("return",_val);case 12:return _context2.abrupt("return",window.localStorage.getItem(key));case 13:case"end":return _context2.stop();}},_callee2);}));return _get.apply(this,arguments);}function del(_x4){return _del.apply(this,arguments);}function _del(){_del=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(key){var oldValue,_oldValue2;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:if(!browser_isExt){_context3.next=5;break;}_context3.next=3;return browser_browser.storage.local.remove([key]);case 3:_context3.next=17;break;case 5:if(!isGm){_context3.next=14;break;}_context3.next=8;return(window.KISS_GM||GM).getValue(key);case 8:oldValue=_context3.sent;_context3.next=11;return(window.KISS_GM||GM).deleteValue(key);case 11:window.dispatchEvent(new StorageEvent("storage",{key:key,oldValue:oldValue,newValue:null}));_context3.next=17;break;case 14:_oldValue2=window.localStorage.getItem(key);window.localStorage.removeItem(key);window.dispatchEvent(new StorageEvent("storage",{key:key,oldValue:_oldValue2,newValue:null}));case 17:case"end":return _context3.stop();}},_callee3);}));return _del.apply(this,arguments);}function setObj(_x5,_x6){return _setObj.apply(this,arguments);}function _setObj(){_setObj=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(key,obj){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return set(key,JSON.stringify(obj));case 2:case"end":return _context4.stop();}},_callee4);}));return _setObj.apply(this,arguments);}function trySetObj(_x7,_x8){return _trySetObj.apply(this,arguments);}function _trySetObj(){_trySetObj=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee5(key,obj){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_context5.next=2;return get(key);case 2:if(_context5.sent){_context5.next=5;break;}_context5.next=5;return setObj(key,obj);case 5:case"end":return _context5.stop();}},_callee5);}));return _trySetObj.apply(this,arguments);}function getObj(_x9){return _getObj.apply(this,arguments);}function _getObj(){_getObj=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee6(key){var val;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:_context6.next=2;return get(key);case 2:val=_context6.sent;return _context6.abrupt("return",val&&JSON.parse(val));case 4:case"end":return _context6.stop();}},_callee6);}));return _getObj.apply(this,arguments);}function putObj(_x10,_x11){return _putObj.apply(this,arguments);}/** - * 监听storage事件 - * @param {*} handleChanged - */function _putObj(){_putObj=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee7(key,obj){var _yield$getObj;var cur;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:_context7.next=2;return getObj(key);case 2:_context7.t1=_yield$getObj=_context7.sent;_context7.t0=_context7.t1!==null;if(!_context7.t0){_context7.next=6;break;}_context7.t0=_yield$getObj!==void 0;case 6:if(!_context7.t0){_context7.next=10;break;}_context7.t2=_yield$getObj;_context7.next=11;break;case 10:_context7.t2={};case 11:cur=_context7.t2;_context7.next=14;return setObj(key,_objectSpread2(_objectSpread2({},cur),obj));case 14:case"end":return _context7.stop();}},_callee7);}));return _putObj.apply(this,arguments);}function onChanged(handleChanged){if(browser_isExt){browser_browser.storage.onChanged.addListener(handleChanged);}else{window.addEventListener("storage",handleChanged);}}/** +function set(_x,_x2){return _set.apply(this,arguments);}function _set(){_set=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee7(key,val){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:if(!client_isExt){_context7.next=5;break;}_context7.next=3;return browser_browser.storage.local.set((0,defineProperty/* default */.Z)({},key,val));case 3:_context7.next=11;break;case 5:if(!isGm){_context7.next=10;break;}_context7.next=8;return(window.KISS_GM||GM).setValue(key,val);case 8:_context7.next=11;break;case 10:window.localStorage.setItem(key,val);case 11:case"end":return _context7.stop();}},_callee7);}));return _set.apply(this,arguments);}function get(_x3){return _get.apply(this,arguments);}function _get(){_get=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee8(key){var val,_val;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee8$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:if(!client_isExt){_context8.next=7;break;}_context8.next=3;return browser_browser.storage.local.get([key]);case 3:val=_context8.sent;return _context8.abrupt("return",val[key]);case 7:if(!isGm){_context8.next=12;break;}_context8.next=10;return(window.KISS_GM||GM).getValue(key);case 10:_val=_context8.sent;return _context8.abrupt("return",_val);case 12:return _context8.abrupt("return",window.localStorage.getItem(key));case 13:case"end":return _context8.stop();}},_callee8);}));return _get.apply(this,arguments);}function del(_x4){return _del.apply(this,arguments);}function _del(){_del=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee9(key){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee9$(_context9){while(1)switch(_context9.prev=_context9.next){case 0:if(!client_isExt){_context9.next=5;break;}_context9.next=3;return browser_browser.storage.local.remove([key]);case 3:_context9.next=11;break;case 5:if(!isGm){_context9.next=10;break;}_context9.next=8;return(window.KISS_GM||GM).deleteValue(key);case 8:_context9.next=11;break;case 10:window.localStorage.removeItem(key);case 11:case"end":return _context9.stop();}},_callee9);}));return _del.apply(this,arguments);}function setObj(_x5,_x6){return _setObj.apply(this,arguments);}function _setObj(){_setObj=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee10(key,obj){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee10$(_context10){while(1)switch(_context10.prev=_context10.next){case 0:_context10.next=2;return set(key,JSON.stringify(obj));case 2:case"end":return _context10.stop();}},_callee10);}));return _setObj.apply(this,arguments);}function trySetObj(_x7,_x8){return _trySetObj.apply(this,arguments);}function _trySetObj(){_trySetObj=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee11(key,obj){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee11$(_context11){while(1)switch(_context11.prev=_context11.next){case 0:_context11.next=2;return get(key);case 2:if(_context11.sent){_context11.next=5;break;}_context11.next=5;return setObj(key,obj);case 5:case"end":return _context11.stop();}},_callee11);}));return _trySetObj.apply(this,arguments);}function getObj(_x9){return _getObj.apply(this,arguments);}function _getObj(){_getObj=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee12(key){var val;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee12$(_context12){while(1)switch(_context12.prev=_context12.next){case 0:_context12.next=2;return get(key);case 2:val=_context12.sent;return _context12.abrupt("return",val&&JSON.parse(val));case 4:case"end":return _context12.stop();}},_callee12);}));return _getObj.apply(this,arguments);}function putObj(_x10,_x11){return _putObj.apply(this,arguments);}/** * 对storage的封装 - */var storage_storage={get:get,set:set,del:del,setObj:setObj,trySetObj:trySetObj,getObj:getObj,putObj:putObj,onChanged:onChanged};/* harmony default export */ var libs_storage = (storage_storage); + */function _putObj(){_putObj=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee13(key,obj){var _yield$getObj;var cur;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee13$(_context13){while(1)switch(_context13.prev=_context13.next){case 0:_context13.next=2;return getObj(key);case 2:_context13.t1=_yield$getObj=_context13.sent;_context13.t0=_context13.t1!==null;if(!_context13.t0){_context13.next=6;break;}_context13.t0=_yield$getObj!==void 0;case 6:if(!_context13.t0){_context13.next=10;break;}_context13.t2=_yield$getObj;_context13.next=11;break;case 10:_context13.t2={};case 11:cur=_context13.t2;_context13.next=14;return setObj(key,_objectSpread2(_objectSpread2({},cur),obj));case 14:case"end":return _context13.stop();}},_callee13);}));return _putObj.apply(this,arguments);}var storage={get:get,set:set,del:del,setObj:setObj,trySetObj:trySetObj,getObj:getObj,putObj:putObj// onChanged, +};/** + * 设置信息 + */var getSetting=function getSetting(){return getObj(config_STOKEY_SETTING);};var getSettingWithDefault=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.t0=_objectSpread2;_context.t1=_objectSpread2({},config_DEFAULT_SETTING);_context.next=4;return getSetting();case 4:_context.t2=_context.sent;if(_context.t2){_context.next=7;break;}_context.t2={};case 7:_context.t3=_context.t2;return _context.abrupt("return",(0,_context.t0)(_context.t1,_context.t3));case 9:case"end":return _context.stop();}},_callee);}));return function getSettingWithDefault(){return _ref.apply(this,arguments);};}();var setSetting=function setSetting(val){return setObj(config_STOKEY_SETTING,val);};var updateSetting=function updateSetting(obj){return putObj(STOKEY_SETTING,obj);};/** + * 规则列表 + */var getRules=function getRules(){return getObj(config_STOKEY_RULES);};var getRulesWithDefault=/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=2;return getRules();case 2:_context2.t0=_context2.sent;if(_context2.t0){_context2.next=5;break;}_context2.t0=config_DEFAULT_RULES;case 5:return _context2.abrupt("return",_context2.t0);case 6:case"end":return _context2.stop();}},_callee2);}));return function getRulesWithDefault(){return _ref2.apply(this,arguments);};}();var setRules=function setRules(val){return setObj(config_STOKEY_RULES,val);};/** + * 订阅规则 + */var getSubRules=function getSubRules(url){return getObj(config_STOKEY_RULESCACHE_PREFIX+url);};var getSubRulesWithDefault=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref3=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(){return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=2;return getSubRules();case 2:_context3.t0=_context3.sent;if(_context3.t0){_context3.next=5;break;}_context3.t0=[];case 5:return _context3.abrupt("return",_context3.t0);case 6:case"end":return _context3.stop();}},_callee3);}));return function getSubRulesWithDefault(){return _ref3.apply(this,arguments);};}()));var delSubRules=function delSubRules(url){return del(config_STOKEY_RULESCACHE_PREFIX+url);};var setSubRules=function setSubRules(url,val){return setObj(config_STOKEY_RULESCACHE_PREFIX+url,val);};/** + * fab位置 + */var getFab=function getFab(){return getObj(STOKEY_FAB);};var getFabWithDefault=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref4=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(){return _regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return getFab();case 2:_context4.t0=_context4.sent;if(_context4.t0){_context4.next=5;break;}_context4.t0={};case 5:return _context4.abrupt("return",_context4.t0);case 6:case"end":return _context4.stop();}},_callee4);}));return function getFabWithDefault(){return _ref4.apply(this,arguments);};}()));var setFab=function setFab(obj){return setObj(STOKEY_FAB,obj);};/** + * 数据同步 + */var getSync=function getSync(){return getObj(config_STOKEY_SYNC);};var storage_getSyncWithDefault=/*#__PURE__*/function(){var _ref5=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee5(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_context5.next=2;return getSync();case 2:_context5.t0=_context5.sent;if(_context5.t0){_context5.next=5;break;}_context5.t0=config_DEFAULT_SYNC;case 5:return _context5.abrupt("return",_context5.t0);case 6:case"end":return _context5.stop();}},_callee5);}));return function getSyncWithDefault(){return _ref5.apply(this,arguments);};}();var storage_updateSync=function updateSync(obj){return putObj(config_STOKEY_SYNC,obj);};/** + * ms auth + */var getMsauth=function getMsauth(){return getObj(STOKEY_MSAUTH);};var setMsauth=function setMsauth(val){return setObj(STOKEY_MSAUTH,val);};/** + * 存入默认数据 + */var tryInitDefaultData=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref6=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(){return _regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:_context6.prev=0;_context6.next=3;return trySetObj(STOKEY_SETTING,DEFAULT_SETTING);case 3:_context6.next=5;return trySetObj(STOKEY_RULES,DEFAULT_RULES);case 5:_context6.next=7;return trySetObj(STOKEY_SYNC,DEFAULT_SYNC);case 7:_context6.next=9;return trySetObj("".concat(STOKEY_RULESCACHE_PREFIX).concat("https://fishjar.github.io/kiss-translator/kiss-translator-rules.json"),BUILTIN_RULES);case 9:_context6.next=14;break;case 11:_context6.prev=11;_context6.t0=_context6["catch"](0);console.log("[init default]",_context6.t0);case 14:case"end":return _context6.stop();}},_callee6,null,[[0,11]]);}));return function tryInitDefaultData(){return _ref6.apply(this,arguments);};}())); ;// CONCATENATED MODULE: ./src/hooks/Storage.js -var _defaultStorage;/** - * 默认配置 - */var defaultStorage=(_defaultStorage={},(0,defineProperty/* default */.Z)(_defaultStorage,STOKEY_SETTING,DEFAULT_SETTING),(0,defineProperty/* default */.Z)(_defaultStorage,STOKEY_RULES,DEFAULT_RULES),(0,defineProperty/* default */.Z)(_defaultStorage,STOKEY_SYNC,DEFAULT_SYNC),_defaultStorage);var activeKeys=Object.keys(defaultStorage);var StoragesContext=/*#__PURE__*/(0,react.createContext)(null);function StoragesProvider(_ref){var children=_ref.children;var _useState=(0,react.useState)(null),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),storages=_useState2[0],setStorages=_useState2[1];var handleChanged=function handleChanged(changes){if(isWeb||isGm){var _changes=changes,key=_changes.key,oldValue=_changes.oldValue,newValue=_changes.newValue;changes=(0,defineProperty/* default */.Z)({},key,{oldValue:oldValue,newValue:newValue});}var newStorages={};Object.entries(changes).filter(function(_ref2){var _ref3=(0,slicedToArray/* default */.Z)(_ref2,2),key=_ref3[0],_ref3$=_ref3[1],oldValue=_ref3$.oldValue,newValue=_ref3$.newValue;return activeKeys.includes(key)&&oldValue!==newValue;}).forEach(function(_ref4){var _ref5=(0,slicedToArray/* default */.Z)(_ref4,2),key=_ref5[0],newValue=_ref5[1].newValue;newStorages[key]=JSON.parse(newValue);});if(Object.keys(newStorages).length!==0){setStorages(function(pre){return _objectSpread2(_objectSpread2({},pre),newStorages);});}};(0,react.useEffect)(function(){// 首次从storage同步配置到内存 -asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){var curStorages,_iterator,_step,key,val;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:curStorages={};_iterator=createForOfIteratorHelper_createForOfIteratorHelper(activeKeys);_context.prev=2;_iterator.s();case 4:if((_step=_iterator.n()).done){_context.next=18;break;}key=_step.value;_context.next=8;return libs_storage.get(key);case 8:val=_context.sent;if(!val){_context.next=13;break;}curStorages[key]=JSON.parse(val);_context.next=16;break;case 13:_context.next=15;return libs_storage.setObj(key,defaultStorage[key]);case 15:curStorages[key]=defaultStorage[key];case 16:_context.next=4;break;case 18:_context.next=23;break;case 20:_context.prev=20;_context.t0=_context["catch"](2);_iterator.e(_context.t0);case 23:_context.prev=23;_iterator.f();return _context.finish(23);case 26:setStorages(curStorages);case 27:case"end":return _context.stop();}},_callee,null,[[2,20,23,26]]);}))();// 监听storage,并同步到内存中 -libs_storage.onChanged(handleChanged);// 解除监听 -return function(){if(browser_isExt){browser_browser.storage.onChanged.removeListener(handleChanged);}else{window.removeEventListener("storage",handleChanged);}};},[]);return/*#__PURE__*/(0,jsx_runtime.jsx)(StoragesContext.Provider,{value:storages,children:children});}function useStorages(){return (0,react.useContext)(StoragesContext);} +function useStorage(key){var defaultVal=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var _useState=(0,react.useState)(defaultVal),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),data=_useState2[0],setData=_useState2[1];var save=(0,react.useCallback)(/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(val){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:setData(val);_context.next=3;return storage.setObj(key,val);case 3:case"end":return _context.stop();}},_callee);}));return function(_x){return _ref.apply(this,arguments);};}(),[key]);var update=(0,react.useCallback)(/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(obj){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:setData(function(pre){return _objectSpread2(_objectSpread2({},pre),obj);});_context2.next=3;return storage.putObj(key,obj);case 3:case"end":return _context2.stop();}},_callee2);}));return function(_x2){return _ref2.apply(this,arguments);};}(),[key]);var remove=(0,react.useCallback)(/*#__PURE__*/asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:setData(null);_context3.next=3;return storage.del(key);case 3:case"end":return _context3.stop();}},_callee3);})),[key]);(0,react.useEffect)(function(){asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(){var val;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return storage.getObj(key);case 2:val=_context4.sent;if(!val){_context4.next=7;break;}setData(val);_context4.next=10;break;case 7:if(!defaultVal){_context4.next=10;break;}_context4.next=10;return storage.setObj(key,defaultVal);case 10:case"end":return _context4.stop();}},_callee4);}))();},[key,defaultVal]);return{data:data,save:save,update:update,remove:remove};} ;// CONCATENATED MODULE: ./src/hooks/Sync.js /** * sync hook * @returns - */function useSync(){var storages=useStorages();var opt=storages===null||storages===void 0?void 0:storages[STOKEY_SYNC];var update=(0,react.useCallback)(/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(obj){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return libs_storage.putObj(STOKEY_SYNC,obj);case 2:case"end":return _context.stop();}},_callee);}));return function(_x){return _ref.apply(this,arguments);};}(),[]);return{opt:opt,update:update};} -;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js - -function _objectWithoutProperties(source, excluded) { - if (source == null) return {}; - var target = (0,objectWithoutPropertiesLoose/* default */.Z)(source, excluded); - var key, i; - if (Object.getOwnPropertySymbols) { - var sourceSymbolKeys = Object.getOwnPropertySymbols(source); - for (i = 0; i < sourceSymbolKeys.length; i++) { - key = sourceSymbolKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; - target[key] = source[key]; - } - } - return target; -} -;// CONCATENATED MODULE: ./src/libs/msg.js -/** - * 发送消息给background - * @param {*} action - * @param {*} args - * @returns - */var msg_sendMsg=function sendMsg(action,args){var _browser$runtime;return browser_browser===null||browser_browser===void 0?void 0:(_browser$runtime=browser_browser.runtime)===null||_browser$runtime===void 0?void 0:_browser$runtime.sendMessage({action:action,args:args});};/** - * 发送消息给当前页面 - * @param {*} action - * @param {*} args - * @returns - */var sendTabMsg=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(action,args){var tabs;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return browser===null||browser===void 0?void 0:browser.tabs.query({active:true,currentWindow:true});case 2:tabs=_context.sent;_context.next=5;return browser===null||browser===void 0?void 0:browser.tabs.sendMessage(tabs[0].id,{action:action,args:args});case 5:return _context.abrupt("return",_context.sent);case 6:case"end":return _context.stop();}},_callee);}));return function sendTabMsg(_x,_x2){return _ref.apply(this,arguments);};}())); -;// CONCATENATED MODULE: ./src/libs/pool.js -/** - * 任务池 - * @param {*} fn - * @param {*} preFn - * @param {*} _interval - * @param {*} _limit - * @returns - */var taskPool=function taskPool(fn,preFn){var _interval=arguments.length>2&&arguments[2]!==undefined?arguments[2]:100;var _limit=arguments.length>3&&arguments[3]!==undefined?arguments[3]:100;var pool=[];var maxRetry=2;// 最大重试次数 -var maxCount=_limit;// 最大数量 -var curCount=0;// 当前数量 -var interval=_interval;// 间隔时间 -var timer=null;var handleTask=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(item,preArgs){var args,resolve,reject,retry,res;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:curCount++;args=item.args,resolve=item.resolve,reject=item.reject,retry=item.retry;_context.prev=2;_context.next=5;return fn(_objectSpread2(_objectSpread2({},args),preArgs));case 5:res=_context.sent;resolve(res);_context.next=12;break;case 9:_context.prev=9;_context.t0=_context["catch"](2);if(retry0&&arguments[0]!==undefined?arguments[0]:100;var _limit=arguments.length>1&&arguments[1]!==undefined?arguments[1]:100;if(_interval>=0&&_interval<=5000&&_interval!==interval){interval=_interval;}if(_limit>=1&&_limit<=100&&_limit!==maxCount){maxCount=_limit;}},clear:function clear(){pool.length=0;curCount=0;timer&&clearTimeout(timer);timer=null;}};}; -;// CONCATENATED MODULE: ./src/libs/auth.js -var parseMSToken=function parseMSToken(token){try{return JSON.parse(atob(token.split(".")[1])).exp;}catch(err){console.log("[parseMSToken]",err);}return 0;};/** - * 闭包缓存token,减少对storage查询 - * @returns - */var _msAuth=function _msAuth(){var _ref={},token=_ref.token,exp=_ref.exp;return/*#__PURE__*/asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){var now,res;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:// 查询内存缓存 -now=Date.now();if(!(token&&exp*1000>now+1000)){_context.next=3;break;}return _context.abrupt("return",[token,exp]);case 3:_context.next=5;return libs_storage.getObj(STOKEY_MSAUTH);case 5:_context.t0=_context.sent;if(_context.t0){_context.next=8;break;}_context.t0={};case 8:res=_context.t0;token=res.token;exp=res.exp;if(!(token&&exp*1000>now+1000)){_context.next=13;break;}return _context.abrupt("return",[token,exp]);case 13:_context.next=15;return fetchData(URL_MICROSOFT_AUTH);case 15:token=_context.sent;exp=parseMSToken(token);_context.next=19;return libs_storage.setObj(STOKEY_MSAUTH,{token:token,exp:exp});case 19:return _context.abrupt("return",[token,exp]);case 20:case"end":return _context.stop();}},_callee);}));};var msAuth=_msAuth(); -;// CONCATENATED MODULE: ./src/libs/fetch.js -var fetch_excluded=["useCache","usePool","translator","token"],fetch_excluded2=["isBg"];/** - * 油猴脚本的请求封装 - * @param {*} input - * @param {*} init - * @returns - */var fetchGM=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(input){var _ref2,_ref2$method,method,headers,body,_args=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_ref2=_args.length>1&&_args[1]!==undefined?_args[1]:{},_ref2$method=_ref2.method,method=_ref2$method===void 0?"GET":_ref2$method,headers=_ref2.headers,body=_ref2.body;return _context.abrupt("return",new Promise(function(resolve,reject){GM.xmlHttpRequest({method:method,url:input,headers:headers,data:body,onload:function onload(response){if(response.status===200){var _headers=new Headers();response.responseHeaders.split("\n").forEach(function(line){var _line$split$map=line.split(":").map(function(item){return item.trim();}),_line$split$map2=(0,slicedToArray/* default */.Z)(_line$split$map,2),name=_line$split$map2[0],value=_line$split$map2[1];if(name&&value){_headers.append(name,value);}});resolve(new Response(response.response,{headers:_headers}));}else{reject(new Error("[".concat(response.status,"] ").concat(response.responseText)));}},onerror:reject});}));case 2:case"end":return _context.stop();}},_callee);}));return function fetchGM(_x){return _ref.apply(this,arguments);};}();/** - * 构造缓存 request - * @param {*} request - * @returns - */var newCacheReq=/*#__PURE__*/function(){var _ref3=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(request){var body,cacheUrl;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(!(request.method!=="GET")){_context2.next=7;break;}_context2.next=3;return request.text();case 3:body=_context2.sent;cacheUrl=new URL(request.url);cacheUrl.pathname+=body;request=new Request(cacheUrl.toString(),{method:"GET"});case 7:return _context2.abrupt("return",request);case 8:case"end":return _context2.stop();}},_callee2);}));return function newCacheReq(_x2){return _ref3.apply(this,arguments);};}();/** - * 发起请求 - * @param {*} param0 - * @returns - */var fetchApi=/*#__PURE__*/function(){var _ref5=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(_ref4){var input,_ref4$init,init,translator,token,_info,_info$script,info,connects,url,isSafe;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:input=_ref4.input,_ref4$init=_ref4.init,init=_ref4$init===void 0?{}:_ref4$init,translator=_ref4.translator,token=_ref4.token;if(translator===config_OPT_TRANS_MICROSOFT){init.headers["Authorization"]="Bearer ".concat(token);}else if(translator===config_OPT_TRANS_OPENAI){init.headers["Authorization"]="Bearer ".concat(token);// // OpenAI -init.headers["api-key"]=token;// Azure OpenAI -}if(!isGm){_context3.next=19;break;}if(!window.KISS_GM){_context3.next=9;break;}_context3.next=6;return window.KISS_GM.getInfo();case 6:info=_context3.sent;_context3.next=10;break;case 9:info=GM.info;case 10:connects=((_info=info)===null||_info===void 0?void 0:(_info$script=_info.script)===null||_info$script===void 0?void 0:_info$script.connects)||[];url=new URL(input);isSafe=connects.find(function(item){return url.hostname.endsWith(item);});if(!isSafe){_context3.next=19;break;}if(!window.KISS_GM){_context3.next=18;break;}return _context3.abrupt("return",window.KISS_GM.fetch(input,init));case 18:return _context3.abrupt("return",fetchGM(input,init));case 19:return _context3.abrupt("return",fetch(input,init));case 20:case"end":return _context3.stop();}},_callee3);}));return function fetchApi(_x3){return _ref5.apply(this,arguments);};}();/** - * 请求池实例 - */var fetchPool=taskPool(fetchApi,/*#__PURE__*/function(){var _ref7=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(_ref6){var translator,_yield$msAuth,_yield$msAuth2,token;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:translator=_ref6.translator;if(!(translator===config_OPT_TRANS_MICROSOFT)){_context4.next=8;break;}_context4.next=4;return msAuth();case 4:_yield$msAuth=_context4.sent;_yield$msAuth2=(0,slicedToArray/* default */.Z)(_yield$msAuth,1);token=_yield$msAuth2[0];return _context4.abrupt("return",{token:token});case 8:return _context4.abrupt("return",{});case 9:case"end":return _context4.stop();}},_callee4);}));return function(_x4){return _ref7.apply(this,arguments);};}(),DEFAULT_FETCH_INTERVAL,DEFAULT_FETCH_LIMIT);/** - * 请求数据统一接口 - * @param {*} input - * @param {*} opts - * @returns - */var fetchData=/*#__PURE__*/function(){var _ref8=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee5(input){var _ref9,useCache,usePool,translator,token,init,cacheReq,cache,res,_res,contentType,_args5=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_ref9=_args5.length>1&&_args5[1]!==undefined?_args5[1]:{},useCache=_ref9.useCache,usePool=_ref9.usePool,translator=_ref9.translator,token=_ref9.token,init=_objectWithoutProperties(_ref9,fetch_excluded);_context5.next=3;return newCacheReq(new Request(input,init));case 3:cacheReq=_context5.sent;_context5.next=6;return caches.open(CACHE_NAME);case 6:cache=_context5.sent;if(!useCache){_context5.next=17;break;}_context5.prev=8;_context5.next=11;return cache.match(cacheReq);case 11:res=_context5.sent;_context5.next=17;break;case 14:_context5.prev=14;_context5.t0=_context5["catch"](8);console.log("[cache match]",_context5.t0);case 17:if(res){_context5.next=38;break;}if(!usePool){_context5.next=24;break;}_context5.next=21;return fetchPool.push({input:input,init:init,translator:translator,token:token});case 21:res=_context5.sent;_context5.next=27;break;case 24:_context5.next=26;return fetchApi({input:input,init:init,translator:translator,token:token});case 26:res=_context5.sent;case 27:if((_res=res)!==null&&_res!==void 0&&_res.ok){_context5.next=29;break;}throw new Error("response: ".concat(res.statusText));case 29:if(!useCache){_context5.next=38;break;}_context5.prev=30;_context5.next=33;return cache.put(cacheReq,res.clone());case 33:_context5.next=38;break;case 35:_context5.prev=35;_context5.t1=_context5["catch"](30);console.log("[cache put]",_context5.t1);case 38:contentType=res.headers.get("Content-Type");if(!(contentType!==null&&contentType!==void 0&&contentType.includes("json"))){_context5.next=43;break;}_context5.next=42;return res.json();case 42:return _context5.abrupt("return",_context5.sent);case 43:_context5.next=45;return res.text();case 45:return _context5.abrupt("return",_context5.sent);case 46:case"end":return _context5.stop();}},_callee5,null,[[8,14],[30,35]]);}));return function fetchData(_x5){return _ref8.apply(this,arguments);};}();/** - * fetch 兼容性封装 - * @param {*} input - * @param {*} opts - * @returns - */var fetch_fetchPolyfill=/*#__PURE__*/function(){var _ref10=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee6(input){var _ref11,_ref11$isBg,isBg,opts,res,_args6=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:_ref11=_args6.length>1&&_args6[1]!==undefined?_args6[1]:{},_ref11$isBg=_ref11.isBg,isBg=_ref11$isBg===void 0?false:_ref11$isBg,opts=_objectWithoutProperties(_ref11,fetch_excluded2);if(!(browser_isExt&&!isBg)){_context6.next=8;break;}_context6.next=4;return msg_sendMsg(MSG_FETCH,{input:input,opts:opts});case 4:res=_context6.sent;if(!res.error){_context6.next=7;break;}throw new Error(res.error);case 7:return _context6.abrupt("return",res.data);case 8:_context6.next=10;return fetchData(input,opts);case 10:return _context6.abrupt("return",_context6.sent);case 11:case"end":return _context6.stop();}},_callee6);}));return function fetchPolyfill(_x6){return _ref10.apply(this,arguments);};}();/** - * 更新 fetch pool 参数 - * @param {*} interval - * @param {*} limit - */var fetchUpdate=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref12=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(interval,limit){var res;return _regeneratorRuntime().wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:if(!isExt){_context7.next=8;break;}_context7.next=3;return sendMsg(MSG_FETCH_LIMIT,{interval:interval,limit:limit});case 3:res=_context7.sent;if(!res.error){_context7.next=6;break;}throw new Error(res.error);case 6:_context7.next=9;break;case 8:fetchPool.update(interval,limit);case 9:case"end":return _context7.stop();}},_callee7);}));return function fetchUpdate(_x7,_x8){return _ref12.apply(this,arguments);};}()));/** - * 清空任务池 - */var fetchClear=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref13=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(){var res;return _regeneratorRuntime().wrap(function _callee8$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:if(!isExt){_context8.next=8;break;}_context8.next=3;return sendMsg(MSG_FETCH_CLEAR);case 3:res=_context8.sent;if(!res.error){_context8.next=6;break;}throw new Error(res.error);case 6:_context8.next=9;break;case 8:fetchPool.clear();case 9:case"end":return _context8.stop();}},_callee8);}));return function fetchClear(){return _ref13.apply(this,arguments);};}())); -;// CONCATENATED MODULE: ./src/libs/utils.js -/** - * 限制数字大小 - * @param {*} num - * @param {*} min - * @param {*} max - * @returns - */var limitNumber=function limitNumber(num){var min=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var max=arguments.length>2&&arguments[2]!==undefined?arguments[2]:100;var number=parseInt(num);if(Number.isNaN(number)||numbermax){return max;}return number;};/** - * 匹配是否为数组中的值 - * @param {*} arr - * @param {*} val - * @returns - */var matchValue=function matchValue(arr,val){if(arr.length===0||arr.includes(val)){return val;}return arr[0];};/** - * 等待 - * @param {*} delay - * @returns - */var sleep=function sleep(delay){return new Promise(function(resolve){return setTimeout(resolve,delay);});};/** - * 防抖函数 - * @param {*} func - * @param {*} delay - * @returns - */var debounce=function debounce(func){var delay=arguments.length>1&&arguments[1]!==undefined?arguments[1]:200;var timer;return function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}timer&&clearTimeout(timer);timer=setTimeout(function(){func.apply(void 0,args);},delay);};};/** - * 字符串通配符(*)匹配 - * @param {*} s - * @param {*} p - * @returns - */var utils_isMatch=function isMatch(s,p){if(s.length===0||p.length===0){return false;}p="*".concat(p,"*");var sIndex=0,pIndex=0;var sRecord=-1,pRecord=-1;while(sIndex1&&_args[1]!==undefined?_args[1]:false;_context.next=3;return fetch_fetchPolyfill(url,{isBg:isBg});case 3:res=_context.sent;rules=checkRules(res).filter(function(rule){return rule.pattern.replaceAll(rules_GLOBAL_KEY,"")!=="";});return _context.abrupt("return",rules);case 6:case"end":return _context.stop();}},_callee);}));function fetch(_x){return _fetch.apply(this,arguments);}return fetch;}(),set:function(){var _set=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(url,rules){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=2;return libs_storage.setObj("".concat(STOKEY_RULESCACHE_PREFIX).concat(url),rules);case 2:case"end":return _context2.stop();}},_callee2);}));function set(_x2,_x3){return _set.apply(this,arguments);}return set;}(),get:function(){var _get=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(url){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=2;return libs_storage.getObj("".concat(STOKEY_RULESCACHE_PREFIX).concat(url));case 2:return _context3.abrupt("return",_context3.sent);case 3:case"end":return _context3.stop();}},_callee3);}));function get(_x4){return _get.apply(this,arguments);}return get;}(),del:function(){var _del=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(url){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return libs_storage.del("".concat(STOKEY_RULESCACHE_PREFIX).concat(url));case 2:case"end":return _context4.stop();}},_callee4);}));function del(_x5){return _del.apply(this,arguments);}return del;}()};/** - * 同步订阅规则 - * @param {*} url - * @returns - */var syncSubRules=/*#__PURE__*/function(){var _ref3=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee5(url){var isBg,rules,_args5=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:isBg=_args5.length>1&&_args5[1]!==undefined?_args5[1]:false;_context5.next=3;return rulesCache.fetch(url,isBg);case 3:rules=_context5.sent;if(!(rules.length>0)){_context5.next=7;break;}_context5.next=7;return rulesCache.set(url,rules);case 7:return _context5.abrupt("return",rules);case 8:case"end":return _context5.stop();}},_callee5);}));return function syncSubRules(_x6){return _ref3.apply(this,arguments);};}();/** - * 同步所有订阅规则 - * @param {*} url - * @returns - */var syncAllSubRules=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref4=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(subrulesList){var isBg,_iterator,_step,subrules,_args6=arguments;return _regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:isBg=_args6.length>1&&_args6[1]!==undefined?_args6[1]:false;_iterator=_createForOfIteratorHelper(subrulesList);_context6.prev=2;_iterator.s();case 4:if((_step=_iterator.n()).done){_context6.next=16;break;}subrules=_step.value;_context6.prev=6;_context6.next=9;return syncSubRules(subrules.url,isBg);case 9:_context6.next=14;break;case 11:_context6.prev=11;_context6.t0=_context6["catch"](6);console.log("[sync subrule error]: ".concat(subrules.url),_context6.t0);case 14:_context6.next=4;break;case 16:_context6.next=21;break;case 18:_context6.prev=18;_context6.t1=_context6["catch"](2);_iterator.e(_context6.t1);case 21:_context6.prev=21;_iterator.f();return _context6.finish(21);case 24:case"end":return _context6.stop();}},_callee6,null,[[2,18,21,24],[6,11]]);}));return function syncAllSubRules(_x7){return _ref4.apply(this,arguments);};}()));/** - * 根据时间同步所有订阅规则 - * @param {*} url - * @returns - */var trySyncAllSubRules=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref6=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(_ref5){var subrulesList,isBg,_yield$syncOpt$load,subRulesSyncAt,now,interval,_args7=arguments;return _regeneratorRuntime().wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:subrulesList=_ref5.subrulesList;isBg=_args7.length>1&&_args7[1]!==undefined?_args7[1]:false;_context7.prev=2;_context7.next=5;return syncOpt.load();case 5:_yield$syncOpt$load=_context7.sent;subRulesSyncAt=_yield$syncOpt$load.subRulesSyncAt;now=Date.now();interval=24*60*60*1000;// 间隔一天 -if(!(now-subRulesSyncAt>interval)){_context7.next=14;break;}_context7.next=12;return syncAllSubRules(subrulesList,isBg);case 12:_context7.next=14;return syncOpt.update({subRulesSyncAt:now});case 14:_context7.next=19;break;case 16:_context7.prev=16;_context7.t0=_context7["catch"](2);console.log("[try sync all subrules]",_context7.t0);case 19:case"end":return _context7.stop();}},_callee7,null,[[2,16]]);}));return function trySyncAllSubRules(_x8){return _ref6.apply(this,arguments);};}()));/** - * 从缓存或远程加载订阅规则 - * @param {*} url - * @returns - */var rules_loadSubRules=/*#__PURE__*/function(){var _ref7=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee8(url){var rules;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee8$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:_context8.next=2;return rulesCache.get(url);case 2:rules=_context8.sent;if(!(rules!==null&&rules!==void 0&&rules.length)){_context8.next=5;break;}return _context8.abrupt("return",rules);case 5:_context8.next=7;return syncSubRules(url);case 7:return _context8.abrupt("return",_context8.sent);case 8:case"end":return _context8.stop();}},_callee8);}));return function loadSubRules(_x9){return _ref7.apply(this,arguments);};}(); -;// CONCATENATED MODULE: ./src/libs/index.js -/** - * 查询storage中的设置 - * @returns - */var libs_getSetting=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.t0=_objectSpread2;_context.t1=_objectSpread2({},DEFAULT_SETTING);_context.next=4;return libs_storage.getObj(STOKEY_SETTING);case 4:_context.t2=_context.sent;if(_context.t2){_context.next=7;break;}_context.t2={};case 7:_context.t3=_context.t2;return _context.abrupt("return",(0,_context.t0)(_context.t1,_context.t3));case 9:case"end":return _context.stop();}},_callee);}));return function getSetting(){return _ref.apply(this,arguments);};}();/** - * 查询规则列表 - * @returns - */var getRules=/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=2;return libs_storage.getObj(STOKEY_RULES);case 2:_context2.t0=_context2.sent;if(_context2.t0){_context2.next=5;break;}_context2.t0=[];case 5:return _context2.abrupt("return",_context2.t0);case 6:case"end":return _context2.stop();}},_callee2);}));return function getRules(){return _ref2.apply(this,arguments);};}();/** - * 查询fab位置信息 - * @returns - */var getFab=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref3=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(){return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=2;return storage.getObj(STOKEY_FAB);case 2:_context3.t0=_context3.sent;if(_context3.t0){_context3.next=5;break;}_context3.t0={};case 5:return _context3.abrupt("return",_context3.t0);case 6:case"end":return _context3.stop();}},_callee3);}));return function getFab(){return _ref3.apply(this,arguments);};}()));/** - * 设置fab位置信息 - * @returns - */var setFab=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref4=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(obj){return _regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return storage.setObj(STOKEY_FAB,obj);case 2:return _context4.abrupt("return",_context4.sent);case 3:case"end":return _context4.stop();}},_callee4);}));return function setFab(_x){return _ref4.apply(this,arguments);};}()));/** - * 根据href匹配规则 - * @param {*} rules - * @param {string} href - * @returns - */var matchRule=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref6=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(rules,href,_ref5){var _rule$selector,_globalRule$selector,_rule$bgColor,_globalRule$bgColor;var _ref5$injectRules,injectRules,_ref5$subrulesList,subrulesList,selectedSub,_rules,subRules,rule,globalRule;return _regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_ref5$injectRules=_ref5.injectRules,injectRules=_ref5$injectRules===void 0?true:_ref5$injectRules,_ref5$subrulesList=_ref5.subrulesList,subrulesList=_ref5$subrulesList===void 0?DEFAULT_SUBRULES_LIST:_ref5$subrulesList;rules=_toConsumableArray(rules);if(!injectRules){_context5.next=15;break;}_context5.prev=3;selectedSub=subrulesList.find(function(item){return item.selected;});if(!(selectedSub!==null&&selectedSub!==void 0&&selectedSub.url)){_context5.next=10;break;}_context5.next=8;return loadSubRules(selectedSub.url);case 8:subRules=_context5.sent;(_rules=rules).splice.apply(_rules,[-1,0].concat(_toConsumableArray(subRules)));case 10:_context5.next=15;break;case 12:_context5.prev=12;_context5.t0=_context5["catch"](3);console.log("[load injectRules]",_context5.t0);case 15:rule=rules.find(function(r){return r.pattern.split(",").some(function(p){return isMatch(href,p.trim());});});globalRule=rules.find(function(r){return r.pattern.split(",").some(function(p){return p.trim()==="*";});})||GLOBLA_RULE;if(rule){_context5.next=19;break;}return _context5.abrupt("return",globalRule);case 19:rule.selector=(rule===null||rule===void 0?void 0:(_rule$selector=rule.selector)===null||_rule$selector===void 0?void 0:_rule$selector.trim())||(globalRule===null||globalRule===void 0?void 0:(_globalRule$selector=globalRule.selector)===null||_globalRule$selector===void 0?void 0:_globalRule$selector.trim())||GLOBLA_RULE.selector;rule.bgColor=(rule===null||rule===void 0?void 0:(_rule$bgColor=rule.bgColor)===null||_rule$bgColor===void 0?void 0:_rule$bgColor.trim())||(globalRule===null||globalRule===void 0?void 0:(_globalRule$bgColor=globalRule.bgColor)===null||_globalRule$bgColor===void 0?void 0:_globalRule$bgColor.trim());["translator","fromLang","toLang","textStyle","transOpen"].forEach(function(key){if(rule[key]===GLOBAL_KEY){rule[key]=globalRule[key];}});return _context5.abrupt("return",rule);case 23:case"end":return _context5.stop();}},_callee5,null,[[3,12]]);}));return function matchRule(_x2,_x3,_x4){return _ref6.apply(this,arguments);};}()));/** - * 本地语言识别 - * @param {*} q - * @returns - */var libs_detectLang=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref7=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(q){var _browser$i18n,_res$languages,_res$languages$,res;return _regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:_context6.prev=0;_context6.next=3;return browser===null||browser===void 0?void 0:(_browser$i18n=browser.i18n)===null||_browser$i18n===void 0?void 0:_browser$i18n.detectLanguage(q);case 3:res=_context6.sent;return _context6.abrupt("return",res===null||res===void 0?void 0:(_res$languages=res.languages)===null||_res$languages===void 0?void 0:(_res$languages$=_res$languages[0])===null||_res$languages$===void 0?void 0:_res$languages$.language);case 7:_context6.prev=7;_context6.t0=_context6["catch"](0);console.log("[detect lang]",_context6.t0);case 10:case"end":return _context6.stop();}},_callee6,null,[[0,7]]);}));return function detectLang(_x5){return _ref7.apply(this,arguments);};}())); + */function useSync(){var _useStorage=useStorage(config_STOKEY_SYNC,config_DEFAULT_SYNC),data=_useStorage.data,update=_useStorage.update;return{sync:data,updateSync:update};} ;// CONCATENATED MODULE: ./node_modules/decode-uri-component/index.js var token = '%[a-f0-9]{2}'; var singleMatcher = new RegExp('(' + token + ')|([^%]+?)', 'gi'); @@ -43891,6 +43736,133 @@ function exclude(input, filter, options) { ;// CONCATENATED MODULE: ./node_modules/query-string/index.js /* harmony default export */ var query_string = ((/* unused pure expression or super */ null && (queryString))); +;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js + +function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + var target = (0,objectWithoutPropertiesLoose/* default */.Z)(source, excluded); + var key, i; + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + return target; +} +;// CONCATENATED MODULE: ./src/libs/msg.js +/** + * 发送消息给background + * @param {*} action + * @param {*} args + * @returns + */var msg_sendBgMsg=function sendBgMsg(action,args){return browser_browser.runtime.sendMessage({action:action,args:args});};/** + * 发送消息给当前页面 + * @param {*} action + * @param {*} args + * @returns + */var sendTabMsg=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(action,args){var tabs;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return browser.tabs.query({active:true,currentWindow:true});case 2:tabs=_context.sent;return _context.abrupt("return",browser.tabs.sendMessage(tabs[0].id,{action:action,args:args}));case 4:case"end":return _context.stop();}},_callee);}));return function sendTabMsg(_x,_x2){return _ref.apply(this,arguments);};}())); +;// CONCATENATED MODULE: ./src/libs/pool.js +/** + * 任务池 + * @param {*} fn + * @param {*} preFn + * @param {*} _interval + * @param {*} _limit + * @returns + */var taskPool=function taskPool(fn,preFn){var _interval=arguments.length>2&&arguments[2]!==undefined?arguments[2]:100;var _limit=arguments.length>3&&arguments[3]!==undefined?arguments[3]:100;var pool=[];var maxRetry=2;// 最大重试次数 +var maxCount=_limit;// 最大数量 +var curCount=0;// 当前数量 +var interval=_interval;// 间隔时间 +var timer=null;var handleTask=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(item,preArgs){var args,resolve,reject,retry,res;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:curCount++;args=item.args,resolve=item.resolve,reject=item.reject,retry=item.retry;_context.prev=2;_context.next=5;return fn(_objectSpread2(_objectSpread2({},args),preArgs));case 5:res=_context.sent;resolve(res);_context.next=12;break;case 9:_context.prev=9;_context.t0=_context["catch"](2);if(retry0&&arguments[0]!==undefined?arguments[0]:100;var _limit=arguments.length>1&&arguments[1]!==undefined?arguments[1]:100;if(_interval>=0&&_interval<=5000&&_interval!==interval){interval=_interval;}if(_limit>=1&&_limit<=100&&_limit!==maxCount){maxCount=_limit;}},clear:function clear(){pool.length=0;curCount=0;timer&&clearTimeout(timer);timer=null;}};}; +;// CONCATENATED MODULE: ./src/libs/auth.js +var parseMSToken=function parseMSToken(token){try{return JSON.parse(atob(token.split(".")[1])).exp;}catch(err){console.log("[parseMSToken]",err);}return 0;};/** + * 闭包缓存token,减少对storage查询 + * @returns + */var _msAuth=function _msAuth(){var _ref={},token=_ref.token,exp=_ref.exp;return/*#__PURE__*/asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){var now,res;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:// 查询内存缓存 +now=Date.now();if(!(token&&exp*1000>now+1000)){_context.next=3;break;}return _context.abrupt("return",[token,exp]);case 3:_context.next=5;return getMsauth();case 5:res=_context.sent;token=res===null||res===void 0?void 0:res.token;exp=res===null||res===void 0?void 0:res.exp;if(!(token&&exp*1000>now+1000)){_context.next=10;break;}return _context.abrupt("return",[token,exp]);case 10:_context.next=12;return fetchData(URL_MICROSOFT_AUTH);case 12:token=_context.sent;exp=parseMSToken(token);_context.next=16;return setMsauth({token:token,exp:exp});case 16:return _context.abrupt("return",[token,exp]);case 17:case"end":return _context.stop();}},_callee);}));};var msAuth=_msAuth(); +;// CONCATENATED MODULE: ./src/libs/fetch.js +var fetch_excluded=["useCache","usePool","translator","token"],fetch_excluded2=["isBg"];/** + * 油猴脚本的请求封装 + * @param {*} input + * @param {*} init + * @returns + */var fetchGM=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(input){var _ref2,_ref2$method,method,headers,body,_args=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_ref2=_args.length>1&&_args[1]!==undefined?_args[1]:{},_ref2$method=_ref2.method,method=_ref2$method===void 0?"GET":_ref2$method,headers=_ref2.headers,body=_ref2.body;return _context.abrupt("return",new Promise(function(resolve,reject){GM.xmlHttpRequest({method:method,url:input,headers:headers,data:body,onload:function onload(response){if(response.status===200){var _headers=new Headers();response.responseHeaders.split("\n").forEach(function(line){var _line$split$map=line.split(":").map(function(item){return item.trim();}),_line$split$map2=(0,slicedToArray/* default */.Z)(_line$split$map,2),name=_line$split$map2[0],value=_line$split$map2[1];if(name&&value){_headers.append(name,value);}});resolve(new Response(response.response,{headers:_headers}));}else{reject(new Error("[".concat(response.status,"] ").concat(response.responseText)));}},onerror:reject});}));case 2:case"end":return _context.stop();}},_callee);}));return function fetchGM(_x){return _ref.apply(this,arguments);};}();/** + * 构造缓存 request + * @param {*} request + * @returns + */var newCacheReq=/*#__PURE__*/function(){var _ref3=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(request){var body,cacheUrl;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(!(request.method!=="GET")){_context2.next=7;break;}_context2.next=3;return request.text();case 3:body=_context2.sent;cacheUrl=new URL(request.url);cacheUrl.pathname+=body;request=new Request(cacheUrl.toString(),{method:"GET"});case 7:return _context2.abrupt("return",request);case 8:case"end":return _context2.stop();}},_callee2);}));return function newCacheReq(_x2){return _ref3.apply(this,arguments);};}();/** + * 发起请求 + * @param {*} param0 + * @returns + */var fetchApi=/*#__PURE__*/function(){var _ref5=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(_ref4){var input,_ref4$init,init,translator,token,_info,_info$script,info,connects,url,isSafe;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:input=_ref4.input,_ref4$init=_ref4.init,init=_ref4$init===void 0?{}:_ref4$init,translator=_ref4.translator,token=_ref4.token;if(translator===config_OPT_TRANS_MICROSOFT){init.headers["Authorization"]="Bearer ".concat(token);}else if(translator===config_OPT_TRANS_OPENAI){init.headers["Authorization"]="Bearer ".concat(token);// // OpenAI +init.headers["api-key"]=token;// Azure OpenAI +}if(!isGm){_context3.next=19;break;}if(!window.KISS_GM){_context3.next=9;break;}_context3.next=6;return window.KISS_GM.getInfo();case 6:info=_context3.sent;_context3.next=10;break;case 9:info=GM.info;case 10:connects=((_info=info)===null||_info===void 0?void 0:(_info$script=_info.script)===null||_info$script===void 0?void 0:_info$script.connects)||[];url=new URL(input);isSafe=connects.find(function(item){return url.hostname.endsWith(item);});if(!isSafe){_context3.next=19;break;}if(!window.KISS_GM){_context3.next=18;break;}return _context3.abrupt("return",window.KISS_GM.fetch(input,init));case 18:return _context3.abrupt("return",fetchGM(input,init));case 19:return _context3.abrupt("return",fetch(input,init));case 20:case"end":return _context3.stop();}},_callee3);}));return function fetchApi(_x3){return _ref5.apply(this,arguments);};}();/** + * 请求池实例 + */var fetchPool=taskPool(fetchApi,/*#__PURE__*/function(){var _ref7=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(_ref6){var translator,_yield$msAuth,_yield$msAuth2,token;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:translator=_ref6.translator;if(!(translator===config_OPT_TRANS_MICROSOFT)){_context4.next=8;break;}_context4.next=4;return msAuth();case 4:_yield$msAuth=_context4.sent;_yield$msAuth2=(0,slicedToArray/* default */.Z)(_yield$msAuth,1);token=_yield$msAuth2[0];return _context4.abrupt("return",{token:token});case 8:return _context4.abrupt("return",{});case 9:case"end":return _context4.stop();}},_callee4);}));return function(_x4){return _ref7.apply(this,arguments);};}(),DEFAULT_FETCH_INTERVAL,DEFAULT_FETCH_LIMIT);/** + * 请求数据统一接口 + * @param {*} input + * @param {*} opts + * @returns + */var fetchData=/*#__PURE__*/function(){var _ref8=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee5(input){var _ref9,useCache,usePool,translator,token,init,cacheReq,res,cache,_res,_cache,contentType,_args5=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_ref9=_args5.length>1&&_args5[1]!==undefined?_args5[1]:{},useCache=_ref9.useCache,usePool=_ref9.usePool,translator=_ref9.translator,token=_ref9.token,init=_objectWithoutProperties(_ref9,fetch_excluded);_context5.next=3;return newCacheReq(new Request(input,init));case 3:cacheReq=_context5.sent;if(!useCache){_context5.next=17;break;}_context5.prev=5;_context5.next=8;return caches.open(config_CACHE_NAME);case 8:cache=_context5.sent;_context5.next=11;return cache.match(cacheReq);case 11:res=_context5.sent;_context5.next=17;break;case 14:_context5.prev=14;_context5.t0=_context5["catch"](5);console.log("[cache match]",_context5.t0.message);case 17:if(res){_context5.next=41;break;}if(!usePool){_context5.next=24;break;}_context5.next=21;return fetchPool.push({input:input,init:init,translator:translator,token:token});case 21:res=_context5.sent;_context5.next=27;break;case 24:_context5.next=26;return fetchApi({input:input,init:init,translator:translator,token:token});case 26:res=_context5.sent;case 27:if((_res=res)!==null&&_res!==void 0&&_res.ok){_context5.next=29;break;}throw new Error("response: ".concat(res.statusText));case 29:if(!useCache){_context5.next=41;break;}_context5.prev=30;_context5.next=33;return caches.open(config_CACHE_NAME);case 33:_cache=_context5.sent;_context5.next=36;return _cache.put(cacheReq,res.clone());case 36:_context5.next=41;break;case 38:_context5.prev=38;_context5.t1=_context5["catch"](30);console.log("[cache put]",_context5.t1.message);case 41:contentType=res.headers.get("Content-Type");if(!(contentType!==null&&contentType!==void 0&&contentType.includes("json"))){_context5.next=46;break;}_context5.next=45;return res.json();case 45:return _context5.abrupt("return",_context5.sent);case 46:_context5.next=48;return res.text();case 48:return _context5.abrupt("return",_context5.sent);case 49:case"end":return _context5.stop();}},_callee5,null,[[5,14],[30,38]]);}));return function fetchData(_x5){return _ref8.apply(this,arguments);};}();/** + * fetch 兼容性封装 + * @param {*} input + * @param {*} opts + * @returns + */var fetch_fetchPolyfill=/*#__PURE__*/function(){var _ref10=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee6(input){var _ref11,_ref11$isBg,isBg,opts,res,_args6=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:_ref11=_args6.length>1&&_args6[1]!==undefined?_args6[1]:{},_ref11$isBg=_ref11.isBg,isBg=_ref11$isBg===void 0?false:_ref11$isBg,opts=_objectWithoutProperties(_ref11,fetch_excluded2);if(!(client_isExt&&!isBg)){_context6.next=8;break;}_context6.next=4;return msg_sendBgMsg(MSG_FETCH,{input:input,opts:opts});case 4:res=_context6.sent;if(!res.error){_context6.next=7;break;}throw new Error(res.error);case 7:return _context6.abrupt("return",res.data);case 8:_context6.next=10;return fetchData(input,opts);case 10:return _context6.abrupt("return",_context6.sent);case 11:case"end":return _context6.stop();}},_callee6);}));return function fetchPolyfill(_x6){return _ref10.apply(this,arguments);};}();/** + * 更新 fetch pool 参数 + * @param {*} interval + * @param {*} limit + */var updateFetchPool=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref12=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(interval,limit){var res;return _regeneratorRuntime().wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:if(!isExt){_context7.next=8;break;}_context7.next=3;return sendBgMsg(MSG_FETCH_LIMIT,{interval:interval,limit:limit});case 3:res=_context7.sent;if(!res.error){_context7.next=6;break;}throw new Error(res.error);case 6:_context7.next=9;break;case 8:fetchPool.update(interval,limit);case 9:case"end":return _context7.stop();}},_callee7);}));return function updateFetchPool(_x7,_x8){return _ref12.apply(this,arguments);};}()));/** + * 清空任务池 + */var clearFetchPool=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref13=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(){var res;return _regeneratorRuntime().wrap(function _callee8$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:if(!isExt){_context8.next=8;break;}_context8.next=3;return sendBgMsg(MSG_FETCH_CLEAR);case 3:res=_context8.sent;if(!res.error){_context8.next=6;break;}throw new Error(res.error);case 6:_context8.next=9;break;case 8:fetchPool.clear();case 9:case"end":return _context8.stop();}},_callee8);}));return function clearFetchPool(){return _ref13.apply(this,arguments);};}())); +;// CONCATENATED MODULE: ./src/libs/index.js +/** + * 清除缓存数据 + */var tryClearCaches=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:try{caches.delete(CACHE_NAME);}catch(err){console.log("[clean caches]",err.message);}case 1:case"end":return _context.stop();}},_callee);}));return function tryClearCaches(){return _ref.apply(this,arguments);};}()));/** + * 本地语言识别 + * @param {*} q + * @returns + */var libs_tryDetectLang=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(q){var _browser$i18n,_res$languages,_res$languages$,res;return _regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.prev=0;_context2.next=3;return browser===null||browser===void 0?void 0:(_browser$i18n=browser.i18n)===null||_browser$i18n===void 0?void 0:_browser$i18n.detectLanguage(q);case 3:res=_context2.sent;return _context2.abrupt("return",res===null||res===void 0?void 0:(_res$languages=res.languages)===null||_res$languages===void 0?void 0:(_res$languages$=_res$languages[0])===null||_res$languages$===void 0?void 0:_res$languages$.language);case 7:_context2.prev=7;_context2.t0=_context2["catch"](0);console.log("[detect lang]",_context2.t0.message);case 10:case"end":return _context2.stop();}},_callee2,null,[[0,7]]);}));return function tryDetectLang(_x){return _ref2.apply(this,arguments);};}())); +;// CONCATENATED MODULE: ./src/libs/utils.js +/** + * 限制数字大小 + * @param {*} num + * @param {*} min + * @param {*} max + * @returns + */var limitNumber=function limitNumber(num){var min=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var max=arguments.length>2&&arguments[2]!==undefined?arguments[2]:100;var number=parseInt(num);if(Number.isNaN(number)||numbermax){return max;}return number;};/** + * 匹配是否为数组中的值 + * @param {*} arr + * @param {*} val + * @returns + */var matchValue=function matchValue(arr,val){if(arr.length===0||arr.includes(val)){return val;}return arr[0];};/** + * 等待 + * @param {*} delay + * @returns + */var sleep=function sleep(delay){return new Promise(function(resolve){var timer=setTimeout(function(){clearTimeout(timer);resolve();},delay);});};/** + * 防抖函数 + * @param {*} func + * @param {*} delay + * @returns + */var debounce=function debounce(func){var delay=arguments.length>1&&arguments[1]!==undefined?arguments[1]:200;var timer;return function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}timer&&clearTimeout(timer);timer=setTimeout(function(){func.apply(void 0,args);},delay);};};/** + * 字符串通配符(*)匹配 + * @param {*} s + * @param {*} p + * @returns + */var utils_isMatch=function isMatch(s,p){if(s.length===0||p.length===0){return false;}p="*".concat(p,"*");var sIndex=0,pIndex=0;var sRecord=-1,pRecord=-1;while(sIndex3&&_args[3]!==undefined?_args[3]:false;_context.t0=fetch_fetchPolyfill;_context.t1=url;_context.t2="Bearer ";_context.next=6;return sha256(key,KV_SALT_SYNC);case 6:_context.t3=_context.sent;_context.t4=_context.t2.concat.call(_context.t2,_context.t3);_context.t5={"Content-type":"application/json",Authorization:_context.t4};_context.t6=JSON.stringify(data);_context.t7=isBg;_context.t8={headers:_context.t5,method:"POST",body:_context.t6,isBg:_context.t7};return _context.abrupt("return",(0,_context.t0)(_context.t1,_context.t8));case 13:case"end":return _context.stop();}},_callee);}));return function apiSyncData(_x,_x2,_x3){return _ref.apply(this,arguments);};}();/** + * 下载订阅规则 + * @param {*} url + * @param {*} isBg + * @returns + */var apiFetchRules=function apiFetchRules(url){var isBg=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;return fetch_fetchPolyfill(url,{isBg:isBg});};/** * 谷歌翻译 * @param {*} text * @param {*} to * @param {*} from * @returns - */var apiGoogleTranslate=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(translator,text,to,from){var params,_yield$getSetting,googleUrl,input;return _regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:params={client:"gtx",dt:"t",dj:1,ie:"UTF-8",sl:from,tl:to,q:text};_context2.next=3;return getSetting();case 3:_yield$getSetting=_context2.sent;googleUrl=_yield$getSetting.googleUrl;input="".concat(googleUrl,"?").concat(queryString.stringify(params));return _context2.abrupt("return",fetchPolyfill(input,{headers:{"Content-type":"application/json"},useCache:true,usePool:true,translator:translator}));case 7:case"end":return _context2.stop();}},_callee2);}));return function apiGoogleTranslate(_x4,_x5,_x6,_x7){return _ref2.apply(this,arguments);};}()));/** + */var apiGoogleTranslate=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(translator,text,to,from,setting){var googleUrl,params,input;return _regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:googleUrl=setting.googleUrl;params={client:"gtx",dt:"t",dj:1,ie:"UTF-8",sl:from,tl:to,q:text};input="".concat(googleUrl,"?").concat(queryString.stringify(params));return _context2.abrupt("return",fetchPolyfill(input,{headers:{"Content-type":"application/json"},useCache:true,usePool:true,translator:translator}));case 4:case"end":return _context2.stop();}},_callee2);}));return function apiGoogleTranslate(_x4,_x5,_x6,_x7,_x8){return _ref2.apply(this,arguments);};}()));/** * 微软翻译 * @param {*} text * @param {*} to @@ -43916,36 +43893,31 @@ function exclude(input, filter, options) { * @param {*} to * @param {*} from * @returns - */var apiOpenaiTranslate=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref3=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(translator,text,to,from){var _yield$getSetting2,openaiUrl,openaiKey,openaiModel,openaiPrompt,prompt;return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=2;return getSetting();case 2:_yield$getSetting2=_context3.sent;openaiUrl=_yield$getSetting2.openaiUrl;openaiKey=_yield$getSetting2.openaiKey;openaiModel=_yield$getSetting2.openaiModel;openaiPrompt=_yield$getSetting2.openaiPrompt;prompt=openaiPrompt.replaceAll(PROMPT_PLACE_FROM,from).replaceAll(PROMPT_PLACE_TO,to);return _context3.abrupt("return",fetchPolyfill(openaiUrl,{headers:{"Content-type":"application/json"},method:"POST",body:JSON.stringify({model:openaiModel,messages:[{role:"system",content:prompt},{role:"user",content:text}],temperature:0,max_tokens:256}),useCache:true,usePool:true,translator:translator,token:openaiKey}));case 9:case"end":return _context3.stop();}},_callee3);}));return function apiOpenaiTranslate(_x8,_x9,_x10,_x11){return _ref3.apply(this,arguments);};}()));/** + */var apiOpenaiTranslate=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref3=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(translator,text,to,from,setting){var openaiUrl,openaiKey,openaiModel,openaiPrompt,prompt;return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:openaiUrl=setting.openaiUrl,openaiKey=setting.openaiKey,openaiModel=setting.openaiModel,openaiPrompt=setting.openaiPrompt;prompt=openaiPrompt.replaceAll(PROMPT_PLACE_FROM,from).replaceAll(PROMPT_PLACE_TO,to);return _context3.abrupt("return",fetchPolyfill(openaiUrl,{headers:{"Content-type":"application/json"},method:"POST",body:JSON.stringify({model:openaiModel,messages:[{role:"system",content:prompt},{role:"user",content:text}],temperature:0,max_tokens:256}),useCache:true,usePool:true,translator:translator,token:openaiKey}));case 3:case"end":return _context3.stop();}},_callee3);}));return function apiOpenaiTranslate(_x9,_x10,_x11,_x12,_x13){return _ref3.apply(this,arguments);};}()));/** * 统一翻译接口 * @param {*} param0 * @returns - */var apiTranslate=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref5=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_ref4){var _OPT_LANGS_SPECIAL$tr,_OPT_LANGS_SPECIAL$tr2,_OPT_LANGS_SPECIAL$tr3,_OPT_LANGS_SPECIAL$tr4;var translator,q,fromLang,toLang,trText,isSame,from,to,res,_res,_res2$choices,_res2;return _regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:translator=_ref4.translator,q=_ref4.q,fromLang=_ref4.fromLang,toLang=_ref4.toLang;trText="";isSame=false;from=(_OPT_LANGS_SPECIAL$tr=OPT_LANGS_SPECIAL===null||OPT_LANGS_SPECIAL===void 0?void 0:(_OPT_LANGS_SPECIAL$tr2=OPT_LANGS_SPECIAL[translator])===null||_OPT_LANGS_SPECIAL$tr2===void 0?void 0:_OPT_LANGS_SPECIAL$tr2.get(fromLang))!==null&&_OPT_LANGS_SPECIAL$tr!==void 0?_OPT_LANGS_SPECIAL$tr:fromLang;to=(_OPT_LANGS_SPECIAL$tr3=OPT_LANGS_SPECIAL===null||OPT_LANGS_SPECIAL===void 0?void 0:(_OPT_LANGS_SPECIAL$tr4=OPT_LANGS_SPECIAL[translator])===null||_OPT_LANGS_SPECIAL$tr4===void 0?void 0:_OPT_LANGS_SPECIAL$tr4.get(toLang))!==null&&_OPT_LANGS_SPECIAL$tr3!==void 0?_OPT_LANGS_SPECIAL$tr3:toLang;if(!(translator===OPT_TRANS_GOOGLE)){_context4.next=13;break;}_context4.next=8;return apiGoogleTranslate(translator,q,to,from);case 8:res=_context4.sent;trText=res.sentences.map(function(item){return item.trans;}).join(" ");isSame=to===res.src;_context4.next=33;break;case 13:if(!(translator===OPT_TRANS_MICROSOFT)){_context4.next=21;break;}_context4.next=16;return apiMicrosoftTranslate(translator,q,to,from);case 16:_res=_context4.sent;trText=_res[0].translations[0].text;isSame=to===_res[0].detectedLanguage.language;_context4.next=33;break;case 21:if(!(translator===OPT_TRANS_OPENAI)){_context4.next=33;break;}_context4.next=24;return apiOpenaiTranslate(translator,q,to,from);case 24:_res2=_context4.sent;trText=_res2===null||_res2===void 0?void 0:(_res2$choices=_res2.choices)===null||_res2$choices===void 0?void 0:_res2$choices[0].message.content;_context4.next=28;return detectLang(q);case 28:_context4.t0=_context4.sent;_context4.next=31;return detectLang(trText);case 31:_context4.t1=_context4.sent;isSame=_context4.t0===_context4.t1;case 33:return _context4.abrupt("return",[trText,isSame]);case 34:case"end":return _context4.stop();}},_callee4);}));return function apiTranslate(_x12){return _ref5.apply(this,arguments);};}())); + */var apiTranslate=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref5=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(_ref4){var _OPT_LANGS_SPECIAL$tr,_OPT_LANGS_SPECIAL$tr2,_OPT_LANGS_SPECIAL$tr3,_OPT_LANGS_SPECIAL$tr4;var translator,q,fromLang,toLang,setting,trText,isSame,from,to,res,_res,_res2$choices,_res2,sLang,tLang;return _regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:translator=_ref4.translator,q=_ref4.q,fromLang=_ref4.fromLang,toLang=_ref4.toLang,setting=_ref4.setting;trText="";isSame=false;from=(_OPT_LANGS_SPECIAL$tr=OPT_LANGS_SPECIAL===null||OPT_LANGS_SPECIAL===void 0?void 0:(_OPT_LANGS_SPECIAL$tr2=OPT_LANGS_SPECIAL[translator])===null||_OPT_LANGS_SPECIAL$tr2===void 0?void 0:_OPT_LANGS_SPECIAL$tr2.get(fromLang))!==null&&_OPT_LANGS_SPECIAL$tr!==void 0?_OPT_LANGS_SPECIAL$tr:fromLang;to=(_OPT_LANGS_SPECIAL$tr3=OPT_LANGS_SPECIAL===null||OPT_LANGS_SPECIAL===void 0?void 0:(_OPT_LANGS_SPECIAL$tr4=OPT_LANGS_SPECIAL[translator])===null||_OPT_LANGS_SPECIAL$tr4===void 0?void 0:_OPT_LANGS_SPECIAL$tr4.get(toLang))!==null&&_OPT_LANGS_SPECIAL$tr3!==void 0?_OPT_LANGS_SPECIAL$tr3:toLang;if(!(translator===OPT_TRANS_GOOGLE)){_context4.next=13;break;}_context4.next=8;return apiGoogleTranslate(translator,q,to,from,setting);case 8:res=_context4.sent;trText=res.sentences.map(function(item){return item.trans;}).join(" ");isSame=to===res.src;_context4.next=33;break;case 13:if(!(translator===OPT_TRANS_MICROSOFT)){_context4.next=21;break;}_context4.next=16;return apiMicrosoftTranslate(translator,q,to,from);case 16:_res=_context4.sent;trText=_res[0].translations[0].text;isSame=to===_res[0].detectedLanguage.language;_context4.next=33;break;case 21:if(!(translator===OPT_TRANS_OPENAI)){_context4.next=33;break;}_context4.next=24;return apiOpenaiTranslate(translator,q,to,from,setting);case 24:_res2=_context4.sent;trText=_res2===null||_res2===void 0?void 0:(_res2$choices=_res2.choices)===null||_res2$choices===void 0?void 0:_res2$choices[0].message.content;_context4.next=28;return tryDetectLang(q);case 28:sLang=_context4.sent;_context4.next=31;return tryDetectLang(trText);case 31:tLang=_context4.sent;isSame=q===trText||sLang&&tLang&&sLang===tLang;case 33:return _context4.abrupt("return",[trText,isSame]);case 34:case"end":return _context4.stop();}},_callee4);}));return function apiTranslate(_x14){return _ref5.apply(this,arguments);};}())); ;// CONCATENATED MODULE: ./src/libs/sync.js /** - * 同步相关数据 - */var sync_syncOpt={load:function(){var _load=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return libs_storage.getObj(STOKEY_SYNC);case 2:_context.t0=_context.sent;if(_context.t0){_context.next=5;break;}_context.t0=DEFAULT_SYNC;case 5:return _context.abrupt("return",_context.t0);case 6:case"end":return _context.stop();}},_callee);}));function load(){return _load.apply(this,arguments);}return load;}(),update:function(){var _update=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(obj){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=2;return libs_storage.putObj(STOKEY_SYNC,obj);case 2:case"end":return _context2.stop();}},_callee2);}));function update(_x){return _update.apply(this,arguments);}return update;}()};/** * 同步设置 * @returns - */var syncSetting=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(){var isBg,_yield$syncOpt$load,syncUrl,syncKey,settingUpdateAt,setting,res,_args3=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:isBg=_args3.length>0&&_args3[0]!==undefined?_args3[0]:false;_context3.next=3;return sync_syncOpt.load();case 3:_yield$syncOpt$load=_context3.sent;syncUrl=_yield$syncOpt$load.syncUrl;syncKey=_yield$syncOpt$load.syncKey;settingUpdateAt=_yield$syncOpt$load.settingUpdateAt;if(!(!syncUrl||!syncKey)){_context3.next=9;break;}return _context3.abrupt("return");case 9:_context3.next=11;return libs_getSetting();case 11:setting=_context3.sent;_context3.next=14;return apiSyncData(syncUrl,syncKey,{key:KV_SETTING_KEY,value:setting,updateAt:settingUpdateAt},isBg);case 14:res=_context3.sent;if(!(res&&res.updateAt>settingUpdateAt)){_context3.next=22;break;}_context3.next=18;return sync_syncOpt.update({settingUpdateAt:res.updateAt,settingSyncAt:res.updateAt});case 18:_context3.next=20;return libs_storage.setObj(STOKEY_SETTING,res.value);case 20:_context3.next=24;break;case 22:_context3.next=24;return sync_syncOpt.update({settingSyncAt:res.updateAt});case 24:case"end":return _context3.stop();}},_callee3);}));return function syncSetting(){return _ref.apply(this,arguments);};}();var trySyncSetting=/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(){var isBg,_args4=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:isBg=_args4.length>0&&_args4[0]!==undefined?_args4[0]:false;_context4.prev=1;_context4.next=4;return syncSetting(isBg);case 4:_context4.next=9;break;case 6:_context4.prev=6;_context4.t0=_context4["catch"](1);console.log("[sync setting]",_context4.t0);case 9:case"end":return _context4.stop();}},_callee4,null,[[1,6]]);}));return function trySyncSetting(){return _ref2.apply(this,arguments);};}();/** + */var syncSetting=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){var isBg,_yield$getSyncWithDef,syncUrl,syncKey,settingUpdateAt,setting,res,_args=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:isBg=_args.length>0&&_args[0]!==undefined?_args[0]:false;_context.next=3;return storage_getSyncWithDefault();case 3:_yield$getSyncWithDef=_context.sent;syncUrl=_yield$getSyncWithDef.syncUrl;syncKey=_yield$getSyncWithDef.syncKey;settingUpdateAt=_yield$getSyncWithDef.settingUpdateAt;if(!(!syncUrl||!syncKey)){_context.next=9;break;}return _context.abrupt("return");case 9:_context.next=11;return getSettingWithDefault();case 11:setting=_context.sent;_context.next=14;return apiSyncData(syncUrl,syncKey,{key:KV_SETTING_KEY,value:setting,updateAt:settingUpdateAt},isBg);case 14:res=_context.sent;if(!(res&&res.updateAt>settingUpdateAt)){_context.next=22;break;}_context.next=18;return storage_updateSync({settingUpdateAt:res.updateAt,settingSyncAt:res.updateAt});case 18:_context.next=20;return setSetting(res.value);case 20:_context.next=24;break;case 22:_context.next=24;return storage_updateSync({settingSyncAt:res.updateAt});case 24:case"end":return _context.stop();}},_callee);}));return function syncSetting(){return _ref.apply(this,arguments);};}();var trySyncSetting=/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(){var isBg,_args2=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:isBg=_args2.length>0&&_args2[0]!==undefined?_args2[0]:false;_context2.prev=1;_context2.next=4;return syncSetting(isBg);case 4:_context2.next=9;break;case 6:_context2.prev=6;_context2.t0=_context2["catch"](1);console.log("[sync setting]",_context2.t0);case 9:case"end":return _context2.stop();}},_callee2,null,[[1,6]]);}));return function trySyncSetting(){return _ref2.apply(this,arguments);};}();/** * 同步规则 * @returns - */var syncRules=/*#__PURE__*/function(){var _ref3=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee5(){var isBg,_yield$syncOpt$load2,syncUrl,syncKey,rulesUpdateAt,rules,res,_args5=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:isBg=_args5.length>0&&_args5[0]!==undefined?_args5[0]:false;_context5.next=3;return sync_syncOpt.load();case 3:_yield$syncOpt$load2=_context5.sent;syncUrl=_yield$syncOpt$load2.syncUrl;syncKey=_yield$syncOpt$load2.syncKey;rulesUpdateAt=_yield$syncOpt$load2.rulesUpdateAt;if(!(!syncUrl||!syncKey)){_context5.next=9;break;}return _context5.abrupt("return");case 9:_context5.next=11;return getRules();case 11:rules=_context5.sent;_context5.next=14;return apiSyncData(syncUrl,syncKey,{key:KV_RULES_KEY,value:rules,updateAt:rulesUpdateAt},isBg);case 14:res=_context5.sent;if(!(res&&res.updateAt>rulesUpdateAt)){_context5.next=22;break;}_context5.next=18;return sync_syncOpt.update({rulesUpdateAt:res.updateAt,rulesSyncAt:res.updateAt});case 18:_context5.next=20;return libs_storage.setObj(STOKEY_RULES,res.value);case 20:_context5.next=24;break;case 22:_context5.next=24;return sync_syncOpt.update({rulesSyncAt:res.updateAt});case 24:case"end":return _context5.stop();}},_callee5);}));return function syncRules(){return _ref3.apply(this,arguments);};}();var trySyncRules=/*#__PURE__*/function(){var _ref4=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee6(){var isBg,_args6=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:isBg=_args6.length>0&&_args6[0]!==undefined?_args6[0]:false;_context6.prev=1;_context6.next=4;return syncRules(isBg);case 4:_context6.next=9;break;case 6:_context6.prev=6;_context6.t0=_context6["catch"](1);console.log("[sync user rules]",_context6.t0);case 9:case"end":return _context6.stop();}},_callee6,null,[[1,6]]);}));return function trySyncRules(){return _ref4.apply(this,arguments);};}();/** + */var syncRules=/*#__PURE__*/function(){var _ref3=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(){var isBg,_yield$getSyncWithDef2,syncUrl,syncKey,rulesUpdateAt,rules,res,_args3=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:isBg=_args3.length>0&&_args3[0]!==undefined?_args3[0]:false;_context3.next=3;return storage_getSyncWithDefault();case 3:_yield$getSyncWithDef2=_context3.sent;syncUrl=_yield$getSyncWithDef2.syncUrl;syncKey=_yield$getSyncWithDef2.syncKey;rulesUpdateAt=_yield$getSyncWithDef2.rulesUpdateAt;if(!(!syncUrl||!syncKey)){_context3.next=9;break;}return _context3.abrupt("return");case 9:_context3.next=11;return getRulesWithDefault();case 11:rules=_context3.sent;_context3.next=14;return apiSyncData(syncUrl,syncKey,{key:KV_RULES_KEY,value:rules,updateAt:rulesUpdateAt},isBg);case 14:res=_context3.sent;if(!(res&&res.updateAt>rulesUpdateAt)){_context3.next=22;break;}_context3.next=18;return storage_updateSync({rulesUpdateAt:res.updateAt,rulesSyncAt:res.updateAt});case 18:_context3.next=20;return setRules(res.value);case 20:_context3.next=24;break;case 22:_context3.next=24;return storage_updateSync({rulesSyncAt:res.updateAt});case 24:case"end":return _context3.stop();}},_callee3);}));return function syncRules(){return _ref3.apply(this,arguments);};}();var trySyncRules=/*#__PURE__*/function(){var _ref4=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(){var isBg,_args4=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:isBg=_args4.length>0&&_args4[0]!==undefined?_args4[0]:false;_context4.prev=1;_context4.next=4;return syncRules(isBg);case 4:_context4.next=9;break;case 6:_context4.prev=6;_context4.t0=_context4["catch"](1);console.log("[sync user rules]",_context4.t0);case 9:case"end":return _context4.stop();}},_callee4,null,[[1,6]]);}));return function trySyncRules(){return _ref4.apply(this,arguments);};}();/** * 同步分享规则 * @param {*} param0 * @returns - */var syncShareRules=/*#__PURE__*/function(){var _ref6=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee7(_ref5){var rules,syncUrl,syncKey,psk,shareUrl;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:rules=_ref5.rules,syncUrl=_ref5.syncUrl,syncKey=_ref5.syncKey;_context7.next=3;return apiSyncData(syncUrl,syncKey,{key:KV_RULES_SHARE_KEY,value:rules,updateAt:Date.now()});case 3:_context7.next=5;return sha256(syncKey,KV_SALT_SHARE);case 5:psk=_context7.sent;shareUrl="".concat(syncUrl,"?psk=").concat(psk);return _context7.abrupt("return",shareUrl);case 8:case"end":return _context7.stop();}},_callee7);}));return function syncShareRules(_x2){return _ref6.apply(this,arguments);};}();/** + */var syncShareRules=/*#__PURE__*/function(){var _ref6=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee5(_ref5){var rules,syncUrl,syncKey,psk,shareUrl;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:rules=_ref5.rules,syncUrl=_ref5.syncUrl,syncKey=_ref5.syncKey;_context5.next=3;return apiSyncData(syncUrl,syncKey,{key:KV_RULES_SHARE_KEY,value:rules,updateAt:Date.now()});case 3:_context5.next=5;return sha256(syncKey,KV_SALT_SHARE);case 5:psk=_context5.sent;shareUrl="".concat(syncUrl,"?psk=").concat(psk);return _context5.abrupt("return",shareUrl);case 8:case"end":return _context5.stop();}},_callee5);}));return function syncShareRules(_x){return _ref6.apply(this,arguments);};}();/** * 同步个人设置和规则 * @returns - */var syncAll=/*#__PURE__*/function(){var _ref7=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee8(){var isBg,_args8=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee8$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:isBg=_args8.length>0&&_args8[0]!==undefined?_args8[0]:false;_context8.next=3;return syncSetting(isBg);case 3:_context8.next=5;return syncRules(isBg);case 5:case"end":return _context8.stop();}},_callee8);}));return function syncAll(){return _ref7.apply(this,arguments);};}();var trySyncAll=/*#__PURE__*/function(){var _ref8=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee9(){var isBg,_args9=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee9$(_context9){while(1)switch(_context9.prev=_context9.next){case 0:isBg=_args9.length>0&&_args9[0]!==undefined?_args9[0]:false;_context9.next=3;return trySyncSetting(isBg);case 3:_context9.next=5;return trySyncRules(isBg);case 5:case"end":return _context9.stop();}},_callee9);}));return function trySyncAll(){return _ref8.apply(this,arguments);};}(); + */var syncSettingAndRules=/*#__PURE__*/function(){var _ref7=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee6(){var isBg,_args6=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:isBg=_args6.length>0&&_args6[0]!==undefined?_args6[0]:false;_context6.next=3;return syncSetting(isBg);case 3:_context6.next=5;return syncRules(isBg);case 5:case"end":return _context6.stop();}},_callee6);}));return function syncSettingAndRules(){return _ref7.apply(this,arguments);};}();var trySyncSettingAndRules=/*#__PURE__*/function(){var _ref8=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee7(){var isBg,_args7=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:isBg=_args7.length>0&&_args7[0]!==undefined?_args7[0]:false;_context7.next=3;return trySyncSetting(isBg);case 3:_context7.next=5;return trySyncRules(isBg);case 5:case"end":return _context7.stop();}},_callee7);}));return function trySyncSettingAndRules(){return _ref8.apply(this,arguments);};}(); ;// CONCATENATED MODULE: ./src/hooks/Setting.js -/** - * 设置hook +var SettingContext=/*#__PURE__*/(0,react.createContext)({setting:null,updateSetting:function(){var _updateSetting=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:case"end":return _context.stop();}},_callee);}));function updateSetting(){return _updateSetting.apply(this,arguments);}return updateSetting;}()});function SettingProvider(_ref){var children=_ref.children;var _useStorage=useStorage(config_STOKEY_SETTING,config_DEFAULT_SETTING),data=_useStorage.data,update=_useStorage.update;var _useSync=useSync(),settingUpdateAt=_useSync.sync.settingUpdateAt,updateSync=_useSync.updateSync;var updateSetting=(0,react.useCallback)(/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(obj){var updateAt;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:updateAt=settingUpdateAt?Date.now():0;_context2.next=3;return update(obj);case 3:_context2.next=5;return updateSync({settingUpdateAt:updateAt});case 5:trySyncSetting();case 6:case"end":return _context2.stop();}},_callee2);}));return function(_x){return _ref2.apply(this,arguments);};}(),[settingUpdateAt,update,updateSync]);return/*#__PURE__*/(0,jsx_runtime.jsx)(SettingContext.Provider,{value:{setting:data,updateSetting:updateSetting},children:children});}/** + * 设置 hook * @returns - */function useSetting(){var storages=useStorages();return storages===null||storages===void 0?void 0:storages[STOKEY_SETTING];}/** - * 更新设置 - * @returns - */function useSettingUpdate(){var sync=useSync();return/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(obj){var _sync$opt;var updateAt;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:updateAt=(_sync$opt=sync.opt)!==null&&_sync$opt!==void 0&&_sync$opt.settingUpdateAt?Date.now():0;_context.next=3;return libs_storage.putObj(STOKEY_SETTING,obj);case 3:_context.next=5;return sync.update({settingUpdateAt:updateAt});case 5:trySyncSetting();case 6:case"end":return _context.stop();}},_callee);}));return function(_x){return _ref.apply(this,arguments);};}();} + */function useSetting(){return (0,react.useContext)(SettingContext);} ;// CONCATENATED MODULE: ./src/hooks/Fetch.js /** * fetch data hook @@ -43955,7 +43927,7 @@ function exclude(input, filter, options) { /** * 多语言 hook * @returns - */var useI18n=function useI18n(){var _useSetting;var _ref=(_useSetting=useSetting())!==null&&_useSetting!==void 0?_useSetting:{},uiLang=_ref.uiLang;return function(key){var _I18N$key$uiLang,_I18N$key;var defaultText=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"";return(_I18N$key$uiLang=I18N===null||I18N===void 0?void 0:(_I18N$key=I18N[key])===null||_I18N$key===void 0?void 0:_I18N$key[uiLang])!==null&&_I18N$key$uiLang!==void 0?_I18N$key$uiLang:defaultText;};};var useI18nMd=function useI18nMd(key){var i18n=useI18n();var fileName=i18n(key);var url=fileName?"".concat(URL_RAW_PREFIX,"/").concat(fileName):"";return useFetch(url);}; + */var useI18n=function useI18n(){var _useSetting=useSetting(),uiLang=_useSetting.setting.uiLang;return function(key){var _I18N$key$uiLang,_I18N$key;var defaultText=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"";return(_I18N$key$uiLang=I18N===null||I18N===void 0?void 0:(_I18N$key=I18N[key])===null||_I18N$key===void 0?void 0:_I18N$key[uiLang])!==null&&_I18N$key$uiLang!==void 0?_I18N$key$uiLang:defaultText;};};var useI18nMd=function useI18nMd(key){var i18n=useI18n();var fileName=i18n(key);var url=fileName?"".concat(URL_RAW_PREFIX,"/").concat(fileName):"";return useFetch(url);}; ;// CONCATENATED MODULE: ./src/views/Options/About.js function About(){var i18n=useI18n();var _useI18nMd=useI18nMd("about_md"),_useI18nMd2=(0,slicedToArray/* default */.Z)(_useI18nMd,3),data=_useI18nMd2[0],loading=_useI18nMd2[1],error=_useI18nMd2[2];return/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{children:loading?/*#__PURE__*/(0,jsx_runtime.jsx)("center",{children:/*#__PURE__*/(0,jsx_runtime.jsx)(CircularProgress_CircularProgress,{})}):/*#__PURE__*/(0,jsx_runtime.jsx)(ReactMarkdown,{children:error?i18n("about_md_local"):data})});} // EXTERNAL MODULE: ./node_modules/@mui/system/esm/createStyled.js @@ -48888,7 +48860,7 @@ var popoverClasses = (0,generateUtilityClasses/* default */.Z)('MuiPopover', ['r var Popover_excluded = ["onEntering"], - Popover_excluded2 = ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "container", "elevation", "marginThreshold", "open", "PaperProps", "slots", "slotProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps"], + Popover_excluded2 = ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "container", "elevation", "marginThreshold", "open", "PaperProps", "slots", "slotProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps", "disableScrollLock"], Popover_excluded3 = ["slotProps"]; @@ -49010,6 +48982,8 @@ var Popover = /*#__PURE__*/react.forwardRef(function Popover(inProps, ref) { _props$TransitionProp = props.TransitionProps, _props$TransitionProp2 = _props$TransitionProp === void 0 ? {} : _props$TransitionProp, onEntering = _props$TransitionProp2.onEntering, + _props$disableScrollL = props.disableScrollLock, + disableScrollLock = _props$disableScrollL === void 0 ? false : _props$disableScrollL, TransitionProps = (0,objectWithoutPropertiesLoose/* default */.Z)(props.TransitionProps, Popover_excluded), other = (0,objectWithoutPropertiesLoose/* default */.Z)(props, Popover_excluded2); var externalPaperSlotProps = (_slotProps$paper = slotProps == null ? void 0 : slotProps.paper) != null ? _slotProps$paper : PaperPropsProp; @@ -49087,11 +49061,11 @@ var Popover = /*#__PURE__*/react.forwardRef(function Popover(inProps, ref) { var widthThreshold = containerWindow.innerWidth - marginThreshold; // Check if the vertical axis needs shifting - if (top < marginThreshold) { + if (marginThreshold !== null && top < marginThreshold) { var diff = top - marginThreshold; top -= diff; elemTransformOrigin.vertical += diff; - } else if (bottom > heightThreshold) { + } else if (marginThreshold !== null && bottom > heightThreshold) { var _diff = bottom - heightThreshold; top -= _diff; elemTransformOrigin.vertical += _diff; @@ -49099,7 +49073,7 @@ var Popover = /*#__PURE__*/react.forwardRef(function Popover(inProps, ref) { if (false) {} // Check if the horizontal axis needs shifting - if (left < marginThreshold) { + if (marginThreshold !== null && left < marginThreshold) { var _diff2 = left - marginThreshold; left -= _diff2; elemTransformOrigin.horizontal += _diff2; @@ -49133,6 +49107,14 @@ var Popover = /*#__PURE__*/react.forwardRef(function Popover(inProps, ref) { element.style.transformOrigin = positioning.transformOrigin; setIsPositioned(true); }, [getPositioningStyle]); + react.useEffect(function () { + if (disableScrollLock) { + window.addEventListener('scroll', setPositioningStyles); + } + return function () { + return window.removeEventListener('scroll', setPositioningStyles); + }; + }, [anchorEl, disableScrollLock, setPositioningStyles]); var handleEntering = function handleEntering(element, isAppearing) { if (onEntering) { onEntering(element, isAppearing); @@ -49213,7 +49195,8 @@ var Popover = /*#__PURE__*/react.forwardRef(function Popover(inProps, ref) { rootSlotPropsProp = _useSlotProps.slotProps, rootProps = (0,objectWithoutPropertiesLoose/* default */.Z)(_useSlotProps, Popover_excluded3); return /*#__PURE__*/(0,jsx_runtime.jsx)(RootSlot, (0,esm_extends/* default */.Z)({}, rootProps, !isHostComponent(RootSlot) && { - slotProps: rootSlotPropsProp + slotProps: rootSlotPropsProp, + disableScrollLock: disableScrollLock }, { children: /*#__PURE__*/(0,jsx_runtime.jsx)(TransitionComponent, (0,esm_extends/* default */.Z)({ appear: true, @@ -53023,14 +53006,41 @@ var AccordionDetails = /*#__PURE__*/react.forwardRef(function AccordionDetails(i /* harmony default export */ var AccordionDetails_AccordionDetails = (AccordionDetails); // EXTERNAL MODULE: ./node_modules/@mui/icons-material/ExpandMore.js var ExpandMore = __webpack_require__(6306); +;// CONCATENATED MODULE: ./src/libs/subRules.js +/** + * 同步订阅规则 + * @param {*} url + * @returns + */var syncSubRules=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(url){var isBg,res,rules,_args=arguments;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:isBg=_args.length>1&&_args[1]!==undefined?_args[1]:false;_context.next=3;return apiFetchRules(url,isBg);case 3:res=_context.sent;rules=checkRules(res).filter(function(rule){return rule.pattern.replaceAll(rules_GLOBAL_KEY,"")!=="";});if(!(rules.length>0)){_context.next=8;break;}_context.next=8;return setSubRules(url,rules);case 8:return _context.abrupt("return",rules);case 9:case"end":return _context.stop();}},_callee);}));return function syncSubRules(_x){return _ref.apply(this,arguments);};}();/** + * 同步所有订阅规则 + * @param {*} url + * @returns + */var syncAllSubRules=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(subrulesList){var isBg,_iterator,_step,subrules,_args2=arguments;return _regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:isBg=_args2.length>1&&_args2[1]!==undefined?_args2[1]:false;_iterator=_createForOfIteratorHelper(subrulesList);_context2.prev=2;_iterator.s();case 4:if((_step=_iterator.n()).done){_context2.next=16;break;}subrules=_step.value;_context2.prev=6;_context2.next=9;return syncSubRules(subrules.url,isBg);case 9:_context2.next=14;break;case 11:_context2.prev=11;_context2.t0=_context2["catch"](6);console.log("[sync subrule error]: ".concat(subrules.url),_context2.t0);case 14:_context2.next=4;break;case 16:_context2.next=21;break;case 18:_context2.prev=18;_context2.t1=_context2["catch"](2);_iterator.e(_context2.t1);case 21:_context2.prev=21;_iterator.f();return _context2.finish(21);case 24:case"end":return _context2.stop();}},_callee2,null,[[2,18,21,24],[6,11]]);}));return function syncAllSubRules(_x2){return _ref2.apply(this,arguments);};}()));/** + * 根据时间同步所有订阅规则 + * @param {*} url + * @returns + */var trySyncAllSubRules=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref4=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref3){var subrulesList,isBg,_yield$getSyncWithDef,subRulesSyncAt,now,interval,_args3=arguments;return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:subrulesList=_ref3.subrulesList;isBg=_args3.length>1&&_args3[1]!==undefined?_args3[1]:false;_context3.prev=2;_context3.next=5;return getSyncWithDefault();case 5:_yield$getSyncWithDef=_context3.sent;subRulesSyncAt=_yield$getSyncWithDef.subRulesSyncAt;now=Date.now();interval=24*60*60*1000;// 间隔一天 +if(!(now-subRulesSyncAt>interval)){_context3.next=14;break;}_context3.next=12;return syncAllSubRules(subrulesList,isBg);case 12:_context3.next=14;return updateSync({subRulesSyncAt:now});case 14:_context3.next=19;break;case 16:_context3.prev=16;_context3.t0=_context3["catch"](2);console.log("[try sync all subrules]",_context3.t0);case 19:case"end":return _context3.stop();}},_callee3,null,[[2,16]]);}));return function trySyncAllSubRules(_x3){return _ref4.apply(this,arguments);};}()));/** + * 从缓存或远程加载订阅规则 + * @param {*} url + * @returns + */var subRules_loadOrFetchSubRules=/*#__PURE__*/function(){var _ref5=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(url){var rules;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return getSubRules(url);case 2:rules=_context4.sent;if(!(rules!==null&&rules!==void 0&&rules.length)){_context4.next=5;break;}return _context4.abrupt("return",rules);case 5:return _context4.abrupt("return",syncSubRules(url));case 6:case"end":return _context4.stop();}},_callee4);}));return function loadOrFetchSubRules(_x4){return _ref5.apply(this,arguments);};}(); +;// CONCATENATED MODULE: ./src/libs/rules.js +/** + * 根据href匹配规则 + * @param {*} rules + * @param {string} href + * @returns + */var matchRule=/*#__PURE__*/(/* unused pure expression or super */ null && (function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(rules,href,_ref){var _rule$selector,_globalRule$selector,_rule$bgColor,_globalRule$bgColor;var _ref$injectRules,injectRules,_ref$subrulesList,subrulesList,selectedSub,_rules,subRules,rule,globalRule;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_ref$injectRules=_ref.injectRules,injectRules=_ref$injectRules===void 0?true:_ref$injectRules,_ref$subrulesList=_ref.subrulesList,subrulesList=_ref$subrulesList===void 0?DEFAULT_SUBRULES_LIST:_ref$subrulesList;rules=_toConsumableArray(rules);if(!injectRules){_context.next=15;break;}_context.prev=3;selectedSub=subrulesList.find(function(item){return item.selected;});if(!(selectedSub!==null&&selectedSub!==void 0&&selectedSub.url)){_context.next=10;break;}_context.next=8;return loadOrFetchSubRules(selectedSub.url);case 8:subRules=_context.sent;(_rules=rules).splice.apply(_rules,[-1,0].concat(_toConsumableArray(subRules)));case 10:_context.next=15;break;case 12:_context.prev=12;_context.t0=_context["catch"](3);console.log("[load injectRules]",_context.t0);case 15:rule=rules.find(function(r){return r.pattern.split(",").some(function(p){return isMatch(href,p.trim());});});globalRule=rules.find(function(r){return r.pattern.split(",").some(function(p){return p.trim()==="*";});})||GLOBLA_RULE;if(rule){_context.next=19;break;}return _context.abrupt("return",globalRule);case 19:rule.selector=(rule===null||rule===void 0?void 0:(_rule$selector=rule.selector)===null||_rule$selector===void 0?void 0:_rule$selector.trim())||(globalRule===null||globalRule===void 0?void 0:(_globalRule$selector=globalRule.selector)===null||_globalRule$selector===void 0?void 0:_globalRule$selector.trim())||GLOBLA_RULE.selector;rule.bgColor=(rule===null||rule===void 0?void 0:(_rule$bgColor=rule.bgColor)===null||_rule$bgColor===void 0?void 0:_rule$bgColor.trim())||(globalRule===null||globalRule===void 0?void 0:(_globalRule$bgColor=globalRule.bgColor)===null||_globalRule$bgColor===void 0?void 0:_globalRule$bgColor.trim());["translator","fromLang","toLang","textStyle","transOpen"].forEach(function(key){if(rule[key]===GLOBAL_KEY){rule[key]=globalRule[key];}});return _context.abrupt("return",rule);case 23:case"end":return _context.stop();}},_callee,null,[[3,12]]);}));return function matchRule(_x,_x2,_x3){return _ref2.apply(this,arguments);};}()));/** + * 检查过滤rules + * @param {*} rules + * @returns + */var checkRules=function checkRules(rules){if(type(rules)==="string"){rules=JSON.parse(rules);}if(type(rules)!=="array"){throw new Error("data error");}var fromLangs=OPT_LANGS_FROM.map(function(item){return item[0];});var toLangs=OPT_LANGS_TO.map(function(item){return item[0];});var patternSet=new Set();rules=rules.filter(function(rule){return type(rule)==="object";}).filter(function(_ref3){var pattern=_ref3.pattern;if(type(pattern)!=="string"||patternSet.has(pattern.trim())){return false;}patternSet.add(pattern.trim());return true;}).map(function(_ref4){var pattern=_ref4.pattern,selector=_ref4.selector,translator=_ref4.translator,fromLang=_ref4.fromLang,toLang=_ref4.toLang,textStyle=_ref4.textStyle,transOpen=_ref4.transOpen,bgColor=_ref4.bgColor;return{pattern:pattern.trim(),selector:type(selector)==="string"?selector:"",bgColor:type(bgColor)==="string"?bgColor:"",translator:matchValue([rules_GLOBAL_KEY].concat((0,toConsumableArray/* default */.Z)(OPT_TRANS_ALL)),translator),fromLang:matchValue([rules_GLOBAL_KEY].concat((0,toConsumableArray/* default */.Z)(fromLangs)),fromLang),toLang:matchValue([rules_GLOBAL_KEY].concat((0,toConsumableArray/* default */.Z)(toLangs)),toLang),textStyle:matchValue([rules_GLOBAL_KEY].concat((0,toConsumableArray/* default */.Z)(OPT_STYLE_ALL)),textStyle),transOpen:matchValue([rules_GLOBAL_KEY,"true","false"],transOpen)};});return rules;}; ;// CONCATENATED MODULE: ./src/hooks/Rules.js /** - * 匹配规则增删改查 hook + * 规则 hook * @returns - */function useRules(){var storages=useStorages();var list=(storages===null||storages===void 0?void 0:storages[STOKEY_RULES])||[];var sync=useSync();var update=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(rules){var _sync$opt;var updateAt;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:updateAt=(_sync$opt=sync.opt)!==null&&_sync$opt!==void 0&&_sync$opt.rulesUpdateAt?Date.now():0;_context.next=3;return libs_storage.setObj(STOKEY_RULES,rules);case 3:_context.next=5;return sync.update({rulesUpdateAt:updateAt});case 5:trySyncRules();case 6:case"end":return _context.stop();}},_callee);}));return function update(_x){return _ref.apply(this,arguments);};}();var add=/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(rule){var rules;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:rules=(0,toConsumableArray/* default */.Z)(list);if(!(rule.pattern==="*")){_context2.next=3;break;}return _context2.abrupt("return");case 3:if(!rules.map(function(item){return item.pattern;}).includes(rule.pattern)){_context2.next=5;break;}return _context2.abrupt("return");case 5:rules.unshift(rule);_context2.next=8;return update(rules);case 8:case"end":return _context2.stop();}},_callee2);}));return function add(_x2){return _ref2.apply(this,arguments);};}();var del=/*#__PURE__*/function(){var _ref3=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(pattern){var rules;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:rules=(0,toConsumableArray/* default */.Z)(list);if(!(pattern==="*")){_context3.next=3;break;}return _context3.abrupt("return");case 3:rules=rules.filter(function(item){return item.pattern!==pattern;});_context3.next=6;return update(rules);case 6:case"end":return _context3.stop();}},_callee3);}));return function del(_x3){return _ref3.apply(this,arguments);};}();var put=/*#__PURE__*/function(){var _ref4=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(pattern,obj){var rules,rule;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:rules=(0,toConsumableArray/* default */.Z)(list);if(pattern==="*"){obj.pattern="*";}rule=rules.find(function(r){return r.pattern===pattern;});rule&&Object.assign(rule,obj);_context4.next=6;return update(rules);case 6:case"end":return _context4.stop();}},_callee4);}));return function put(_x4,_x5){return _ref4.apply(this,arguments);};}();var merge=/*#__PURE__*/function(){var _ref5=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee5(newRules){var rules;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:rules=(0,toConsumableArray/* default */.Z)(list);newRules=checkRules(newRules);newRules.forEach(function(newRule){var rule=rules.find(function(oldRule){return oldRule.pattern===newRule.pattern;});if(rule){Object.assign(rule,newRule);}else{rules.unshift(newRule);}});_context5.next=5;return update(rules);case 5:case"end":return _context5.stop();}},_callee5);}));return function merge(_x6){return _ref5.apply(this,arguments);};}();return{list:list,add:add,del:del,put:put,merge:merge};}/** - * 订阅规则 - * @returns - */function useSubrules(){var setting=useSetting();var updateSetting=useSettingUpdate();var list=(setting===null||setting===void 0?void 0:setting.subrulesList)||config_DEFAULT_SUBRULES_LIST;var select=/*#__PURE__*/function(){var _ref6=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee6(url){var subrulesList;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:subrulesList=(0,toConsumableArray/* default */.Z)(list);subrulesList.forEach(function(item){if(item.url===url){item.selected=true;}else{item.selected=false;}});_context6.next=4;return updateSetting({subrulesList:subrulesList});case 4:case"end":return _context6.stop();}},_callee6);}));return function select(_x7){return _ref6.apply(this,arguments);};}();var add=/*#__PURE__*/function(){var _ref7=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee7(url){var subrulesList;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:subrulesList=(0,toConsumableArray/* default */.Z)(list);subrulesList.push({url:url});_context7.next=4;return updateSetting({subrulesList:subrulesList});case 4:case"end":return _context7.stop();}},_callee7);}));return function add(_x8){return _ref7.apply(this,arguments);};}();var del=/*#__PURE__*/function(){var _ref8=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee8(url){var subrulesList;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee8$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:subrulesList=(0,toConsumableArray/* default */.Z)(list);subrulesList=subrulesList.filter(function(item){return item.url!==url;});_context8.next=4;return updateSetting({subrulesList:subrulesList});case 4:case"end":return _context8.stop();}},_callee8);}));return function del(_x9){return _ref8.apply(this,arguments);};}();return{list:list,select:select,add:add,del:del};} + */function useRules(){var _useStorage=useStorage(config_STOKEY_RULES,config_DEFAULT_RULES),list=_useStorage.data,save=_useStorage.save;var _useSync=useSync(),rulesUpdateAt=_useSync.sync.rulesUpdateAt,updateSync=_useSync.updateSync;var updateRules=(0,react.useCallback)(/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(rules){var updateAt;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:updateAt=rulesUpdateAt?Date.now():0;_context.next=3;return save(rules);case 3:_context.next=5;return updateSync({rulesUpdateAt:updateAt});case 5:trySyncRules();case 6:case"end":return _context.stop();}},_callee);}));return function(_x){return _ref.apply(this,arguments);};}(),[rulesUpdateAt,save,updateSync]);var add=(0,react.useCallback)(/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(rule){var rules;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:rules=(0,toConsumableArray/* default */.Z)(list);if(!(rule.pattern==="*")){_context2.next=3;break;}return _context2.abrupt("return");case 3:if(!rules.map(function(item){return item.pattern;}).includes(rule.pattern)){_context2.next=5;break;}return _context2.abrupt("return");case 5:rules.unshift(rule);_context2.next=8;return updateRules(rules);case 8:case"end":return _context2.stop();}},_callee2);}));return function(_x2){return _ref2.apply(this,arguments);};}(),[list,updateRules]);var del=(0,react.useCallback)(/*#__PURE__*/function(){var _ref3=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(pattern){var rules;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:rules=(0,toConsumableArray/* default */.Z)(list);if(!(pattern==="*")){_context3.next=3;break;}return _context3.abrupt("return");case 3:rules=rules.filter(function(item){return item.pattern!==pattern;});_context3.next=6;return updateRules(rules);case 6:case"end":return _context3.stop();}},_callee3);}));return function(_x3){return _ref3.apply(this,arguments);};}(),[list,updateRules]);var put=(0,react.useCallback)(/*#__PURE__*/function(){var _ref4=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(pattern,obj){var rules,rule;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:rules=(0,toConsumableArray/* default */.Z)(list);if(pattern==="*"){obj.pattern="*";}rule=rules.find(function(r){return r.pattern===pattern;});rule&&Object.assign(rule,obj);_context4.next=6;return updateRules(rules);case 6:case"end":return _context4.stop();}},_callee4);}));return function(_x4,_x5){return _ref4.apply(this,arguments);};}(),[list,updateRules]);var merge=(0,react.useCallback)(/*#__PURE__*/function(){var _ref5=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee5(newRules){var rules;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:rules=(0,toConsumableArray/* default */.Z)(list);newRules=checkRules(newRules);newRules.forEach(function(newRule){var rule=rules.find(function(oldRule){return oldRule.pattern===newRule.pattern;});if(rule){Object.assign(rule,newRule);}else{rules.unshift(newRule);}});_context5.next=5;return updateRules(rules);case 5:case"end":return _context5.stop();}},_callee5);}));return function(_x6){return _ref5.apply(this,arguments);};}(),[list,updateRules]);return{list:list,add:add,del:del,put:put,merge:merge};} ;// CONCATENATED MODULE: ./node_modules/@mui/material/Divider/dividerClasses.js @@ -55858,6 +55868,11 @@ var Delete = __webpack_require__(1997); var Share = __webpack_require__(6845); // EXTERNAL MODULE: ./node_modules/@mui/icons-material/Sync.js var Sync = __webpack_require__(2453); +;// CONCATENATED MODULE: ./src/hooks/SubRules.js +/** + * 订阅规则 + * @returns + */function useSubRules(){var _useState=(0,react.useState)(false),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),loading=_useState2[0],setLoading=_useState2[1];var _useState3=(0,react.useState)([]),_useState4=(0,slicedToArray/* default */.Z)(_useState3,2),selectedRules=_useState4[0],setSelectedRules=_useState4[1];var _useSetting=useSetting(),setting=_useSetting.setting,updateSetting=_useSetting.updateSetting;var list=(setting===null||setting===void 0?void 0:setting.subrulesList)||config_DEFAULT_SUBRULES_LIST;var selectedSub=(0,react.useMemo)(function(){return list.find(function(item){return item.selected;});},[list]);var selectedUrl=selectedSub.url;var selectSub=(0,react.useCallback)(/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(url){var subrulesList;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:subrulesList=(0,toConsumableArray/* default */.Z)(list);subrulesList.forEach(function(item){if(item.url===url){item.selected=true;}else{item.selected=false;}});_context.next=4;return updateSetting({subrulesList:subrulesList});case 4:case"end":return _context.stop();}},_callee);}));return function(_x){return _ref.apply(this,arguments);};}(),[list,updateSetting]);var addSub=(0,react.useCallback)(/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(url){var subrulesList;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:subrulesList=(0,toConsumableArray/* default */.Z)(list);subrulesList.push({url:url,selected:false});_context2.next=4;return updateSetting({subrulesList:subrulesList});case 4:case"end":return _context2.stop();}},_callee2);}));return function(_x2){return _ref2.apply(this,arguments);};}(),[list,updateSetting]);var delSub=(0,react.useCallback)(/*#__PURE__*/function(){var _ref3=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(url){var subrulesList;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:subrulesList=(0,toConsumableArray/* default */.Z)(list);subrulesList=subrulesList.filter(function(item){return item.url!==url;});_context3.next=4;return updateSetting({subrulesList:subrulesList});case 4:_context3.next=6;return delSubRules(url);case 6:case"end":return _context3.stop();}},_callee3);}));return function(_x3){return _ref3.apply(this,arguments);};}(),[list,updateSetting]);(0,react.useEffect)(function(){asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(){var rules;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:if(!selectedUrl){_context4.next=15;break;}_context4.prev=1;setLoading(true);_context4.next=5;return subRules_loadOrFetchSubRules(selectedUrl);case 5:rules=_context4.sent;setSelectedRules(rules);_context4.next=12;break;case 9:_context4.prev=9;_context4.t0=_context4["catch"](1);console.log("[loadOrFetchSubRules]",_context4.t0);case 12:_context4.prev=12;setLoading(false);return _context4.finish(12);case 15:case"end":return _context4.stop();}},_callee4,null,[[1,9,12,15]]);}))();},[selectedUrl]);return{subList:list,selectSub:selectSub,addSub:addSub,delSub:delSub,selectedSub:selectedSub,selectedUrl:selectedUrl,selectedRules:selectedRules,setSelectedRules:setSelectedRules,loading:loading};} ;// CONCATENATED MODULE: ./node_modules/@mui/base/ClickAwayListener/ClickAwayListener.js 'use client'; @@ -56460,15 +56475,15 @@ var hooks_Alert_Alert=/*#__PURE__*/(0,react.forwardRef)(function Alert(props,ref * 左下角提示,注入context后,方便全局调用 * @param {*} param0 * @returns - */function AlertProvider(_ref){var children=_ref.children;var vertical="top";var horizontal="center";var _useState=(0,react.useState)(false),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),open=_useState2[0],setOpen=_useState2[1];var _useState3=(0,react.useState)("info"),_useState4=(0,slicedToArray/* default */.Z)(_useState3,2),severity=_useState4[0],setSeverity=_useState4[1];var _useState5=(0,react.useState)(""),_useState6=(0,slicedToArray/* default */.Z)(_useState5,2),message=_useState6[0],setMessage=_useState6[1];var error=function error(msg){return showAlert(msg,"error");};var warning=function warning(msg){return showAlert(msg,"warning");};var info=function info(msg){return showAlert(msg,"info");};var success=function success(msg){return showAlert(msg,"success");};var showAlert=function showAlert(msg,type){setOpen(true);setMessage(msg);setSeverity(type);};var handleClose=function handleClose(_,reason){if(reason==="clickaway"){return;}setOpen(false);};return/*#__PURE__*/(0,jsx_runtime.jsxs)(AlertContext.Provider,{value:{error:error,warning:warning,info:info,success:success},children:[children,/*#__PURE__*/(0,jsx_runtime.jsx)(Snackbar_Snackbar,{open:open,autoHideDuration:3000,onClose:handleClose,anchorOrigin:{vertical:vertical,horizontal:horizontal},children:/*#__PURE__*/(0,jsx_runtime.jsx)(hooks_Alert_Alert,{onClose:handleClose,severity:severity,sx:{width:"100%"},children:message})})]});}function useAlert(){return (0,react.useContext)(AlertContext);} + */function AlertProvider(_ref){var children=_ref.children;var vertical="top";var horizontal="center";var _useState=(0,react.useState)(false),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),open=_useState2[0],setOpen=_useState2[1];var _useState3=(0,react.useState)("info"),_useState4=(0,slicedToArray/* default */.Z)(_useState3,2),severity=_useState4[0],setSeverity=_useState4[1];var _useState5=(0,react.useState)(""),_useState6=(0,slicedToArray/* default */.Z)(_useState5,2),message=_useState6[0],setMessage=_useState6[1];var showAlert=function showAlert(msg,type){setOpen(true);setMessage(msg);setSeverity(type);};var handleClose=function handleClose(_,reason){if(reason==="clickaway"){return;}setOpen(false);};var error=function error(msg){return showAlert(msg,"error");};var warning=function warning(msg){return showAlert(msg,"warning");};var info=function info(msg){return showAlert(msg,"info");};var success=function success(msg){return showAlert(msg,"success");};return/*#__PURE__*/(0,jsx_runtime.jsxs)(AlertContext.Provider,{value:{error:error,warning:warning,info:info,success:success},children:[children,/*#__PURE__*/(0,jsx_runtime.jsx)(Snackbar_Snackbar,{open:open,autoHideDuration:3000,onClose:handleClose,anchorOrigin:{vertical:vertical,horizontal:horizontal},children:/*#__PURE__*/(0,jsx_runtime.jsx)(hooks_Alert_Alert,{onClose:handleClose,severity:severity,sx:{width:"100%"},children:message})})]});}function useAlert(){return (0,react.useContext)(AlertContext);} ;// CONCATENATED MODULE: ./src/views/Options/Rules.js function RuleFields(_ref){var rule=_ref.rule,rules=_ref.rules,setShow=_ref.setShow,setKeyword=_ref.setKeyword;var initFormValues=rule||_objectSpread2(_objectSpread2({},DEFAULT_RULE),{},{transOpen:"true"});var editMode=!!rule;var i18n=useI18n();var _useState=(0,react.useState)(editMode),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),disabled=_useState2[0],setDisabled=_useState2[1];var _useState3=(0,react.useState)({}),_useState4=(0,slicedToArray/* default */.Z)(_useState3,2),errors=_useState4[0],setErrors=_useState4[1];var _useState5=(0,react.useState)(initFormValues),_useState6=(0,slicedToArray/* default */.Z)(_useState5,2),formValues=_useState6[0],setFormValues=_useState6[1];var pattern=formValues.pattern,selector=formValues.selector,translator=formValues.translator,fromLang=formValues.fromLang,toLang=formValues.toLang,textStyle=formValues.textStyle,transOpen=formValues.transOpen,bgColor=formValues.bgColor;var hasSamePattern=function hasSamePattern(str){var _iterator=createForOfIteratorHelper_createForOfIteratorHelper(rules.list),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var item=_step.value;if(item.pattern===str&&(rule===null||rule===void 0?void 0:rule.pattern)!==str){return true;}}}catch(err){_iterator.e(err);}finally{_iterator.f();}return false;};var handleFocus=function handleFocus(e){e.preventDefault();var name=e.target.name;setErrors(function(pre){return _objectSpread2(_objectSpread2({},pre),{},(0,defineProperty/* default */.Z)({},name,""));});};var handlePatternChange=(0,react.useMemo)(function(){return debounce(/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(patterns){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:setKeyword(patterns.trim());case 1:case"end":return _context.stop();}},_callee);}));return function(_x){return _ref2.apply(this,arguments);};}(),500);},[setKeyword]);var handleChange=function handleChange(e){e.preventDefault();var _e$target=e.target,name=_e$target.name,value=_e$target.value;setFormValues(function(pre){return _objectSpread2(_objectSpread2({},pre),{},(0,defineProperty/* default */.Z)({},name,value));});if(name==="pattern"&&!editMode){handlePatternChange(value);}};var handleCancel=function handleCancel(e){e.preventDefault();if(editMode){setDisabled(true);}else{setShow(false);}setErrors({});setFormValues(initFormValues);};var handleSubmit=function handleSubmit(e){e.preventDefault();var errors={};if(!pattern.trim()){errors.pattern=i18n("error_cant_be_blank");}if(hasSamePattern(pattern)){errors.pattern=i18n("error_duplicate_values");}if(pattern==="*"&&!errors.pattern&&!selector.trim()){errors.selector=i18n("error_cant_be_blank");}if(Object.keys(errors).length>0){setErrors(errors);return;}if(editMode){// 编辑 setDisabled(true);rules.put(rule.pattern,formValues);}else{// 添加 rules.add(formValues);setShow(false);setFormValues(initFormValues);}};var globalItem=(rule===null||rule===void 0?void 0:rule.pattern)!=="*"&&/*#__PURE__*/(0,jsx_runtime.jsx)(MenuItem_MenuItem,{value:rules_GLOBAL_KEY,children:rules_GLOBAL_KEY},rules_GLOBAL_KEY);return/*#__PURE__*/(0,jsx_runtime.jsx)("form",{onSubmit:handleSubmit,children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{spacing:2,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("pattern"),error:!!errors.pattern,helperText:errors.pattern||i18n("pattern_helper"),name:"pattern",value:pattern,disabled:(rule===null||rule===void 0?void 0:rule.pattern)==="*"||disabled,onChange:handleChange,onFocus:handleFocus,multiline:true}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("selector"),error:!!errors.selector,helperText:errors.selector||i18n("selector_helper"),name:"selector",value:selector,disabled:disabled,onChange:handleChange,onFocus:handleFocus,multiline:true}),/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Grid_Grid,{container:true,spacing:2,columns:12,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Grid_Grid,{item:true,xs:12,sm:6,md:3,lg:2,children:/*#__PURE__*/(0,jsx_runtime.jsxs)(TextField_TextField,{select:true,size:"small",fullWidth:true,name:"transOpen",value:transOpen,label:i18n("translate_switch"),disabled:disabled,onChange:handleChange,children:[globalItem,/*#__PURE__*/(0,jsx_runtime.jsx)(MenuItem_MenuItem,{value:"true",children:i18n("default_enabled")}),/*#__PURE__*/(0,jsx_runtime.jsx)(MenuItem_MenuItem,{value:"false",children:i18n("default_disabled")})]})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Grid_Grid,{item:true,xs:12,sm:6,md:3,lg:2,children:/*#__PURE__*/(0,jsx_runtime.jsxs)(TextField_TextField,{select:true,size:"small",fullWidth:true,name:"translator",value:translator,label:i18n("translate_service"),disabled:disabled,onChange:handleChange,children:[globalItem,OPT_TRANS_ALL.map(function(item){return/*#__PURE__*/(0,jsx_runtime.jsx)(MenuItem_MenuItem,{value:item,children:item},item);})]})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Grid_Grid,{item:true,xs:12,sm:6,md:3,lg:2,children:/*#__PURE__*/(0,jsx_runtime.jsxs)(TextField_TextField,{select:true,size:"small",fullWidth:true,name:"fromLang",value:fromLang,label:i18n("from_lang"),disabled:disabled,onChange:handleChange,children:[globalItem,OPT_LANGS_FROM.map(function(_ref3){var _ref4=(0,slicedToArray/* default */.Z)(_ref3,2),lang=_ref4[0],name=_ref4[1];return/*#__PURE__*/(0,jsx_runtime.jsx)(MenuItem_MenuItem,{value:lang,children:name},lang);})]})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Grid_Grid,{item:true,xs:12,sm:6,md:3,lg:2,children:/*#__PURE__*/(0,jsx_runtime.jsxs)(TextField_TextField,{select:true,size:"small",fullWidth:true,name:"toLang",value:toLang,label:i18n("to_lang"),disabled:disabled,onChange:handleChange,children:[globalItem,OPT_LANGS_TO.map(function(_ref5){var _ref6=(0,slicedToArray/* default */.Z)(_ref5,2),lang=_ref6[0],name=_ref6[1];return/*#__PURE__*/(0,jsx_runtime.jsx)(MenuItem_MenuItem,{value:lang,children:name},lang);})]})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Grid_Grid,{item:true,xs:12,sm:6,md:3,lg:2,children:/*#__PURE__*/(0,jsx_runtime.jsxs)(TextField_TextField,{select:true,size:"small",fullWidth:true,name:"textStyle",value:textStyle,label:i18n("text_style"),disabled:disabled,onChange:handleChange,children:[globalItem,OPT_STYLE_ALL.map(function(item){return/*#__PURE__*/(0,jsx_runtime.jsx)(MenuItem_MenuItem,{value:item,children:i18n(item)},item);})]})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Grid_Grid,{item:true,xs:12,sm:6,md:3,lg:2,children:/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",fullWidth:true,name:"bgColor",value:bgColor,label:i18n("bg_color"),disabled:disabled,onChange:handleChange})})]})}),rules&&(editMode?/*#__PURE__*/ // 编辑 (0,jsx_runtime.jsx)(Stack_Stack,{direction:"row",spacing:2,children:disabled?/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"contained",onClick:function onClick(e){e.preventDefault();setDisabled(false);},children:i18n("edit")}),(rule===null||rule===void 0?void 0:rule.pattern)!=="*"&&/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"outlined",onClick:function onClick(e){e.preventDefault();rules.del(rule.pattern);},children:i18n("delete")})]}):/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"contained",type:"submit",children:i18n("save")}),/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"outlined",onClick:handleCancel,children:i18n("cancel")})]})}):/*#__PURE__*/ // 添加 -(0,jsx_runtime.jsxs)(Stack_Stack,{direction:"row",spacing:2,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"contained",type:"submit",children:i18n("save")}),/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"outlined",onClick:handleCancel,children:i18n("cancel")})]}))]})});}function RuleAccordion(_ref7){var rule=_ref7.rule,rules=_ref7.rules;var _useState7=(0,react.useState)(false),_useState8=(0,slicedToArray/* default */.Z)(_useState7,2),expanded=_useState8[0],setExpanded=_useState8[1];var handleChange=function handleChange(e){setExpanded(function(pre){return!pre;});};return/*#__PURE__*/(0,jsx_runtime.jsxs)(Accordion_Accordion,{expanded:expanded,onChange:handleChange,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(AccordionSummary_AccordionSummary,{expandIcon:/*#__PURE__*/(0,jsx_runtime.jsx)(ExpandMore/* default */.Z,{}),children:/*#__PURE__*/(0,jsx_runtime.jsx)(Typography_Typography,{style:{opacity:rules?1:0.5},children:rule.pattern})}),/*#__PURE__*/(0,jsx_runtime.jsx)(AccordionDetails_AccordionDetails,{children:expanded&&/*#__PURE__*/(0,jsx_runtime.jsx)(RuleFields,{rule:rule,rules:rules})})]});}function DownloadButton(_ref8){var data=_ref8.data,text=_ref8.text,fileName=_ref8.fileName;var handleClick=function handleClick(e){e.preventDefault();if(data){var url=window.URL.createObjectURL(new Blob([data]));var link=document.createElement("a");link.href=url;link.setAttribute("download",fileName||"".concat(Date.now(),".json"));document.body.appendChild(link);link.click();link.remove();}};return/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"outlined",onClick:handleClick,startIcon:/*#__PURE__*/(0,jsx_runtime.jsx)(FileDownload/* default */.Z,{}),children:text});}function UploadButton(_ref9){var onChange=_ref9.onChange,text=_ref9.text;var inputRef=(0,react.useRef)(null);var handleClick=function handleClick(){inputRef.current&&inputRef.current.click();};return/*#__PURE__*/(0,jsx_runtime.jsxs)(Button_Button,{size:"small",variant:"outlined",onClick:handleClick,startIcon:/*#__PURE__*/(0,jsx_runtime.jsx)(FileUpload/* default */.Z,{}),children:[text,/*#__PURE__*/(0,jsx_runtime.jsx)("input",{type:"file",accept:".json",ref:inputRef,onChange:onChange,hidden:true})]});}function ShareButton(_ref10){var rules=_ref10.rules,injectRules=_ref10.injectRules,selectedSub=_ref10.selectedSub;var alert=useAlert();var i18n=useI18n();var handleClick=/*#__PURE__*/function(){var _ref11=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(){var _yield$syncOpt$load,syncUrl,syncKey,shareRules,subRules,url;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.prev=0;_context2.next=3;return sync_syncOpt.load();case 3:_yield$syncOpt$load=_context2.sent;syncUrl=_yield$syncOpt$load.syncUrl;syncKey=_yield$syncOpt$load.syncKey;if(!(!syncUrl||!syncKey)){_context2.next=9;break;}alert.warning(i18n("error_sync_setting"));return _context2.abrupt("return");case 9:shareRules=(0,toConsumableArray/* default */.Z)(rules.list);if(!injectRules){_context2.next=15;break;}_context2.next=13;return rules_loadSubRules(selectedSub===null||selectedSub===void 0?void 0:selectedSub.url);case 13:subRules=_context2.sent;shareRules.splice.apply(shareRules,[-1,0].concat((0,toConsumableArray/* default */.Z)(subRules)));case 15:_context2.next=17;return syncShareRules({rules:shareRules,syncUrl:syncUrl,syncKey:syncKey});case 17:url=_context2.sent;window.open(url,"_blank");_context2.next=25;break;case 21:_context2.prev=21;_context2.t0=_context2["catch"](0);alert.warning(i18n("error_got_some_wrong"));console.log("[share rules]",_context2.t0);case 25:case"end":return _context2.stop();}},_callee2,null,[[0,21]]);}));return function handleClick(){return _ref11.apply(this,arguments);};}();return/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"outlined",onClick:handleClick,startIcon:/*#__PURE__*/(0,jsx_runtime.jsx)(Share/* default */.Z,{}),children:"分享"});}function UserRules(){var i18n=useI18n();var rules=useRules();var _useState9=(0,react.useState)(false),_useState10=(0,slicedToArray/* default */.Z)(_useState9,2),showAdd=_useState10[0],setShowAdd=_useState10[1];var setting=useSetting();var updateSetting=useSettingUpdate();var subrules=useSubrules();var _useState11=(0,react.useState)([]),_useState12=(0,slicedToArray/* default */.Z)(_useState11,2),subRules=_useState12[0],setSubRules=_useState12[1];var _useState13=(0,react.useState)(""),_useState14=(0,slicedToArray/* default */.Z)(_useState13,2),keyword=_useState14[0],setKeyword=_useState14[1];var selectedSub=subrules.list.find(function(item){return item.selected;});var injectRules=!!(setting!==null&&setting!==void 0&&setting.injectRules);var handleImport=function handleImport(e){var file=e.target.files[0];if(!file){return;}if(!file.type.includes("json")){alert(i18n("error_wrong_file_type"));return;}var reader=new FileReader();reader.onload=/*#__PURE__*/function(){var _ref12=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(e){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.prev=0;_context3.next=3;return rules.merge(JSON.parse(e.target.result));case 3:_context3.next=8;break;case 5:_context3.prev=5;_context3.t0=_context3["catch"](0);console.log("[import rules]",_context3.t0);case 8:case"end":return _context3.stop();}},_callee3,null,[[0,5]]);}));return function(_x2){return _ref12.apply(this,arguments);};}();reader.readAsText(file);};var handleInject=function handleInject(){updateSetting({injectRules:!injectRules});};(0,react.useEffect)(function(){asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(){var _rules;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:if(!(selectedSub!==null&&selectedSub!==void 0&&selectedSub.url)){_context4.next=11;break;}_context4.prev=1;_context4.next=4;return rules_loadSubRules(selectedSub===null||selectedSub===void 0?void 0:selectedSub.url);case 4:_rules=_context4.sent;setSubRules(_rules);_context4.next=11;break;case 8:_context4.prev=8;_context4.t0=_context4["catch"](1);console.log("[load rules]",_context4.t0);case 11:case"end":return _context4.stop();}},_callee4,null,[[1,8]]);}))();},[selectedSub===null||selectedSub===void 0?void 0:selectedSub.url]);(0,react.useEffect)(function(){if(!showAdd){setKeyword("");}},[showAdd]);return/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{spacing:3,children:[/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{direction:"row",alignItems:"center",spacing:2,useFlexGap:true,flexWrap:"wrap",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"contained",disabled:showAdd,onClick:function onClick(e){e.preventDefault();setShowAdd(true);},children:i18n("add")}),/*#__PURE__*/(0,jsx_runtime.jsx)(UploadButton,{text:i18n("import"),onChange:handleImport}),/*#__PURE__*/(0,jsx_runtime.jsx)(DownloadButton,{data:JSON.stringify((0,toConsumableArray/* default */.Z)(rules.list).reverse(),null,"\t"),text:i18n("export")}),/*#__PURE__*/(0,jsx_runtime.jsx)(ShareButton,{rules:rules,injectRules:injectRules,selectedSub:selectedSub}),/*#__PURE__*/(0,jsx_runtime.jsx)(FormControlLabel_FormControlLabel,{control:/*#__PURE__*/(0,jsx_runtime.jsx)(Switch_Switch,{size:"small",checked:injectRules,onChange:handleInject}),label:i18n("inject_rules")})]}),showAdd&&/*#__PURE__*/(0,jsx_runtime.jsx)(RuleFields,{rules:rules,setShow:setShowAdd,setKeyword:setKeyword}),/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{children:rules.list.filter(function(rule){return rule.pattern.includes(keyword)||keyword.includes(rule.pattern);}).map(function(rule){return/*#__PURE__*/(0,jsx_runtime.jsx)(RuleAccordion,{rule:rule,rules:rules},rule.pattern);})}),injectRules&&/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{children:subRules.filter(function(rule){return rule.pattern.includes(keyword)||keyword.includes(rule.pattern);}).map(function(rule){return/*#__PURE__*/(0,jsx_runtime.jsx)(RuleAccordion,{rule:rule},rule.pattern);})})]});}function SubRulesItem(_ref14){var index=_ref14.index,url=_ref14.url,selectedUrl=_ref14.selectedUrl,subrules=_ref14.subrules,setRules=_ref14.setRules;var _useState15=(0,react.useState)(false),_useState16=(0,slicedToArray/* default */.Z)(_useState15,2),loading=_useState16[0],setLoading=_useState16[1];var handleDel=/*#__PURE__*/function(){var _ref15=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee5(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_context5.prev=0;_context5.next=3;return subrules.del(url);case 3:_context5.next=5;return rulesCache.del(url);case 5:_context5.next=10;break;case 7:_context5.prev=7;_context5.t0=_context5["catch"](0);console.log("[del subrules]",_context5.t0);case 10:case"end":return _context5.stop();}},_callee5,null,[[0,7]]);}));return function handleDel(){return _ref15.apply(this,arguments);};}();var handleSync=/*#__PURE__*/function(){var _ref16=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee6(){var rules;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:_context6.prev=0;setLoading(true);_context6.next=4;return syncSubRules(url);case 4:rules=_context6.sent;if(rules.length>0&&url===selectedUrl){setRules(rules);}_context6.next=11;break;case 8:_context6.prev=8;_context6.t0=_context6["catch"](0);console.log("[sync sub rules]",_context6.t0);case 11:_context6.prev=11;setLoading(false);return _context6.finish(11);case 14:case"end":return _context6.stop();}},_callee6,null,[[0,8,11,14]]);}));return function handleSync(){return _ref16.apply(this,arguments);};}();return/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{direction:"row",alignItems:"center",spacing:2,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(FormControlLabel_FormControlLabel,{value:url,control:/*#__PURE__*/(0,jsx_runtime.jsx)(Radio_Radio,{}),label:url}),loading?/*#__PURE__*/(0,jsx_runtime.jsx)(CircularProgress_CircularProgress,{size:16}):/*#__PURE__*/(0,jsx_runtime.jsx)(IconButton_IconButton,{size:"small",onClick:handleSync,children:/*#__PURE__*/(0,jsx_runtime.jsx)(Sync/* default */.Z,{fontSize:"small"})}),index!==0&&selectedUrl!==url&&/*#__PURE__*/(0,jsx_runtime.jsx)(IconButton_IconButton,{size:"small",onClick:handleDel,children:/*#__PURE__*/(0,jsx_runtime.jsx)(Delete/* default */.Z,{fontSize:"small"})})]});}function SubRulesEdit(_ref17){var subrules=_ref17.subrules;var i18n=useI18n();var _useState17=(0,react.useState)(""),_useState18=(0,slicedToArray/* default */.Z)(_useState17,2),inputText=_useState18[0],setInputText=_useState18[1];var _useState19=(0,react.useState)(""),_useState20=(0,slicedToArray/* default */.Z)(_useState19,2),inputError=_useState20[0],setInputError=_useState20[1];var _useState21=(0,react.useState)(false),_useState22=(0,slicedToArray/* default */.Z)(_useState21,2),showInput=_useState22[0],setShowInput=_useState22[1];var _useState23=(0,react.useState)(false),_useState24=(0,slicedToArray/* default */.Z)(_useState23,2),loading=_useState24[0],setLoading=_useState24[1];var handleCancel=function handleCancel(e){e.preventDefault();setShowInput(false);setInputText("");setInputError("");};var handleSave=/*#__PURE__*/function(){var _ref18=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee7(e){var url,rules;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee7$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:e.preventDefault();url=inputText.trim();if(url){_context7.next=5;break;}setInputError(i18n("error_cant_be_blank"));return _context7.abrupt("return");case 5:if(!subrules.list.find(function(item){return item.url===url;})){_context7.next=8;break;}setInputError(i18n("error_duplicate_values"));return _context7.abrupt("return");case 8:_context7.prev=8;setLoading(true);_context7.next=12;return syncSubRules(url);case 12:rules=_context7.sent;if(!(rules.length===0)){_context7.next=15;break;}throw new Error("empty rules");case 15:_context7.next=17;return subrules.add(url);case 17:setShowInput(false);setInputText("");_context7.next=25;break;case 21:_context7.prev=21;_context7.t0=_context7["catch"](8);console.log("[fetch rules]",_context7.t0);setInputError(i18n("error_fetch_url"));case 25:_context7.prev=25;setLoading(false);return _context7.finish(25);case 28:case"end":return _context7.stop();}},_callee7,null,[[8,21,25,28]]);}));return function handleSave(_x3){return _ref18.apply(this,arguments);};}();var handleInput=function handleInput(e){e.preventDefault();setInputText(e.target.value);};var handleFocus=function handleFocus(e){e.preventDefault();setInputError("");};return/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Stack_Stack,{direction:"row",alignItems:"center",spacing:2,children:/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"contained",disabled:showInput,onClick:function onClick(e){e.preventDefault();setShowInput(true);},children:i18n("add")})}),showInput&&/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",value:inputText,error:!!inputError,helperText:inputError,onChange:handleInput,onFocus:handleFocus,label:i18n("subscribe_url")}),/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{direction:"row",alignItems:"center",spacing:2,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"contained",onClick:handleSave,disabled:loading,children:i18n("save")}),/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"outlined",onClick:handleCancel,children:i18n("cancel")})]})]})]});}function SubRules(){var _useState25=(0,react.useState)(false),_useState26=(0,slicedToArray/* default */.Z)(_useState25,2),loading=_useState26[0],setLoading=_useState26[1];var _useState27=(0,react.useState)([]),_useState28=(0,slicedToArray/* default */.Z)(_useState27,2),rules=_useState28[0],setRules=_useState28[1];var subrules=useSubrules();var selectedSub=subrules.list.find(function(item){return item.selected;});var handleSelect=function handleSelect(e){var url=e.target.value;subrules.select(url);};(0,react.useEffect)(function(){asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee8(){var _rules2;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee8$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:if(!(selectedSub!==null&&selectedSub!==void 0&&selectedSub.url)){_context8.next=15;break;}_context8.prev=1;setLoading(true);_context8.next=5;return rules_loadSubRules(selectedSub===null||selectedSub===void 0?void 0:selectedSub.url);case 5:_rules2=_context8.sent;setRules(_rules2);_context8.next=12;break;case 9:_context8.prev=9;_context8.t0=_context8["catch"](1);console.log("[load rules]",_context8.t0);case 12:_context8.prev=12;setLoading(false);return _context8.finish(12);case 15:case"end":return _context8.stop();}},_callee8,null,[[1,9,12,15]]);}))();},[selectedSub===null||selectedSub===void 0?void 0:selectedSub.url]);return/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{spacing:3,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(SubRulesEdit,{subrules:subrules}),/*#__PURE__*/(0,jsx_runtime.jsx)(RadioGroup_RadioGroup,{value:selectedSub===null||selectedSub===void 0?void 0:selectedSub.url,onChange:handleSelect,children:subrules.list.map(function(item,index){return/*#__PURE__*/(0,jsx_runtime.jsx)(SubRulesItem,{url:item.url,index:index,selectedUrl:selectedSub===null||selectedSub===void 0?void 0:selectedSub.url,subrules:subrules,setRules:setRules},item.url);})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{children:loading?/*#__PURE__*/(0,jsx_runtime.jsx)("center",{children:/*#__PURE__*/(0,jsx_runtime.jsx)(CircularProgress_CircularProgress,{})}):rules.map(function(rule){return/*#__PURE__*/(0,jsx_runtime.jsx)(RuleAccordion,{rule:rule},rule.pattern);})})]});}function Rules(){var i18n=useI18n();var _useState29=(0,react.useState)(0),_useState30=(0,slicedToArray/* default */.Z)(_useState29,2),activeTab=_useState30[0],setActiveTab=_useState30[1];var handleTabChange=function handleTabChange(e,newValue){setActiveTab(newValue);};return/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{spacing:3,children:[/*#__PURE__*/(0,jsx_runtime.jsxs)(Alert_Alert,{severity:"info",children:[i18n("rules_warn_1"),/*#__PURE__*/(0,jsx_runtime.jsx)("br",{}),i18n("rules_warn_2")]}),/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{sx:{borderBottom:1,borderColor:"divider"},children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Tabs_Tabs,{value:activeTab,onChange:handleTabChange,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Tab_Tab,{label:i18n("personal_rules")}),/*#__PURE__*/(0,jsx_runtime.jsx)(Tab_Tab,{label:i18n("subscribe_rules")})]})}),/*#__PURE__*/(0,jsx_runtime.jsx)("div",{hidden:activeTab!==0,children:activeTab===0&&/*#__PURE__*/(0,jsx_runtime.jsx)(UserRules,{})}),/*#__PURE__*/(0,jsx_runtime.jsx)("div",{hidden:activeTab!==1,children:activeTab===1&&/*#__PURE__*/(0,jsx_runtime.jsx)(SubRules,{})})]})});} +(0,jsx_runtime.jsxs)(Stack_Stack,{direction:"row",spacing:2,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"contained",type:"submit",children:i18n("save")}),/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"outlined",onClick:handleCancel,children:i18n("cancel")})]}))]})});}function RuleAccordion(_ref7){var rule=_ref7.rule,rules=_ref7.rules;var _useState7=(0,react.useState)(false),_useState8=(0,slicedToArray/* default */.Z)(_useState7,2),expanded=_useState8[0],setExpanded=_useState8[1];var handleChange=function handleChange(e){setExpanded(function(pre){return!pre;});};return/*#__PURE__*/(0,jsx_runtime.jsxs)(Accordion_Accordion,{expanded:expanded,onChange:handleChange,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(AccordionSummary_AccordionSummary,{expandIcon:/*#__PURE__*/(0,jsx_runtime.jsx)(ExpandMore/* default */.Z,{}),children:/*#__PURE__*/(0,jsx_runtime.jsx)(Typography_Typography,{style:{opacity:rules?1:0.5},children:rule.pattern})}),/*#__PURE__*/(0,jsx_runtime.jsx)(AccordionDetails_AccordionDetails,{children:expanded&&/*#__PURE__*/(0,jsx_runtime.jsx)(RuleFields,{rule:rule,rules:rules})})]});}function DownloadButton(_ref8){var data=_ref8.data,text=_ref8.text,fileName=_ref8.fileName;var handleClick=function handleClick(e){e.preventDefault();if(data){var url=window.URL.createObjectURL(new Blob([data]));var link=document.createElement("a");link.href=url;link.setAttribute("download",fileName||"".concat(Date.now(),".json"));document.body.appendChild(link);link.click();link.remove();}};return/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"outlined",onClick:handleClick,startIcon:/*#__PURE__*/(0,jsx_runtime.jsx)(FileDownload/* default */.Z,{}),children:text});}function UploadButton(_ref9){var onChange=_ref9.onChange,text=_ref9.text;var inputRef=(0,react.useRef)(null);var handleClick=function handleClick(){inputRef.current&&inputRef.current.click();};return/*#__PURE__*/(0,jsx_runtime.jsxs)(Button_Button,{size:"small",variant:"outlined",onClick:handleClick,startIcon:/*#__PURE__*/(0,jsx_runtime.jsx)(FileUpload/* default */.Z,{}),children:[text,/*#__PURE__*/(0,jsx_runtime.jsx)("input",{type:"file",accept:".json",ref:inputRef,onChange:onChange,hidden:true})]});}function ShareButton(_ref10){var rules=_ref10.rules,injectRules=_ref10.injectRules,selectedUrl=_ref10.selectedUrl;var alert=useAlert();var i18n=useI18n();var handleClick=/*#__PURE__*/function(){var _ref11=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(){var _yield$getSyncWithDef,syncUrl,syncKey,shareRules,subRules,url;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.prev=0;_context2.next=3;return storage_getSyncWithDefault();case 3:_yield$getSyncWithDef=_context2.sent;syncUrl=_yield$getSyncWithDef.syncUrl;syncKey=_yield$getSyncWithDef.syncKey;if(!(!syncUrl||!syncKey)){_context2.next=9;break;}alert.warning(i18n("error_sync_setting"));return _context2.abrupt("return");case 9:shareRules=(0,toConsumableArray/* default */.Z)(rules.list);if(!injectRules){_context2.next=15;break;}_context2.next=13;return subRules_loadOrFetchSubRules(selectedUrl);case 13:subRules=_context2.sent;shareRules.splice.apply(shareRules,[-1,0].concat((0,toConsumableArray/* default */.Z)(subRules)));case 15:_context2.next=17;return syncShareRules({rules:shareRules,syncUrl:syncUrl,syncKey:syncKey});case 17:url=_context2.sent;window.open(url,"_blank");_context2.next=25;break;case 21:_context2.prev=21;_context2.t0=_context2["catch"](0);alert.warning(i18n("error_got_some_wrong"));console.log("[share rules]",_context2.t0);case 25:case"end":return _context2.stop();}},_callee2,null,[[0,21]]);}));return function handleClick(){return _ref11.apply(this,arguments);};}();return/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"outlined",onClick:handleClick,startIcon:/*#__PURE__*/(0,jsx_runtime.jsx)(Share/* default */.Z,{}),children:"分享"});}function UserRules(_ref12){var subRules=_ref12.subRules;var i18n=useI18n();var rules=useRules();var _useState9=(0,react.useState)(false),_useState10=(0,slicedToArray/* default */.Z)(_useState9,2),showAdd=_useState10[0],setShowAdd=_useState10[1];var _useSetting=useSetting(),setting=_useSetting.setting,updateSetting=_useSetting.updateSetting;var _useState11=(0,react.useState)(""),_useState12=(0,slicedToArray/* default */.Z)(_useState11,2),keyword=_useState12[0],setKeyword=_useState12[1];var injectRules=!!(setting!==null&&setting!==void 0&&setting.injectRules);var selectedUrl=subRules.selectedUrl,selectedRules=subRules.selectedRules;var handleImport=function handleImport(e){var file=e.target.files[0];if(!file){return;}if(!file.type.includes("json")){alert(i18n("error_wrong_file_type"));return;}var reader=new FileReader();reader.onload=/*#__PURE__*/function(){var _ref13=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(e){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.prev=0;_context3.next=3;return rules.merge(JSON.parse(e.target.result));case 3:_context3.next=8;break;case 5:_context3.prev=5;_context3.t0=_context3["catch"](0);console.log("[import rules]",_context3.t0);case 8:case"end":return _context3.stop();}},_callee3,null,[[0,5]]);}));return function(_x2){return _ref13.apply(this,arguments);};}();reader.readAsText(file);};var handleInject=function handleInject(){updateSetting({injectRules:!injectRules});};(0,react.useEffect)(function(){if(!showAdd){setKeyword("");}},[showAdd]);return/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{spacing:3,children:[/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{direction:"row",alignItems:"center",spacing:2,useFlexGap:true,flexWrap:"wrap",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"contained",disabled:showAdd,onClick:function onClick(e){e.preventDefault();setShowAdd(true);},children:i18n("add")}),/*#__PURE__*/(0,jsx_runtime.jsx)(UploadButton,{text:i18n("import"),onChange:handleImport}),/*#__PURE__*/(0,jsx_runtime.jsx)(DownloadButton,{data:JSON.stringify((0,toConsumableArray/* default */.Z)(rules.list).reverse(),null,"\t"),text:i18n("export")}),/*#__PURE__*/(0,jsx_runtime.jsx)(ShareButton,{rules:rules,injectRules:injectRules,selectedUrl:selectedUrl}),/*#__PURE__*/(0,jsx_runtime.jsx)(FormControlLabel_FormControlLabel,{control:/*#__PURE__*/(0,jsx_runtime.jsx)(Switch_Switch,{size:"small",checked:injectRules,onChange:handleInject}),label:i18n("inject_rules")})]}),showAdd&&/*#__PURE__*/(0,jsx_runtime.jsx)(RuleFields,{rules:rules,setShow:setShowAdd,setKeyword:setKeyword}),/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{children:rules.list.filter(function(rule){return rule.pattern.includes(keyword)||keyword.includes(rule.pattern);}).map(function(rule){return/*#__PURE__*/(0,jsx_runtime.jsx)(RuleAccordion,{rule:rule,rules:rules},rule.pattern);})}),injectRules&&/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{children:selectedRules.filter(function(rule){return rule.pattern.includes(keyword)||keyword.includes(rule.pattern);}).map(function(rule){return/*#__PURE__*/(0,jsx_runtime.jsx)(RuleAccordion,{rule:rule},rule.pattern);})})]});}function SubRulesItem(_ref14){var index=_ref14.index,url=_ref14.url,selectedUrl=_ref14.selectedUrl,delSub=_ref14.delSub,setSelectedRules=_ref14.setSelectedRules;var _useState13=(0,react.useState)(false),_useState14=(0,slicedToArray/* default */.Z)(_useState13,2),loading=_useState14[0],setLoading=_useState14[1];var handleDel=/*#__PURE__*/function(){var _ref15=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee4(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee4$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.prev=0;_context4.next=3;return delSub(url);case 3:_context4.next=5;return delSubRules(url);case 5:_context4.next=10;break;case 7:_context4.prev=7;_context4.t0=_context4["catch"](0);console.log("[del subrules]",_context4.t0);case 10:case"end":return _context4.stop();}},_callee4,null,[[0,7]]);}));return function handleDel(){return _ref15.apply(this,arguments);};}();var handleSync=/*#__PURE__*/function(){var _ref16=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee5(){var rules;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee5$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_context5.prev=0;setLoading(true);_context5.next=4;return syncSubRules(url);case 4:rules=_context5.sent;if(rules.length>0&&url===selectedUrl){setSelectedRules(rules);}_context5.next=11;break;case 8:_context5.prev=8;_context5.t0=_context5["catch"](0);console.log("[sync sub rules]",_context5.t0);case 11:_context5.prev=11;setLoading(false);return _context5.finish(11);case 14:case"end":return _context5.stop();}},_callee5,null,[[0,8,11,14]]);}));return function handleSync(){return _ref16.apply(this,arguments);};}();return/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{direction:"row",alignItems:"center",spacing:2,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(FormControlLabel_FormControlLabel,{value:url,control:/*#__PURE__*/(0,jsx_runtime.jsx)(Radio_Radio,{}),label:url}),loading?/*#__PURE__*/(0,jsx_runtime.jsx)(CircularProgress_CircularProgress,{size:16}):/*#__PURE__*/(0,jsx_runtime.jsx)(IconButton_IconButton,{size:"small",onClick:handleSync,children:/*#__PURE__*/(0,jsx_runtime.jsx)(Sync/* default */.Z,{fontSize:"small"})}),index!==0&&selectedUrl!==url&&/*#__PURE__*/(0,jsx_runtime.jsx)(IconButton_IconButton,{size:"small",onClick:handleDel,children:/*#__PURE__*/(0,jsx_runtime.jsx)(Delete/* default */.Z,{fontSize:"small"})})]});}function SubRulesEdit(_ref17){var subList=_ref17.subList,addSub=_ref17.addSub;var i18n=useI18n();var _useState15=(0,react.useState)(""),_useState16=(0,slicedToArray/* default */.Z)(_useState15,2),inputText=_useState16[0],setInputText=_useState16[1];var _useState17=(0,react.useState)(""),_useState18=(0,slicedToArray/* default */.Z)(_useState17,2),inputError=_useState18[0],setInputError=_useState18[1];var _useState19=(0,react.useState)(false),_useState20=(0,slicedToArray/* default */.Z)(_useState19,2),showInput=_useState20[0],setShowInput=_useState20[1];var _useState21=(0,react.useState)(false),_useState22=(0,slicedToArray/* default */.Z)(_useState21,2),loading=_useState22[0],setLoading=_useState22[1];var handleCancel=function handleCancel(e){e.preventDefault();setShowInput(false);setInputText("");setInputError("");};var handleSave=/*#__PURE__*/function(){var _ref18=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee6(e){var url,rules;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee6$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:e.preventDefault();url=inputText.trim();if(url){_context6.next=5;break;}setInputError(i18n("error_cant_be_blank"));return _context6.abrupt("return");case 5:if(!subList.find(function(item){return item.url===url;})){_context6.next=8;break;}setInputError(i18n("error_duplicate_values"));return _context6.abrupt("return");case 8:_context6.prev=8;setLoading(true);_context6.next=12;return syncSubRules(url);case 12:rules=_context6.sent;if(!(rules.length===0)){_context6.next=15;break;}throw new Error("empty rules");case 15:_context6.next=17;return addSub(url);case 17:setShowInput(false);setInputText("");_context6.next=25;break;case 21:_context6.prev=21;_context6.t0=_context6["catch"](8);console.log("[fetch rules]",_context6.t0);setInputError(i18n("error_fetch_url"));case 25:_context6.prev=25;setLoading(false);return _context6.finish(25);case 28:case"end":return _context6.stop();}},_callee6,null,[[8,21,25,28]]);}));return function handleSave(_x3){return _ref18.apply(this,arguments);};}();var handleInput=function handleInput(e){e.preventDefault();setInputText(e.target.value);};var handleFocus=function handleFocus(e){e.preventDefault();setInputError("");};return/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Stack_Stack,{direction:"row",alignItems:"center",spacing:2,children:/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"contained",disabled:showInput,onClick:function onClick(e){e.preventDefault();setShowInput(true);},children:i18n("add")})}),showInput&&/*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",value:inputText,error:!!inputError,helperText:inputError,onChange:handleInput,onFocus:handleFocus,label:i18n("subscribe_url")}),/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{direction:"row",alignItems:"center",spacing:2,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"contained",onClick:handleSave,disabled:loading,children:i18n("save")}),/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"outlined",onClick:handleCancel,children:i18n("cancel")})]})]})]});}function SubRules(_ref19){var subRules=_ref19.subRules;var subList=subRules.subList,selectSub=subRules.selectSub,addSub=subRules.addSub,delSub=subRules.delSub,selectedUrl=subRules.selectedUrl,selectedRules=subRules.selectedRules,setSelectedRules=subRules.setSelectedRules,loading=subRules.loading;var handleSelect=function handleSelect(e){var url=e.target.value;selectSub(url);};return/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{spacing:3,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(SubRulesEdit,{subList:subList,addSub:addSub}),/*#__PURE__*/(0,jsx_runtime.jsx)(RadioGroup_RadioGroup,{value:selectedUrl,onChange:handleSelect,children:subList.map(function(item,index){return/*#__PURE__*/(0,jsx_runtime.jsx)(SubRulesItem,{url:item.url,index:index,selectedUrl:selectedUrl,delSub:delSub,setSelectedRules:setSelectedRules},item.url);})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{children:loading?/*#__PURE__*/(0,jsx_runtime.jsx)("center",{children:/*#__PURE__*/(0,jsx_runtime.jsx)(CircularProgress_CircularProgress,{})}):selectedRules.map(function(rule){return/*#__PURE__*/(0,jsx_runtime.jsx)(RuleAccordion,{rule:rule},rule.pattern);})})]});}function Rules(){var i18n=useI18n();var _useState23=(0,react.useState)(0),_useState24=(0,slicedToArray/* default */.Z)(_useState23,2),activeTab=_useState24[0],setActiveTab=_useState24[1];var subRules=useSubRules();var handleTabChange=function handleTabChange(e,newValue){setActiveTab(newValue);};return/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{spacing:3,children:[/*#__PURE__*/(0,jsx_runtime.jsxs)(Alert_Alert,{severity:"info",children:[i18n("rules_warn_1"),/*#__PURE__*/(0,jsx_runtime.jsx)("br",{}),i18n("rules_warn_2")]}),/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{sx:{borderBottom:1,borderColor:"divider"},children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Tabs_Tabs,{value:activeTab,onChange:handleTabChange,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Tab_Tab,{label:i18n("personal_rules")}),/*#__PURE__*/(0,jsx_runtime.jsx)(Tab_Tab,{label:i18n("subscribe_rules")})]})}),/*#__PURE__*/(0,jsx_runtime.jsx)("div",{hidden:activeTab!==0,children:activeTab===0&&/*#__PURE__*/(0,jsx_runtime.jsx)(UserRules,{subRules:subRules})}),/*#__PURE__*/(0,jsx_runtime.jsx)("div",{hidden:activeTab!==1,children:activeTab===1&&/*#__PURE__*/(0,jsx_runtime.jsx)(SubRules,{subRules:subRules})})]})});} ;// CONCATENATED MODULE: ./src/views/Options/Setting.js -function Settings(){var i18n=useI18n();var setting=useSetting();var updateSetting=useSettingUpdate();var handleChange=(0,react.useMemo)(function(){return debounce(function(e){e.preventDefault();var _e$target=e.target,name=_e$target.name,value=_e$target.value;switch(name){case"fetchLimit":value=limitNumber(value,1,100);break;case"fetchInterval":value=limitNumber(value,0,5000);break;case"minLength":value=limitNumber(value,1,100);break;case"maxLength":value=limitNumber(value,100,10000);break;default:}updateSetting((0,defineProperty/* default */.Z)({},name,value));},500);},[updateSetting]);if(!setting){return;}var uiLang=setting.uiLang,googleUrl=setting.googleUrl,fetchLimit=setting.fetchLimit,fetchInterval=setting.fetchInterval,minLength=setting.minLength,maxLength=setting.maxLength,openaiUrl=setting.openaiUrl,openaiKey=setting.openaiKey,openaiModel=setting.openaiModel,openaiPrompt=setting.openaiPrompt,clearCache=setting.clearCache;return/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{spacing:3,children:[/*#__PURE__*/(0,jsx_runtime.jsxs)(FormControl_FormControl,{size:"small",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(InputLabel_InputLabel,{children:i18n("ui_lang")}),/*#__PURE__*/(0,jsx_runtime.jsx)(Select_Select,{name:"uiLang",value:uiLang,label:i18n("ui_lang"),onChange:handleChange,children:UI_LANGS.map(function(_ref){var _ref2=(0,slicedToArray/* default */.Z)(_ref,2),lang=_ref2[0],name=_ref2[1];return/*#__PURE__*/(0,jsx_runtime.jsx)(MenuItem_MenuItem,{value:lang,children:name},lang);})})]}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("fetch_limit"),type:"number",name:"fetchLimit",defaultValue:fetchLimit,onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("fetch_interval"),type:"number",name:"fetchInterval",defaultValue:fetchInterval,onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("min_translate_length"),type:"number",name:"minLength",defaultValue:minLength,onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("max_translate_length"),type:"number",name:"maxLength",defaultValue:maxLength,onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsxs)(FormControl_FormControl,{size:"small",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(InputLabel_InputLabel,{children:i18n("clear_cache")}),/*#__PURE__*/(0,jsx_runtime.jsxs)(Select_Select,{name:"clearCache",value:clearCache,label:i18n("clear_cache"),onChange:handleChange,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(MenuItem_MenuItem,{value:false,children:i18n("clear_cache_never")}),/*#__PURE__*/(0,jsx_runtime.jsx)(MenuItem_MenuItem,{value:true,children:i18n("clear_cache_restart")})]})]}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("google_api"),name:"googleUrl",defaultValue:googleUrl,onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("openai_api"),name:"openaiUrl",defaultValue:openaiUrl,onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",type:"password",label:i18n("openai_key"),name:"openaiKey",defaultValue:openaiKey,onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("openai_model"),name:"openaiModel",defaultValue:openaiModel,onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("openai_prompt"),name:"openaiPrompt",defaultValue:openaiPrompt,onChange:handleChange,multiline:true})]})});} +function Settings(){var i18n=useI18n();var _useSetting=useSetting(),setting=_useSetting.setting,updateSetting=_useSetting.updateSetting;var handleChange=function handleChange(e){e.preventDefault();var _e$target=e.target,name=_e$target.name,value=_e$target.value;switch(name){case"fetchLimit":value=limitNumber(value,1,100);break;case"fetchInterval":value=limitNumber(value,0,5000);break;case"minLength":value=limitNumber(value,1,100);break;case"maxLength":value=limitNumber(value,100,10000);break;default:}updateSetting((0,defineProperty/* default */.Z)({},name,value));};var uiLang=setting.uiLang,googleUrl=setting.googleUrl,fetchLimit=setting.fetchLimit,fetchInterval=setting.fetchInterval,minLength=setting.minLength,maxLength=setting.maxLength,openaiUrl=setting.openaiUrl,openaiKey=setting.openaiKey,openaiModel=setting.openaiModel,openaiPrompt=setting.openaiPrompt,clearCache=setting.clearCache;return/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{spacing:3,children:[/*#__PURE__*/(0,jsx_runtime.jsxs)(FormControl_FormControl,{size:"small",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(InputLabel_InputLabel,{children:i18n("ui_lang")}),/*#__PURE__*/(0,jsx_runtime.jsx)(Select_Select,{name:"uiLang",value:uiLang,label:i18n("ui_lang"),onChange:handleChange,children:UI_LANGS.map(function(_ref){var _ref2=(0,slicedToArray/* default */.Z)(_ref,2),lang=_ref2[0],name=_ref2[1];return/*#__PURE__*/(0,jsx_runtime.jsx)(MenuItem_MenuItem,{value:lang,children:name},lang);})})]}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("fetch_limit"),type:"number",name:"fetchLimit",value:fetchLimit,onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("fetch_interval"),type:"number",name:"fetchInterval",value:fetchInterval,onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("min_translate_length"),type:"number",name:"minLength",value:minLength,onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("max_translate_length"),type:"number",name:"maxLength",value:maxLength,onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsxs)(FormControl_FormControl,{size:"small",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(InputLabel_InputLabel,{children:i18n("clear_cache")}),/*#__PURE__*/(0,jsx_runtime.jsxs)(Select_Select,{name:"clearCache",value:clearCache,label:i18n("clear_cache"),onChange:handleChange,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(MenuItem_MenuItem,{value:false,children:i18n("clear_cache_never")}),/*#__PURE__*/(0,jsx_runtime.jsx)(MenuItem_MenuItem,{value:true,children:i18n("clear_cache_restart")})]})]}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("google_api"),name:"googleUrl",value:googleUrl,onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("openai_api"),name:"openaiUrl",value:openaiUrl,onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",type:"password",label:i18n("openai_key"),name:"openaiKey",value:openaiKey,onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("openai_model"),name:"openaiModel",value:openaiModel,onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("openai_prompt"),name:"openaiPrompt",value:openaiPrompt,onChange:handleChange,multiline:true})]})});} // EXTERNAL MODULE: ./node_modules/@mui/system/esm/useThemeWithoutDefault.js var useThemeWithoutDefault = __webpack_require__(4976); // EXTERNAL MODULE: ./node_modules/@mui/system/esm/useThemeProps/getThemeProps.js @@ -57777,10 +57792,7 @@ var icons_material_Menu = __webpack_require__(1317); /** * 深色模式hook * @returns - */function useDarkMode(){var setting=useSetting();return!!(setting!==null&&setting!==void 0&&setting.darkMode);}/** - * 切换深色模式 - * @returns - */function useDarkModeSwitch(){var darkMode=useDarkMode();var updateSetting=useSettingUpdate();return/*#__PURE__*/asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return updateSetting({darkMode:!darkMode});case 2:case"end":return _context.stop();}},_callee);}));} + */function useDarkMode(){var _useSetting=useSetting(),darkMode=_useSetting.setting.darkMode,updateSetting=_useSetting.updateSetting;var toggleDarkMode=(0,react.useCallback)(/*#__PURE__*/asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return updateSetting({darkMode:!darkMode});case 2:case"end":return _context.stop();}},_callee);})),[darkMode,updateSetting]);return{darkMode:darkMode,toggleDarkMode:toggleDarkMode};} // EXTERNAL MODULE: ./node_modules/@mui/icons-material/LightMode.js var LightMode = __webpack_require__(3544); // EXTERNAL MODULE: ./node_modules/@mui/icons-material/DarkMode.js @@ -57980,11 +57992,11 @@ var Link_Link = /*#__PURE__*/react.forwardRef(function Link(inProps, ref) { false ? 0 : void 0; /* harmony default export */ var material_Link_Link = (Link_Link); ;// CONCATENATED MODULE: ./src/views/Options/Header.js -function Header(props){var i18n=useI18n();var onDrawerToggle=props.onDrawerToggle;var switchColorMode=useDarkModeSwitch();var darkMode=useDarkMode();return/*#__PURE__*/(0,jsx_runtime.jsx)(AppBar_AppBar,{color:"primary",position:"sticky",sx:{zIndex:1300},children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Toolbar_Toolbar,{variant:"dense",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{sx:{display:{sm:"none",xs:"block"}},children:/*#__PURE__*/(0,jsx_runtime.jsx)(IconButton_IconButton,{color:"inherit","aria-label":"open drawer",onClick:onDrawerToggle,edge:"start",children:/*#__PURE__*/(0,jsx_runtime.jsx)(icons_material_Menu/* default */.Z,{})})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{sx:{flexGrow:1},children:/*#__PURE__*/(0,jsx_runtime.jsx)(material_Link_Link,{underline:"none",color:"inherit",href:"https://github.com/fishjar/kiss-translator",children:"".concat(i18n("app_name")," v").concat("1.5.8")})}),/*#__PURE__*/(0,jsx_runtime.jsx)(IconButton_IconButton,{onClick:switchColorMode,color:"inherit",children:darkMode?/*#__PURE__*/(0,jsx_runtime.jsx)(LightMode/* default */.Z,{}):/*#__PURE__*/(0,jsx_runtime.jsx)(DarkMode/* default */.Z,{})})]})});}/* harmony default export */ var Options_Header = (Header); +function Header(props){var i18n=useI18n();var onDrawerToggle=props.onDrawerToggle;var _useDarkMode=useDarkMode(),darkMode=_useDarkMode.darkMode,toggleDarkMode=_useDarkMode.toggleDarkMode;return/*#__PURE__*/(0,jsx_runtime.jsx)(AppBar_AppBar,{color:"primary",position:"sticky",sx:{zIndex:1300},children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Toolbar_Toolbar,{variant:"dense",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{sx:{display:{sm:"none",xs:"block"}},children:/*#__PURE__*/(0,jsx_runtime.jsx)(IconButton_IconButton,{color:"inherit","aria-label":"open drawer",onClick:onDrawerToggle,edge:"start",children:/*#__PURE__*/(0,jsx_runtime.jsx)(icons_material_Menu/* default */.Z,{})})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{sx:{flexGrow:1},children:/*#__PURE__*/(0,jsx_runtime.jsx)(material_Link_Link,{underline:"none",color:"inherit",href:"https://github.com/fishjar/kiss-translator",children:"".concat(i18n("app_name")," v").concat("1.6.0")})}),/*#__PURE__*/(0,jsx_runtime.jsx)(IconButton_IconButton,{onClick:toggleDarkMode,color:"inherit",children:darkMode?/*#__PURE__*/(0,jsx_runtime.jsx)(LightMode/* default */.Z,{}):/*#__PURE__*/(0,jsx_runtime.jsx)(DarkMode/* default */.Z,{})})]})});}/* harmony default export */ var Options_Header = (Header); ;// CONCATENATED MODULE: ./src/views/Options/Layout.js function Layout(){var navWidth=256;var location=dist_useLocation();var theme=useTheme_useTheme();var _useState=(0,react.useState)(false),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),open=_useState2[0],setOpen=_useState2[1];var isSm=useMediaQuery(theme.breakpoints.up("sm"));var handleDrawerToggle=function handleDrawerToggle(){setOpen(!open);};(0,react.useEffect)(function(){setOpen(false);},[location]);return/*#__PURE__*/(0,jsx_runtime.jsxs)(Box_Box,{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(CssBaseline_CssBaseline,{}),/*#__PURE__*/(0,jsx_runtime.jsx)(Options_Header,{onDrawerToggle:handleDrawerToggle}),/*#__PURE__*/(0,jsx_runtime.jsxs)(Box_Box,{sx:{display:"flex"},children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{component:"nav",sx:{width:{sm:navWidth},flexShrink:{sm:0}},children:/*#__PURE__*/(0,jsx_runtime.jsx)(Navigator,{PaperProps:{style:{width:navWidth}},variant:isSm?"permanent":"temporary",open:isSm?true:open,onClose:handleDrawerToggle})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{component:"main",sx:{flex:1,p:2},children:/*#__PURE__*/(0,jsx_runtime.jsx)(Outlet,{})})]})]});} ;// CONCATENATED MODULE: ./src/views/Options/SyncSetting.js -function SyncSetting(){var i18n=useI18n();var sync=useSync();var alert=useAlert();var _useState=(0,react.useState)(false),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),loading=_useState2[0],setLoading=_useState2[1];var handleChange=(0,react.useMemo)(function(){return debounce(/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(e){var _e$target,name,value;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:e.preventDefault();_e$target=e.target,name=_e$target.name,value=_e$target.value;_context.next=4;return sync.update((0,defineProperty/* default */.Z)({},name,value));case 4:case"end":return _context.stop();}},_callee);}));return function(_x){return _ref.apply(this,arguments);};}(),500);},[sync]);var handleSyncTest=/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(e){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:e.preventDefault();_context2.prev=1;setLoading(true);_context2.next=5;return syncAll();case 5:alert.success(i18n("data_sync_success"));_context2.next=12;break;case 8:_context2.prev=8;_context2.t0=_context2["catch"](1);console.log("[sync all]",_context2.t0);alert.error(i18n("data_sync_error"));case 12:_context2.prev=12;setLoading(false);return _context2.finish(12);case 15:case"end":return _context2.stop();}},_callee2,null,[[1,8,12,15]]);}));return function handleSyncTest(_x2){return _ref2.apply(this,arguments);};}();if(!sync.opt){return;}var _sync$opt=sync.opt,syncUrl=_sync$opt.syncUrl,syncKey=_sync$opt.syncKey;return/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{spacing:3,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Alert_Alert,{severity:"warning",children:i18n("sync_warn")}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("data_sync_url"),name:"syncUrl",defaultValue:syncUrl,onChange:handleChange,helperText:/*#__PURE__*/(0,jsx_runtime.jsx)(material_Link_Link,{href:URL_KISS_WORKER,children:i18n("about_sync_api")})}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",type:"password",label:i18n("data_sync_key"),name:"syncKey",defaultValue:syncKey,onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{direction:"row",alignItems:"center",spacing:2,useFlexGap:true,flexWrap:"wrap",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"contained",disabled:!syncUrl||!syncKey||loading,onClick:handleSyncTest,startIcon:/*#__PURE__*/(0,jsx_runtime.jsx)(Sync/* default */.Z,{}),children:i18n("data_sync_test")}),loading&&/*#__PURE__*/(0,jsx_runtime.jsx)(CircularProgress_CircularProgress,{size:16})]})]})});} +function SyncSetting(){var i18n=useI18n();var _useSync=useSync(),sync=_useSync.sync,updateSync=_useSync.updateSync;var alert=useAlert();var _useState=(0,react.useState)(false),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),loading=_useState2[0],setLoading=_useState2[1];var handleChange=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(e){var _e$target,name,value;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:e.preventDefault();_e$target=e.target,name=_e$target.name,value=_e$target.value;_context.next=4;return updateSync((0,defineProperty/* default */.Z)({},name,value));case 4:case"end":return _context.stop();}},_callee);}));return function handleChange(_x){return _ref.apply(this,arguments);};}();var handleSyncTest=/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(e){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:e.preventDefault();_context2.prev=1;setLoading(true);_context2.next=5;return syncSettingAndRules();case 5:alert.success(i18n("data_sync_success"));_context2.next=12;break;case 8:_context2.prev=8;_context2.t0=_context2["catch"](1);console.log("[sync all]",_context2.t0);alert.error(i18n("data_sync_error"));case 12:_context2.prev=12;setLoading(false);return _context2.finish(12);case 15:case"end":return _context2.stop();}},_callee2,null,[[1,8,12,15]]);}));return function handleSyncTest(_x2){return _ref2.apply(this,arguments);};}();var syncUrl=sync.syncUrl,syncKey=sync.syncKey;return/*#__PURE__*/(0,jsx_runtime.jsx)(Box_Box,{children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{spacing:3,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Alert_Alert,{severity:"warning",children:i18n("sync_warn")}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",label:i18n("data_sync_url"),name:"syncUrl",value:syncUrl,onChange:handleChange,helperText:/*#__PURE__*/(0,jsx_runtime.jsx)(material_Link_Link,{href:URL_KISS_WORKER,children:i18n("about_sync_api")})}),/*#__PURE__*/(0,jsx_runtime.jsx)(TextField_TextField,{size:"small",type:"password",label:i18n("data_sync_key"),name:"syncKey",value:syncKey,onChange:handleChange}),/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{direction:"row",alignItems:"center",spacing:2,useFlexGap:true,flexWrap:"wrap",children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Button_Button,{size:"small",variant:"contained",disabled:!syncUrl||!syncKey||loading,onClick:handleSyncTest,startIcon:/*#__PURE__*/(0,jsx_runtime.jsx)(Sync/* default */.Z,{}),children:i18n("data_sync_test")}),loading&&/*#__PURE__*/(0,jsx_runtime.jsx)(CircularProgress_CircularProgress,{size:16})]})]})});} ;// CONCATENATED MODULE: ./node_modules/@mui/private-theming/useTheme/ThemeContext.js var ThemeContext_ThemeContext = /*#__PURE__*/react.createContext(null); @@ -58132,7 +58144,7 @@ function styles_ThemeProvider_ThemeProvider(_ref) { * mui 主题配置 * @param {*} param0 * @returns - */function MuiThemeProvider(_ref){var children=_ref.children,options=_ref.options;var darkMode=useDarkMode();var theme=(0,react.useMemo)(function(){return (0,createTheme/* default */.Z)(_objectSpread2({palette:{mode:darkMode?THEME_DARK:THEME_LIGHT}},options));},[darkMode,options]);return/*#__PURE__*/(0,jsx_runtime.jsxs)(styles_ThemeProvider_ThemeProvider,{theme:theme,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(CssBaseline_CssBaseline,{}),children]});} + */function Theme(_ref){var children=_ref.children,options=_ref.options;var _useDarkMode=useDarkMode(),darkMode=_useDarkMode.darkMode;var theme=(0,react.useMemo)(function(){return (0,createTheme/* default */.Z)(_objectSpread2({palette:{mode:darkMode?THEME_DARK:THEME_LIGHT}},options));},[darkMode,options]);return/*#__PURE__*/(0,jsx_runtime.jsxs)(styles_ThemeProvider_ThemeProvider,{theme:theme,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(CssBaseline_CssBaseline,{}),children]});} ;// CONCATENATED MODULE: ./node_modules/@mui/material/Divider/Divider.js 'use client'; @@ -58330,9 +58342,8 @@ Divider.muiSkipListHighlight = true; false ? 0 : void 0; /* harmony default export */ var Divider_Divider = (Divider); ;// CONCATENATED MODULE: ./src/views/Options/index.js -function Options(){var _useState=(0,react.useState)(false),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),error=_useState2[0],setError=_useState2[1];var _useState3=(0,react.useState)(false),_useState4=(0,slicedToArray/* default */.Z)(_useState3,2),ready=_useState4[0],setReady=_useState4[1];(0,react.useEffect)(function(){asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){var i;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:if(!isGm){_context.next=12;break;}// 等待GM注入 -i=0;case 2:if(!(window.APP_NAME==="KISS Translator")){_context.next=5;break;}setReady(true);return _context.abrupt("break",12);case 5:if(!(++i>8)){_context.next=8;break;}setError(true);return _context.abrupt("break",12);case 8:_context.next=10;return sleep(1000);case 10:_context.next=2;break;case 12:// 同步数据 -trySyncAll();case 13:case"end":return _context.stop();}},_callee);}))();},[]);if(error){return/*#__PURE__*/(0,jsx_runtime.jsxs)("center",{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Divider_Divider,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(material_Link_Link,{href:"https://github.com/fishjar/kiss-translator",children:"KISS Translator v".concat("1.5.8")})}),/*#__PURE__*/(0,jsx_runtime.jsx)("h2",{children:"Please confirm whether to install or enable KISS Translator GreaseMonkey script?"}),/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{spacing:2,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(material_Link_Link,{href:"https://fishjar.github.io/kiss-translator/kiss-translator.user.js",children:"Install Userscript 1"}),/*#__PURE__*/(0,jsx_runtime.jsx)(material_Link_Link,{href:"https://kiss-translator.rayjar.com/kiss-translator.user.js",children:"Install Userscript 2"}),/*#__PURE__*/(0,jsx_runtime.jsx)(material_Link_Link,{href:"https://fishjar.github.io/kiss-translator/options.html",children:"Open Options Page 1"}),/*#__PURE__*/(0,jsx_runtime.jsx)(material_Link_Link,{href:"https://kiss-translator.rayjar.com/options",children:"Open Options Page 2"})]})]});}if(isGm&&!ready){return/*#__PURE__*/(0,jsx_runtime.jsxs)("center",{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Divider_Divider,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(material_Link_Link,{href:"https://github.com/fishjar/kiss-translator",children:"KISS Translator v".concat("1.5.8")})}),/*#__PURE__*/(0,jsx_runtime.jsx)(CircularProgress_CircularProgress,{})]});}return/*#__PURE__*/(0,jsx_runtime.jsx)(StoragesProvider,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(MuiThemeProvider,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(AlertProvider,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(HashRouter,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(Routes,{children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Route,{path:"/",element:/*#__PURE__*/(0,jsx_runtime.jsx)(Layout,{}),children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Route,{index:true,element:/*#__PURE__*/(0,jsx_runtime.jsx)(Settings,{})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Route,{path:"rules",element:/*#__PURE__*/(0,jsx_runtime.jsx)(Rules,{})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Route,{path:"sync",element:/*#__PURE__*/(0,jsx_runtime.jsx)(SyncSetting,{})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Route,{path:"about",element:/*#__PURE__*/(0,jsx_runtime.jsx)(About,{})})]})})})})})});} +function Options(){var _useState=(0,react.useState)(false),_useState2=(0,slicedToArray/* default */.Z)(_useState,2),error=_useState2[0],setError=_useState2[1];var _useState3=(0,react.useState)(false),_useState4=(0,slicedToArray/* default */.Z)(_useState3,2),ready=_useState4[0],setReady=_useState4[1];(0,react.useEffect)(function(){asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(){var i;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:if(!isGm){_context.next=16;break;}// 等待GM注入 +i=0;case 2:if(!(window.APP_NAME==="KISS Translator")){_context.next=7;break;}_context.next=5;return trySyncSettingAndRules();case 5:setReady(true);return _context.abrupt("break",14);case 7:if(!(++i>8)){_context.next=10;break;}setError(true);return _context.abrupt("break",14);case 10:_context.next=12;return sleep(1000);case 12:_context.next=2;break;case 14:_context.next=19;break;case 16:_context.next=18;return trySyncSettingAndRules();case 18:setReady(true);case 19:case"end":return _context.stop();}},_callee);}))();},[]);if(error){return/*#__PURE__*/(0,jsx_runtime.jsxs)("center",{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Divider_Divider,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(material_Link_Link,{href:"https://github.com/fishjar/kiss-translator",children:"KISS Translator v".concat("1.6.0")})}),/*#__PURE__*/(0,jsx_runtime.jsx)("h2",{children:"Please confirm whether to install or enable KISS Translator GreaseMonkey script?"}),/*#__PURE__*/(0,jsx_runtime.jsxs)(Stack_Stack,{spacing:2,children:[/*#__PURE__*/(0,jsx_runtime.jsx)(material_Link_Link,{href:"https://fishjar.github.io/kiss-translator/kiss-translator.user.js",children:"Install Userscript 1"}),/*#__PURE__*/(0,jsx_runtime.jsx)(material_Link_Link,{href:"https://kiss-translator.rayjar.com/kiss-translator.user.js",children:"Install Userscript 2"}),/*#__PURE__*/(0,jsx_runtime.jsx)(material_Link_Link,{href:"https://fishjar.github.io/kiss-translator/kiss-translator-ios-safari.user.js",children:"Install Userscript Safari 1"}),/*#__PURE__*/(0,jsx_runtime.jsx)(material_Link_Link,{href:"https://kiss-translator.rayjar.com/kiss-translator-ios-safari.user.js",children:"Install Userscript Safari 2"}),/*#__PURE__*/(0,jsx_runtime.jsx)(material_Link_Link,{href:"https://fishjar.github.io/kiss-translator/options.html",children:"Open Options Page 1"}),/*#__PURE__*/(0,jsx_runtime.jsx)(material_Link_Link,{href:"https://kiss-translator.rayjar.com/options",children:"Open Options Page 2"})]})]});}if(!ready){return/*#__PURE__*/(0,jsx_runtime.jsxs)("center",{children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Divider_Divider,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(material_Link_Link,{href:"https://github.com/fishjar/kiss-translator",children:"KISS Translator v".concat("1.6.0")})}),/*#__PURE__*/(0,jsx_runtime.jsx)(CircularProgress_CircularProgress,{})]});}return/*#__PURE__*/(0,jsx_runtime.jsx)(SettingProvider,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(Theme,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(AlertProvider,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(HashRouter,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(Routes,{children:/*#__PURE__*/(0,jsx_runtime.jsxs)(Route,{path:"/",element:/*#__PURE__*/(0,jsx_runtime.jsx)(Layout,{}),children:[/*#__PURE__*/(0,jsx_runtime.jsx)(Route,{index:true,element:/*#__PURE__*/(0,jsx_runtime.jsx)(Settings,{})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Route,{path:"rules",element:/*#__PURE__*/(0,jsx_runtime.jsx)(Rules,{})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Route,{path:"sync",element:/*#__PURE__*/(0,jsx_runtime.jsx)(SyncSetting,{})}),/*#__PURE__*/(0,jsx_runtime.jsx)(Route,{path:"about",element:/*#__PURE__*/(0,jsx_runtime.jsx)(About,{})})]})})})})})});} ;// CONCATENATED MODULE: ./src/options.js var options_root=client.createRoot(document.getElementById("root"));options_root.render(/*#__PURE__*/(0,jsx_runtime.jsx)(react.StrictMode,{children:/*#__PURE__*/(0,jsx_runtime.jsx)(Options,{})})); }(); diff --git a/version.txt b/version.txt index fa5512a..ce6a70b 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -1.5.8 \ No newline at end of file +1.6.0 \ No newline at end of file