Files
remove-youtube-suggestions/firefox/js/options.js
T
Lawrence Hook a91e9bd639 Release 3.3.0
Refactor to use pure css paradigm

Add another 'bonus' option to remove link to the trending page
2021-01-10 15:31:35 -05:00

40 lines
1.3 KiB
JavaScript

const HTML = document.documentElement;
const DEFAULT_SETTINGS = {
"remove_homepage": true,
"remove_sidebar": true,
"remove_end_of_video": true,
"remove_trending": false,
"remove_comments": false
}
// Make checkboxes reflect local settings
document.addEventListener("DOMContentLoaded", () => {
browser.storage.local.get(localSettings => {
console.log(localSettings);
Object.keys(localSettings).forEach(settingKey => {
if (!Object.keys(DEFAULT_SETTINGS).includes(settingKey)) return;
document.getElementById(settingKey).checked = localSettings[settingKey];
});
});
});
// Handle check/uncheck events
Object.keys(DEFAULT_SETTINGS).forEach(settingKey => {
const settingCheckbox = document.getElementById(settingKey);
settingCheckbox.addEventListener("change", async e => {
const settingKey = e.target.id;
const settingValue = e.target.checked;
// 1. Save changes to local storage
const saveObj = { [settingKey]: settingValue };
browser.storage.local.set(saveObj);
// 2. Update running tabs with the changed setting
const messageObj = { key: settingKey, value: settingValue };
const tabs = await browser.tabs.query({});
tabs.forEach(tab => {
browser.tabs.sendMessage(tab.id, messageObj);
});
});
});