From 0a66962c9970290cb47bf779935e576fcf7fa863 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=AB=E8=B0=B7=E5=89=91=E4=BB=99?= Date: Wed, 31 Jul 2024 04:30:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8=20Ctrl=20+=20S=20=EF=BC=8C?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E5=BF=AB=E9=80=9F=E6=89=93=E5=BC=80/?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E6=90=9C=E7=B4=A2=E6=A1=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/index.html | 4 ++++ languages/en.css | 18 +++++++++--------- languages/ja.css | 4 ++-- languages/ko.css | 4 ++-- languages/zh-hans.css | 4 ++-- languages/zh-hant.css | 4 ++-- script.js | 36 ++++++++++++++++++++++++++++-------- service-worker.js | 24 ++++++++++++------------ style.css | 18 +++++++++--------- 9 files changed, 70 insertions(+), 46 deletions(-) diff --git a/doc/index.html b/doc/index.html index ab8590ec..bfbd2992 100644 --- a/doc/index.html +++ b/doc/index.html @@ -323,6 +323,10 @@


关闭小键盘 +
  • + 使用Ctrl + S,可以快速打开/关闭搜索框。 + You can using Ctrl + S to fast open/close search box. +
  • 搜索图鉴 diff --git a/languages/en.css b/languages/en.css index 4c2b1a85..de67d3a0 100644 --- a/languages/en.css +++ b/languages/en.css @@ -103,10 +103,10 @@ content: "Leader Skill"; } label[for="show-skill-original"]::after{ - content: "Skill Original"; + content: "Original"; } label[for="merge-skill"]::after{ - content: "Merge Skill"; + content: "Merge"; } .edit-box .button-box .button-null::after{ @@ -495,37 +495,37 @@ label[for="real-time-change-card"]::after .evolution .evo-type { transform: scaleX(0.90); - margin: calc(-100px * (1 - 0.90) / 2); + margin: 0 calc(-100px * (1 - 0.90) / 2); } .pixel-evo .evo-type { transform: scaleX(0.95); - margin: calc(-100px * (1 - 0.95) / 2); + margin: 0 calc(-100px * (1 - 0.95) / 2); } .super-ult-evo .evo-type { transform: scaleX(0.65); - margin: calc(-100px * (1 - 0.63) / 2); + margin: 0 calc(-100px * (1 - 0.63) / 2); } .reincarnation .evo-type { transform: scaleX(0.60); - margin: calc(-100px * (1 - 0.55) / 2); + margin: 0 calc(-100px * (1 - 0.55) / 2); } .assist-evo .evo-type { transform: scaleX(0.85); - margin: calc(-100px * (1 - 0.85) / 2); + margin: 0 calc(-100px * (1 - 0.85) / 2); } .super-reincarnation .evo-type { transform: scaleX(0.43); - margin: calc(-100px * 1 / 2); + margin: 0 calc(-100px * 1 / 2); } .ordeal-evo .evo-type { transform: scaleX(0.75); - margin: calc(-100px * (1 - 0.75) / 2); + margin: 0 calc(-100px * (1 - 0.75) / 2); } .henshin .evo-type::before, diff --git a/languages/ja.css b/languages/ja.css index 10967307..adf2f336 100644 --- a/languages/ja.css +++ b/languages/ja.css @@ -102,10 +102,10 @@ label[for="languages"]::after{ content: "リーダースキル"; } label[for="show-skill-original"]::after{ - content: "スキルの原文"; + content: "原文"; } label[for="merge-skill"]::after{ - content: "スキルのマージ"; + content: "マージ"; } .edit-box .button-box .button-null::after{ diff --git a/languages/ko.css b/languages/ko.css index 3be7cc7e..36f901c6 100644 --- a/languages/ko.css +++ b/languages/ko.css @@ -98,10 +98,10 @@ label[for="languages"]::after{ content: "리더스킬"; } label[for="show-skill-original"]::after{ - content: "기술 원본"; + content: "원본"; } label[for="merge-skill"]::after{ - content: "기술 병합"; + content: "병합"; } .edit-box .button-box .button-null::after{ diff --git a/languages/zh-hans.css b/languages/zh-hans.css index de9db3ed..28f70fc3 100644 --- a/languages/zh-hans.css +++ b/languages/zh-hans.css @@ -104,10 +104,10 @@ label[for="languages"]::after{ content: "隊長技能"; } label[for="show-skill-original"]::after{ - content: "技能原文"; + content: "原文"; } label[for="merge-skill"]::after{ - content: "合并技能"; + content: "合并"; } .edit-box .button-box .button-null::after{ diff --git a/languages/zh-hant.css b/languages/zh-hant.css index 74f5885b..c534b655 100644 --- a/languages/zh-hant.css +++ b/languages/zh-hant.css @@ -104,10 +104,10 @@ label[for="languages"]::after{ content: "隊長技能"; } label[for="show-skill-original"]::after{ - content: "技能原文"; + content: "原文"; } label[for="merge-skill"]::after{ - content: "合并技能"; + content: "合并"; } .edit-box .button-box .button-null::after{ diff --git a/script.js b/script.js index 4795bb64..13ddb408 100644 --- a/script.js +++ b/script.js @@ -24,6 +24,7 @@ const className_displayNone = "display-none"; const dataAttrName = "data-value"; //用于储存默认数据的属性名 const isGuideMod = Boolean(Number(getQueryString("guide"))); //是否以图鉴模式启动 +const svgNS = "http://www.w3.org/2000/svg"; //svg用的命名空间 //用油猴扩展装上,把GM_xmlhttpRequest引入的脚本 const ExternalLinkScriptURL = "https://greasyfork.org/scripts/458521"; const paddbPathPrefix = "/team/"; //PADDB的获取队伍网址格式 @@ -1739,6 +1740,11 @@ class EvoTree const evoTypeDiv = evotPanel_L.appendChild(document.createElement("div")); evoTypeDiv.className = "evo-type-div"; + + // const typeSVG = evotPanel_L.appendChild(document.createElementNS(svgNS,"svg")); + // const svgText = typeSVG.appendChild(document.createElementNS(svgNS,'text')); + // svgText.setAttribute("y",`10`); + const evoType = evoTypeDiv.appendChild(document.createElement("span")); evoType.className = "evo-type"; const monHead = evotPanel_L.appendChild(createCardHead(this.id, {noTreeCount: true})); @@ -1750,7 +1756,7 @@ class EvoTree const evotMaterials = evotPanel_R.appendChild(document.createElement("ul")); evotMaterials.className = "evo-materials"; - (this.evoType === "Ordeal Evo" ? [0,0,0,0,0] : this.card.evoMaterials).forEach(mid=>{ + (this.evoType === "Ordeal Evo" ? new Array(5).fill(0) : this.card.evoMaterials).forEach(mid=>{ //const li = evotMaterials.appendChild(document.createElement("li")); evotMaterials.appendChild(createCardHead(mid, {noTreeCount: true})); }); @@ -4908,9 +4914,13 @@ function initialize() { { if (typeof(searchArr) === "number") { searchArr = [searchArr]; - } else if (Array.isArray(searchArr)) { //如果传入的内容是数字,就转成card对象 + } + if (Array.isArray(searchArr)) { //如果传入的内容是数字,就转成card对象 searchArr = searchArr.map(id=>typeof(id) === "object" ? id : Cards[id]); } else { + //只是打开之前的显示 + searchBox.open = true; + editBox.show(); return; //如果不是数组就直接取消下一步 } //如果之前打开了附加显示,继续沿用 @@ -5577,11 +5587,25 @@ function initialize() { editBox.hide(); }; window.addEventListener("keydown",function(event) { + if (event.key === "s" && event.ctrlKey){ //按Ctrl+S打开搜索框 + event.preventDefault(); + if (editBox.classList.contains(className_displayNone)) { + showSearch(); + } else { + editBox.hide(); + } + } if (!editBox.classList.contains(className_displayNone)) { //编辑窗打开 if (event.key === "Escape") { //按下ESC时,自动关闭编辑窗 btnCancel.onclick(); } + if (event.key === "Enter" && //按下回车时 + document.activeElement === monstersID && //当前焦点是id框 + editBox.mid == parseInt(monstersID.value, 10) //ID和目前打开的相同(已刷新) + ) { + btnDone.onclick(); //点击完成 + } } else { @@ -5676,7 +5700,7 @@ function initialize() { if (isGuideMod) //图鉴模式直接打开搜索框 { - showSearch([]); + showSearch(); //if (monstersID.value.length == 0) editBoxChangeMonId(0); } } @@ -7620,16 +7644,12 @@ function fastShowSkill(event) { return; }; const s_cards = Cards.filter(card => card.activeSkillId === skillId || card.leaderSkillId === skillId); //搜索同技能怪物 - if (s_cards.length > 1) { - showSearch(s_cards); //显示 - } + showSearch(s_cards); //显示 } function svgGradientTextLengthRestore(svg, force = false) { if (!force && svg.width.baseVal.value > 0) return; - console.log(svg,svg.width.baseVal.value); const text = svg.querySelector("text"); const rect = text.getBoundingClientRect(); - console.log(text.textContent,rect.width); svg.width.baseVal.value = rect.width; } function localisation($tra) { diff --git a/service-worker.js b/service-worker.js index 032964d8..a7d2b484 100644 --- a/service-worker.js +++ b/service-worker.js @@ -32319,7 +32319,7 @@ const cachesMap = new Map([ ], [ "multi.html", - "7187d627631fa7abc79622b1bdc2d477" + "51f2c471715b6609bcb09441824a5fa4" ], [ "script-custom_elements.js", @@ -32339,11 +32339,11 @@ const cachesMap = new Map([ ], [ "script.js", - "185f13fedf76220cf25070e80d63f4fb" + "52f74f6f2d496308be5c54dbf9c908a0" ], [ "solo.html", - "5d9133d40c68f7f9733a3670d4213f3c" + "ac82faacab0d49e4ace3e8485f4fdbe9" ], [ "style-fix-html2canvas.css", @@ -32351,11 +32351,11 @@ const cachesMap = new Map([ ], [ "style-monsterimages.css", - "01af9fbac81c5c7fa2eac76354bc89a1" + "15020a2f25262663a81aaa7f9259defc" ], [ "style.css", - "49b86aed1bf468de63b32a5f32870300" + "1a761a00d9b9a660e781775f66e03f29" ], [ "temp.js", @@ -32363,11 +32363,11 @@ const cachesMap = new Map([ ], [ "triple.html", - "0154840ff2c641967e67a1c7f8a99cb4" + "95f1ee3675be5e8bbe795e2ad294b191" ], [ "languages/en.css", - "5f71a278d07e34177b4a69c7e466310d" + "591f2e7ee847345caf198e7a1ed2a3f4" ], [ "languages/en.js", @@ -32375,7 +32375,7 @@ const cachesMap = new Map([ ], [ "languages/ja.css", - "8c78b0e7b5ba4b336cbe2a8a3e2455e3" + "5613bf5868e09633e7f18ae0fae2017f" ], [ "languages/ja.js", @@ -32383,7 +32383,7 @@ const cachesMap = new Map([ ], [ "languages/ko.css", - "28b0871e7c7166f2b0266fed3083c1bb" + "484bf8541bd553771db82ea7fc43df24" ], [ "languages/ko.js", @@ -32395,7 +32395,7 @@ const cachesMap = new Map([ ], [ "languages/zh-hans.css", - "dcb1c5708633e0889c9aee23725a32fd" + "7812bc8104d408d8b70f0d1a1723cc72" ], [ "languages/zh-hans.js", @@ -32403,7 +32403,7 @@ const cachesMap = new Map([ ], [ "languages/zh-hant.css", - "c041685f375be00e43a5d8b014ff2c70" + "14630847a22449fe2780f8e154d8d7c7" ], [ "languages/zh-hant.js", @@ -32611,7 +32611,7 @@ const cachesMap = new Map([ ], [ "doc/index.html", - "ffe70f49c504f28439d7d82024a23ec0" + "f8ae224436be99decfdb36d616899bdc" ], [ "doc/images/bluestacks-adb-connect.webp", diff --git a/style.css b/style.css index 2f46da4d..3fea4b48 100644 --- a/style.css +++ b/style.css @@ -3381,6 +3381,7 @@ a.series-search::before { .control-box .btn-henshin::before{ content: "\f04e"; font-family: var(--icon-font-family); + color: darkblue; } .control-box .btn-henshin[data-step^="-"]::before{ content: "\f04a"; @@ -3802,6 +3803,7 @@ table .orb-icon border-radius: 5px; margin: 4px; padding: 5px; + m } .evo-materials { @@ -3870,25 +3872,23 @@ table .orb-icon } -.evo-panel-left .evo-type, -.evo-panel-left .evo-type::after -{ +.evo-panel-left .evo-type{ + display: grid; font-family: var(--game-font-family); font-size: 15px; line-height: 15px; + padding: 4px 0; } -.evo-panel-left .evo-type -{ - display: inline-block; - position: relative; +.evo-panel-left .evo-type::after, +.evo-panel-left .evo-type::before{ + grid-area: 1 / 1; } + .evo-panel-left .evo-type::after { -webkit-background-clip: text; /*垃圾Chrome,不支持无前缀的*/ background-clip: text; color: transparent; - position: absolute; - left: 0; } .evo-panel-left .evo-type::before