document.addEventListener("DOMContentLoaded", function () { document.querySelector("#config").addEventListener("click", function () { window.open(chrome.runtime.getURL("options.html")); }); document.querySelector("#about").addEventListener("click", function () { window.open("https://github.com/codebicycle/videospeed"); }); document.querySelector("#feedback").addEventListener("click", function () { window.open("https://github.com/codebicycle/videospeed/issues"); }); document.querySelector("#enable").addEventListener("click", function () { toggleEnabled(true, settingsSavedReloadMessage); }); document.querySelector("#disable").addEventListener("click", function () { toggleEnabled(false, settingsSavedReloadMessage); }); chrome.storage.sync.get({ enabled: true }, function (storage) { toggleEnabledUI(storage.enabled); }); function toggleEnabled(enabled, callback) { chrome.storage.sync.set( { enabled: enabled }, function () { toggleEnabledUI(enabled); if (callback) callback(enabled); } ); } function toggleEnabledUI(enabled) { document.querySelector("#enable").classList.toggle("hide", enabled); document.querySelector("#disable").classList.toggle("hide", !enabled); const suffix = `${enabled ? "" : "_disabled"}.png`; chrome.browserAction.setIcon({ path: { "19": "icons/icon19" + suffix, "38": "icons/icon38" + suffix, "48": "icons/icon48" + suffix } }); } function settingsSavedReloadMessage(enabled) { setStatusMessage( `${enabled ? "Enabled" : "Disabled"}. Reload page to see changes` ); } function setStatusMessage(str) { const status_element = document.querySelector("#status"); status_element.classList.toggle("hide", false); status_element.innerText = str; } });