mirror of
https://github.com/lawrencehook/remove-youtube-suggestions.git
synced 2026-07-25 06:54:31 +00:00
a91e9bd639
Refactor to use pure css paradigm Add another 'bonus' option to remove link to the trending page
40 lines
1.3 KiB
JavaScript
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);
|
|
});
|
|
});
|
|
});
|