From 73aed7651913dde67a2137e776d179d77e070b06 Mon Sep 17 00:00:00 2001 From: buzz-lightsnack-2007 <73412182+buzz-lightsnack-2007@users.noreply.github.com> Date: Fri, 29 Mar 2024 22:44:12 +0800 Subject: [PATCH] reusing settings for filters page --- gui/scripts/pages/settings.js | 42 ++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/gui/scripts/pages/settings.js b/gui/scripts/pages/settings.js index f5f2c1e..85eb06e 100644 --- a/gui/scripts/pages/settings.js +++ b/gui/scripts/pages/settings.js @@ -14,11 +14,13 @@ function arrange() { let last_opened = ( await Promise.all([secretariat.read([`view`, window.location.href], 1)]) )[0]; - if (!last_opened) { - last_opened = "settings"; + if (!last_opened || typeof last_opened !== `number`) { + last_opened = 0; } - document.querySelector(`[role="tab"][for="${last_opened}"]`).click(); + if (document.querySelector(`[role="tab"][tab="${last_opened}"]`)) { + document.querySelector(`[role="tab"][tab="${last_opened}"]`).click(); + } } openLast(); @@ -30,24 +32,28 @@ function arrange() { function events() { windowman.events(); - document - .querySelector(`[data-action="filters,update"]`) - .addEventListener(`click`, async () => { - let filters = await import(chrome.runtime.getURL(`scripts/filters.js`)); - filters.update(); - }); - document - .querySelector(`[data-action="storage,clear"]`) - .addEventListener(`click`, async () => { - let storage = await import( - chrome.runtime.getURL(`scripts/secretariat.js`) - ); - storage.forget(`sites`); - }); + if (document.querySelector(`[data-action="filters,update"]`)) { + document + .querySelector(`[data-action="filters,update"]`) + .addEventListener(`click`, async () => { + let filters = await import(chrome.runtime.getURL(`scripts/filters.js`)); + filters.update(); + }); + } + if (document.querySelector(`[data-action="storage,clear"]`)) { + document + .querySelector(`[data-action="storage,clear"]`) + .addEventListener(`click`, async () => { + let storage = await import( + chrome.runtime.getURL(`scripts/secretariat.js`) + ); + storage.forget(`sites`); + }); + } } function main() { - let tab = windowman.prepare(); + windowman.prepare(); windowman.fill(); events(); arrange();