diff --git a/gui/scripts/pages/settings.js b/gui/scripts/pages/settings.js index d18df7f..ed8e996 100644 --- a/gui/scripts/pages/settings.js +++ b/gui/scripts/pages/settings.js @@ -38,23 +38,39 @@ function events(window) { document .querySelector(`[data-action="filters,add,one"]`) .addEventListener(`click`, async () => { - (async () => { - // Import the filters module. - let texts = ( - await import(chrome.runtime.getURL(`gui/scripts/read.js`)) - ).default; - let filters = new ( - await import(chrome.runtime.getURL(`scripts/filters.js`)) - ).default(); + // Import the filters module. + const texts = ( + await import(chrome.runtime.getURL(`gui/scripts/read.js`)) + ).default; + let filters = new ( + await import(chrome.runtime.getURL(`scripts/filters.js`)) + ).default(); + + let filter_source = prompt( + texts.localized(`settings_filters_add_prompt`), + ); + if (filter_source ? filter_source.trim() : false) { + filters.update(filter_source.trim()); + }; + }); + } + if (document.querySelector(`[data-action="filters,update,one"]`)) { + document + .querySelector(`[data-action="filters,update,one"]`) + .addEventListener(`click`, async () => { + // Import the filters module. + const texts = ( + await import(chrome.runtime.getURL(`gui/scripts/read.js`)) + ).default; + let filters = new ( + await import(chrome.runtime.getURL(`scripts/filters.js`)) + ).default(); - // Open text input window for adding a filter. - let filter_source = prompt( - texts.localized(`settings_filters_add_prompt`), - ); - if (filter_source ? filter_source.trim() : false) { - filters.update(filter_source.trim()); - } - })(); + // Open text input window for adding a filter. + let filter_source = (document.querySelector(`[data-result-linked="filters"] [data-result-content="*"]`)) ? document.querySelector(`[data-result-linked="filters"] [data-result-content="*"]`).innerText : prompt(texts.localized(`settings_filters_add_prompt`)); + if (filter_source ? filter_source.trim() : false) { + filters.update(filter_source.trim()); + }; }); } @@ -62,21 +78,19 @@ function events(window) { document .querySelector(`[data-action="filters,delete,one"]`) .addEventListener(`click`, async () => { - (async () => { - // Import the filters module. - let texts = ( - await import(chrome.runtime.getURL(`gui/scripts/read.js`)) - ).default; - let filters = new ( - await import(chrome.runtime.getURL(`scripts/filters.js`)) - ).default(); + // Import the filters module. + let texts = ( + await import(chrome.runtime.getURL(`gui/scripts/read.js`)) + ).default; + let filters = new ( + await import(chrome.runtime.getURL(`scripts/filters.js`)) + ).default(); - // Open text input window for adding a filter. - let filter_source = prompt(texts.localized(`settings_filters_add_prompt`)); - if (filter_source ? filter_source.trim() : false) { - filters.remove(filter_source.trim()); - } - })(); + // Open text input window for adding a filter. + let filter_source = (document.querySelector(`[data-result-linked="filters"] [data-result-content="*"]`)) ? document.querySelector(`[data-result-linked="filters"] [data-result-content="*"]`).innerText : prompt(texts.localized(`settings_filters_remove_prompt`)); + if (filter_source ? filter_source.trim() : false) { + filters.remove(filter_source.trim()); + } }); }