From 34b0a90012a1a1a585d421a0f1bd5972e4c7ebfd Mon Sep 17 00:00:00 2001 From: Mic Date: Tue, 22 Apr 2025 00:41:00 +0200 Subject: [PATCH] at least one account must be selected. see #326 #327 --- pages/addtags/mzta-add-tags.js | 5 +++++ pages/spamfilter/mzta-spamfilter.js | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/pages/addtags/mzta-add-tags.js b/pages/addtags/mzta-add-tags.js index 02c3e7c0..6e8662b2 100644 --- a/pages/addtags/mzta-add-tags.js +++ b/pages/addtags/mzta-add-tags.js @@ -153,6 +153,11 @@ document.addEventListener('DOMContentLoaded', async () => { document.querySelectorAll('.accountCheckbox').forEach(checkbox => { checkbox.addEventListener('change', () => { let selectedAccounts = Array.from(document.querySelectorAll('.accountCheckbox:checked')).map(checkbox => checkbox.value); + if (selectedAccounts.length === 0) { + checkbox.checked = true; // Prevent deselecting the last selected checkbox + taLog.log("At least one account must be selected."); + return; + } if (selectedAccounts.length === document.querySelectorAll('.accountCheckbox').length) { browser.storage.sync.set({ add_tags_enabled_accounts: [] }); taLog.log("All accounts selected, saving add_tags_enabled_accounts = []."); diff --git a/pages/spamfilter/mzta-spamfilter.js b/pages/spamfilter/mzta-spamfilter.js index 4b48972f..997bd482 100644 --- a/pages/spamfilter/mzta-spamfilter.js +++ b/pages/spamfilter/mzta-spamfilter.js @@ -110,6 +110,11 @@ document.addEventListener('DOMContentLoaded', async () => { document.querySelectorAll('.accountCheckbox').forEach(checkbox => { checkbox.addEventListener('change', () => { let selectedAccounts = Array.from(document.querySelectorAll('.accountCheckbox:checked')).map(checkbox => checkbox.value); + if (selectedAccounts.length === 0) { + checkbox.checked = true; // Prevent deselecting the last selected checkbox + taLog.log("At least one account must be selected."); + return; + } if (selectedAccounts.length === document.querySelectorAll('.accountCheckbox').length) { browser.storage.sync.set({ spamfilter_enabled_accounts: [] }); taSpamReport.logger.log("All accounts selected, saving spamfilter_enabled_accounts = [].");