/* Config */ const config = { advanced: false, disableVoteSubmission: false, coloredThumbs: false, coloredBar: false, colorTheme: "classic", showAdvancedMessage: '', hideAdvancedMessage: '', links: { website: "https://returnyoutubedislike.com", github: "https://github.com/Anarios/return-youtube-dislike", discord: "https://discord.gg/mYnESY4Md5", donate: "https://returnyoutubedislike.com/donate", faq: "https://returnyoutubedislike.com/faq", help: "https://returnyoutubedislike.com/help" }, }; /* Links */ createLink(config.links.website,"link_website") createLink(config.links.github,"link_github") createLink(config.links.discord,"link_discord") createLink(config.links.faq,"link_faq") createLink(config.links.donate,"link_donate") createLink(config.links.help,"link_help") function createLink(url,id) { document.getElementById(id).addEventListener("click",()=>{ chrome.tabs.create({ url: url}) }) } document .getElementById("disable_vote_submission") .addEventListener("click", (ev) => { chrome.storage.sync.set({ disableVoteSubmission: ev.target.checked }); }); document .getElementById("colored_thumbs") .addEventListener("click", (ev) => { chrome.storage.sync.set({ coloredThumbs: ev.target.checked }); }); document .getElementById("colored_bar") .addEventListener("click", (ev) => { chrome.storage.sync.set({ coloredBar: ev.target.checked }); }); document .getElementById("color_theme") .addEventListener("click", (ev) => { chrome.storage.sync.set({ colorTheme: ev.target.checked }); }); /* Advanced Toggle */ const advancedToggle = document.getElementById("advancedToggle"); advancedToggle.addEventListener("click", () => { const adv = document.getElementById("advancedSettings"); if (config.advanced) { adv.style.transform = "scale(1.1)"; adv.style.pointerEvents = "none"; adv.style.opacity = "0"; advancedToggle.innerHTML = config.showAdvancedMessage; config.advanced = false; } else { adv.style.transform = "scale(1)"; adv.style.pointerEvents = "auto"; adv.style.opacity = "1"; advancedToggle.innerHTML = config.hideAdvancedMessage; config.advanced = true; } }); initConfig(); function initConfig() { initializeDisableVoteSubmission(); initializeVersionNumber(); initializeColoredThumbs(); initializeColoredBar(); initializeColorTheme(); } function initializeVersionNumber() { const version = chrome.runtime.getManifest().version; document.getElementById('ext-version').innerHTML = 'v' + version; fetch( "https://raw.githubusercontent.com/Anarios/return-youtube-dislike/main/Extensions/combined/manifest-chrome.json" ) .then((response) => response.json()) .then((json) => { if (version !== json.version) { document.getElementById('ext-update').innerHTML = 'update to v' + json.version; document.getElementById('ext-update').style.padding = '.25rem .5rem'; } }); // .catch(console.error); } function initializeDisableVoteSubmission() { chrome.storage.sync.get(["disableVoteSubmission"], (res) => { handleDisableVoteSubmissionChangeEvent(res.disableVoteSubmission); }); } function initializeColoredThumbs() { chrome.storage.sync.get(["coloredThumbs"], (res) => { handleColoredThumbsChangeEvent(res.coloredThumbs); }); } function initializeColoredBar() { chrome.storage.sync.get(["coloredBar"], (res) => { handleColoredBarChangeEvent(res.coloredBar); }); } function initializeColorTheme() { chrome.storage.sync.get(["colorTheme"], (res) => { handleColorThemeChangeEvent(res.colorTheme); }); } chrome.storage.onChanged.addListener(storageChangeHandler); function storageChangeHandler(changes, area) { if (changes.disableVoteSubmission !== undefined) { handleDisableVoteSubmissionChangeEvent( changes.disableVoteSubmission.newValue ); } if (changes.coloredThumbs !== undefined) { handleColoredThumbsChangeEvent( changes.coloredThumbs.newValue ); } if (changes.coloredBar !== undefined) { handleColoredBarChangeEvent( changes.coloredBar.newValue ); } if (changes.colorTheme !== undefined) { handleColorThemeChangeEvent( changes.colorTheme.newValue ); } } function handleDisableVoteSubmissionChangeEvent(value) { config.disableVoteSubmission = value; document.getElementById("disable_vote_submission").checked = value; } function handleColoredThumbsChangeEvent(value) { config.coloredThumbs = value; document.getElementById("colored_thumbs").checked = value; } function handleColoredBarChangeEvent(value) { config.coloredBar = value; document.getElementById("colored_bar").checked = value; } function handleColorThemeChangeEvent(value) { config.colorTheme = value; // TODO: check selected menu item } (async function getStatus() { let status = document.getElementById("status"); let serverStatus = document.getElementById("server-status"); let resp = await fetch( "https://returnyoutubedislikeapi.com/votes?videoId=YbJOTdZBX1g" ); let result = await resp.status; if (result === 200) { status.innerText = "Online"; status.style.color = "green"; serverStatus.style.filter = "invert(58%) sepia(81%) saturate(2618%) hue-rotate(81deg) brightness(119%) contrast(129%)"; } else { status.innerText = "Offline"; status.style.color = "red"; serverStatus.style.filter = "invert(11%) sepia(100%) saturate(6449%) hue-rotate(3deg) brightness(116%) contrast(115%)"; } })(); /* popup-script.js document.querySelector('#login') .addEventListener('click', function () { chrome.runtime.sendMessage({ message: 'get_auth_token' }); }); document.querySelector("#log_off").addEventListener("click", function () { chrome.runtime.sendMessage({ message: "log_off" }); }); */