diff --git a/theresmore-helper.js b/theresmore-helper.js index 1ab5462..9eece88 100644 --- a/theresmore-helper.js +++ b/theresmore-helper.js @@ -381,40 +381,40 @@ handlers[1] = (tabNode, containerNode) => { const list = containerNode.querySelectorAll(`button.btn`); for (const node of list) { if (node.id === id) continue; + if (node.querySelector("button.theresmore-helper")) continue; const name = node.firstChild.textContent; - if (!node.querySelector("button.btn")) { - const button = document.createElement("button"); - button.classList.add( - "-bottom-0", - "right-0", - "inline-block", - "py-px", - "px-2", - "rounded-full", - "font-bold", - "text-xs", - ); - button.textContent = "A"; - if (blackList.has(name)) { - button.classList.add("text-gray-600"); - } else { - button.classList.add("text-green-600"); - } - button.onclick = (ev) => { - ev.stopPropagation(); - if (blackList.has(name)) { - blackList.delete(name); - button.classList.remove("text-gray-600"); - button.classList.add("text-green-600"); - } else { - blackList.add(name); - button.classList.remove("text-green-600"); - button.classList.add("text-gray-600"); - } - saveBlackList(blackList); - }; - node.appendChild(button); + const button = document.createElement("button"); + button.classList.add( + "-bottom-0", + "right-0", + "inline-block", + "py-px", + "px-2", + "rounded-full", + "font-bold", + "text-xs", + "theresmore-helper", + ); + button.textContent = "A"; + if (blackList.has(name)) { + button.classList.add("text-gray-600"); + } else { + button.classList.add("text-green-600"); } + button.onclick = (ev) => { + ev.stopPropagation(); + if (blackList.has(name)) { + blackList.delete(name); + button.classList.remove("text-gray-600"); + button.classList.add("text-green-600"); + } else { + blackList.add(name); + button.classList.remove("text-green-600"); + button.classList.add("text-gray-600"); + } + saveBlackList(blackList); + }; + node.appendChild(button); } if (containerNode.firstChild.textContent === "ALL") return; @@ -569,7 +569,7 @@ handlers[4] = async (tabNode, containerNode) => { } } } else if (currentSubTab.firstChild.textContent === "攻击") { - const chooseBtn = containerNode.querySelector(`button.btn.btn-dark`); + const chooseBtn = containerNode.querySelector(`button.btn:nth-child(2)`); if (chooseBtn && chooseBtn.firstChild.textContent !== "没有敌人可供攻击") { if (chooseBtn.lastChild.id !== "auto-attack") { const btn = document.createElement("button"); @@ -729,8 +729,13 @@ function customFunction(MainStore) { } } -function sleep(time) { - return new Promise((resolve) => { - setTimeout(resolve, time); - }); +async function sleep(time) { + let timer; + try { + return await new Promise((resolve) => { + timer = setTimeout(resolve, time); + }); + } finally { + return clearTimeout(timer); + } }