diff --git a/src/assets/javascripts/data.js b/src/assets/javascripts/data.js index fad2ea9d..a4e37ca7 100644 --- a/src/assets/javascripts/data.js +++ b/src/assets/javascripts/data.js @@ -1,12 +1,5 @@ "use strict"; -let exceptions; - -function setExceptions(val) { - exceptions = val; - browser.storage.sync.set({ exceptions }) -}; - let theme; function setTheme(val) { theme = val; @@ -17,5 +10,4 @@ export default { exceptions, theme, setTheme, - setExceptions, } \ No newline at end of file diff --git a/src/assets/javascripts/helpers/common.js b/src/assets/javascripts/helpers/common.js index 373929f6..313808a9 100644 --- a/src/assets/javascripts/helpers/common.js +++ b/src/assets/javascripts/helpers/common.js @@ -10,11 +10,6 @@ import wikipediaHelper from "./wikipedia.js"; import mapsHelper from "./maps.js"; import medium from "./medium.js"; - -function addHttps(instances) { - return instances.map((item, i) => "https://" + item) -} - function getRandomInstance(instances) { return instances[~~(instances.length * Math.random())]; } @@ -51,72 +46,12 @@ function updateInstances() { return false; } -function debounce(func, wait, immediate) { - let timeout; - return () => { - let context = this, - args = arguments; - let later = () => { - timeout = null; - if (!immediate) func.apply(context, args); - }; - let callNow = immediate && !timeout; - clearTimeout(timeout); - timeout = setTimeout(later, wait); - if (callNow) func.apply(context, args); - }; -} - -function validURL(str) { - var pattern = new RegExp('^(https?:\\/\\/)?' + // protocol - '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' + // domain name - '((\\d{1,3}\\.){3}\\d{1,3}))' + // OR ip (v4) address - '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' + // port and path - '(\\?[;&a-z\\d%_.~+=-]*)?' + // query string - '(\\#[-a-z\\d_]*)?$', 'i'); // fragment locator - return !!pattern.test(str); -} - -function filterList(oldList) { - oldList.filter((x) => x.trim() != ""); - let newList = []; - oldList.forEach((c) => { - if (!newList.includes(c.trim())) - newList.push(c.trim()); - }); - newList = newList.filter(validURL) - return newList; -} - -function updateListElement(listElement, list) { - while (listElement.firstChild) - listElement.removeChild(listElement.firstChild); - list.forEach(element => { - let entry = document.createElement('li'); - entry.appendChild(document.createTextNode(element)); - listElement.appendChild(entry); - }); -} - function isFirefox() { return typeof InstallTrigger !== "undefined"; } -function isException(url, initiator) { - return ( - data.exceptions.some((regex) => regex.test(url.href)) || - (initiator && data.exceptions.some((regex) => regex.test(initiator.href))) - ); -} - export default { getRandomInstance, updateInstances, - addHttps, - debounce, - validURL, - filterList, - updateListElement, isFirefox, - isException, }; diff --git a/src/assets/javascripts/helpers/instagram.js b/src/assets/javascripts/helpers/instagram.js index 666b9f71..fac1f534 100644 --- a/src/assets/javascripts/helpers/instagram.js +++ b/src/assets/javascripts/helpers/instagram.js @@ -60,37 +60,23 @@ function setDisableInstagram(val) { browser.storage.sync.set({ disableInstagram }) } -let bibliogramInstance; -const getBibliogramInstance = () => bibliogramInstance; -function setBibliogramInstance(val) { - bibliogramInstance = val; - browser.storage.sync.set({ bibliogramInstance }) -}; - function redirect(url, initiator, type) { if (disableInstagram) return null; // Do not redirect Bibliogram view on Instagram links - if ( - initiator && - (initiator.origin === bibliogramInstance || redirects.normal.includes(initiator.origin) || targets.includes(initiator.host)) - ) + if (initiator && (redirects.normal.includes(initiator.origin) || targets.includes(initiator.host))) return null; // Do not redirect /accounts, /embeds.js, or anything other than main_frame if (type !== "main_frame" || url.pathname.match(bypassPaths)) - return null; + return 'CANCEL'; let link = commonHelper.getRandomInstance(redirects.normal); - if ( - url.pathname === "/" || - instagramReservedPaths.includes(url.pathname.split("/")[1]) - ) + if (url.pathname === "/" || instagramReservedPaths.includes(url.pathname.split("/")[1])) return `${link}${url.pathname}${url.search}`; else - // Likely a user profile, redirect to '/u/...' - return `${link}/u${url.pathname}${url.search}`; + return `${link}/u${url.pathname}${url.search}`; // Likely a user profile, redirect to '/u/...' } function isInstagram(url) { @@ -100,11 +86,9 @@ function isInstagram(url) { async function init() { let result = await browser.storage.sync.get([ "disableInstagram", - "bibliogramInstance", "instagramRedirects" ]) disableInstagram = result.disableInstagram ?? false; - bibliogramInstance = result.bibliogramInstance; if (result.instagramRedirects) redirects = result.instagramRedirects } @@ -114,8 +98,6 @@ export default { setRedirects, getDisableInstagram, setDisableInstagram, - getBibliogramInstance, - setBibliogramInstance, isInstagram, redirect, init, diff --git a/src/assets/javascripts/helpers/maps.js b/src/assets/javascripts/helpers/maps.js index 40f070c2..cee15557 100644 --- a/src/assets/javascripts/helpers/maps.js +++ b/src/assets/javascripts/helpers/maps.js @@ -54,13 +54,6 @@ function setDisableMaps(val) { browser.storage.sync.set({ disableMaps }) } -let osmInstance; -const getOsmInstance = () => osmInstance; -function setOsmInstance(val) { - osmInstance = val; - browser.storage.sync.set({ osmInstance }) -} - function redirect(url, initiator) { if (disableMaps) return null; @@ -82,8 +75,7 @@ function redirect(url, initiator) { params = "&zoom=17"; // Set map layer - params = `${params}&layers=${layers[url.searchParams.get("layer")] || layers["none"] - }`; + params = `${params}&layers=${layers[url.searchParams.get("layer")] || layers["none"]}`; // Handle Google Maps Embed API if (url.pathname.split("/").includes("embed")) { let query = ""; @@ -93,8 +85,7 @@ function redirect(url, initiator) { try { query = url.searchParams.get("pb").split(/!2s(.*?)!/)[1]; } catch (error) { - console.error(error); - // Unable to find map marker in URL. + console.error(error); // Unable to find map marker in URL. } } let marker, bbox; @@ -145,18 +136,14 @@ function isMaps(url) { async function init() { let result = await browser.storage.sync.get([ "disableMaps", - "osmInstance", ]) disableMaps = result.disableMaps ?? false; - osmInstance = result.osmInstance; } export default { addressToLatLng, getDisableMaps, setDisableMaps, - getOsmInstance, - setOsmInstance, redirect, isMaps, init, diff --git a/src/assets/javascripts/helpers/medium.js b/src/assets/javascripts/helpers/medium.js index ce91e99c..16a6eac5 100644 --- a/src/assets/javascripts/helpers/medium.js +++ b/src/assets/javascripts/helpers/medium.js @@ -39,12 +39,6 @@ function setDisableMedium(val) { } -let scribeInstance; -const getScribeInstance = () => scribeInstance; -function setScribeInstance(val) { - scribeInstance = val; - browser.storage.sync.set({ scribeInstance }) -}; function redirect(url, initiator) { if (disableMedium) return null; @@ -52,13 +46,8 @@ function redirect(url, initiator) { if (url.pathname == "/") return null; if ( - commonHelper.isFirefox() && - initiator && - ( - initiator.origin === scribeInstance || - redirects.normal.includes(initiator.origin) || - targets.includes(initiator.host) - ) + commonHelper.isFirefox() && initiator && + (redirects.normal.includes(initiator.origin) || targets.includes(initiator.host)) ) { browser.storage.sync.set({ redirectBypassFlag: true }); return null; @@ -73,11 +62,9 @@ function isMedium(url) { async function init() { let result = await browser.storage.sync.get([ "disableMedium", - "scribeInstance", "mediumRedirects" ]) disableMedium = result.disableMedium ?? false; - scribeInstance = result.scribeInstance; if (result.mediumRedirects) redirects = result.mediumRedirects; } @@ -91,9 +78,6 @@ export default { getDisableMedium, setDisableMedium, - getScribeInstance, - setScribeInstance, - redirect, isMedium, init, diff --git a/src/assets/javascripts/helpers/reddit.js b/src/assets/javascripts/helpers/reddit.js index 880d1576..ba3455d0 100644 --- a/src/assets/javascripts/helpers/reddit.js +++ b/src/assets/javascripts/helpers/reddit.js @@ -79,12 +79,6 @@ function setDisableReddit(val) { disableReddit = val; browser.storage.sync.set({ disableReddit }) } -let redditInstance; -const getRedditInstance = () => redditInstance; -function setRedditInstance(val) { - redditInstance = val; - browser.storage.sync.set({ redditInstance }) -}; let redditFrontend; const getRedditFrontend = () => redditFrontend; @@ -99,8 +93,8 @@ function redirect(url, initiator, type) { return null; // Do not redirect when already on the selected view - if ((initiator && initiator.origin === redditInstance) || url.origin === redditInstance) - return null; + // if ((initiator && initiator.origin === redditInstance) || url.origin === redditInstance) + // return null; // Do not redirect exclusions nor anything other than main_frame @@ -140,12 +134,10 @@ function isReddit(url) { async function init() { let result = await browser.storage.sync.get([ "disableReddit", - "redditInstance", "redditFrontend", "redditRedirects" ]) disableReddit = result.disableReddit ?? false; - redditInstance = result.redditInstance; redditFrontend = result.redditFrontend ?? 'libreddit'; if (result.redditRedirects) redirects = result.redditRedirects; @@ -160,9 +152,6 @@ export default { getDisableReddit, setDisableReddit, - getRedditInstance, - setRedditInstance, - getRedditFrontend, setRedditFrontend, diff --git a/src/assets/javascripts/helpers/search.js b/src/assets/javascripts/helpers/search.js index 84b63f9a..1130aa3e 100644 --- a/src/assets/javascripts/helpers/search.js +++ b/src/assets/javascripts/helpers/search.js @@ -6,7 +6,7 @@ const targets = [ /https?:\/\/(((www|maps)\.)?(google\.).*(\/search)|search\.(google\.).*)/ ]; let redirects = { - "searx": { + "searx": { "normal": [ "https://a.searx.space", "https://anon.sx", @@ -137,7 +137,7 @@ let redirects = { "http://mqamk4cfykdvhw5kjez2gnvse56gmnqxn7vkvvbuor4k4j2lbbnq.b32.i2p" ] }, - "whoogle": { + "whoogle": { "normal": [ "https://s.alefvanoon.xyz", "https://search.albony.xyz", @@ -164,8 +164,6 @@ function setWhoogleRedirects(val) { console.log("whoogleRedirects:", val) } - - let disableSearch; const getDisableSearch = () => disableSearch; function setDisableSearch(val) { @@ -174,13 +172,6 @@ function setDisableSearch(val) { console.log("disableSearch: ", disableSearch) } -let searchInstance; -const getSearchInstance = () => searchInstance; -function setSearchInstance(val) { - searchInstance = val; - browser.storage.sync.set({ searchInstance }) -}; - let searchFrontend; const getSearchFrontend = () => searchFrontend; function setSearchFrontend(val) { @@ -208,7 +199,6 @@ function redirect(url, initiator) { url.search.slice(1).split("&").forEach(function (input) { if (input.startsWith("q=")) searchQuery = input; }); - console.log("Will return"); return `${instance}${path}?${searchQuery}`; } @@ -219,12 +209,10 @@ function isSearch(url) { async function init() { let result = await browser.storage.sync.get([ "disableSearch", - "searchInstance", "searchFrontend", "searchRedirects", ]) disableSearch = result.disableSearch ?? false; - searchInstance = result.searchInstance; searchFrontend = result.searchFrontend ?? 'searx'; if (result.searchRedirects) redirects = result.searchRedirects; @@ -241,9 +229,6 @@ export default { getDisableSearch, setDisableSearch, - getSearchInstance, - setSearchInstance, - getSearchFrontend, setSearchFrontend, diff --git a/src/assets/javascripts/helpers/translate.js b/src/assets/javascripts/helpers/translate.js index 198603e9..c0f95994 100644 --- a/src/assets/javascripts/helpers/translate.js +++ b/src/assets/javascripts/helpers/translate.js @@ -35,6 +35,7 @@ let redirects = { } }; + const getRedirects = () => redirects; function setSimplyTranslateRedirects(val) { @@ -57,13 +58,6 @@ function setDisableTranslate(val) { console.log("disableTranslate: ", disableTranslate) } -let simplyTranslateInstance; -const getSimplyTranslateInstance = () => simplyTranslateInstance; -function setSimplyTranslateInstance(val) { - simplyTranslateInstance = val; - browser.storage.sync.set({ simplyTranslateInstance }) -}; - let translateFrontend; const getFrontend = () => translateFrontend; function setFrontend(val) { @@ -108,12 +102,10 @@ function isTranslate(url) { async function init() { let result = await browser.storage.sync.get([ "disableTranslate", - "simplyTranslateInstance", "translateFrontend", "translateRedirects" ]); disableTranslate = result.disableTranslate ?? false; - simplyTranslateInstance = result.simplyTranslateInstance; translateFrontend = result.translateFrontend ?? "simplyTransalte"; if (result.translateRedirects) redirects = result.translateRedirects @@ -123,18 +115,15 @@ export default { getRedirects, setSimplyTranslateRedirects, setLingvaRedirects, - + isTranslate, - + getDisableTranslate, setDisableTranslate, - - getSimplyTranslateInstance, - setSimplyTranslateInstance, - + getFrontend, setFrontend, - + redirect, init, }; diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js index 24d2725e..d97505cc 100644 --- a/src/assets/javascripts/helpers/twitter.js +++ b/src/assets/javascripts/helpers/twitter.js @@ -12,11 +12,7 @@ const targets = [ "pbs.twimg.com", "video.twimg.com", ]; -/* - Please remember to also update the - src/assets/javascripts/remove-twitter-sw.js file - (const nitterInstances) when updating this list: - */ + let redirects = { "normal": [ "https://nitter.net", @@ -93,12 +89,6 @@ function setDisableTwitter(val) { browser.storage.sync.set({ disableTwitter }) } -let nitterInstance; -const getNitterInstance = () => nitterInstance; -function setNitterInstance(val) { - nitterInstance = val; - browser.storage.sync.set({ nitterInstance }) -} function redirect(url, initiator) { if (disableTwitter) @@ -110,11 +100,7 @@ function redirect(url, initiator) { if ( commonHelper.isFirefox() && initiator && - ( - initiator.origin === nitterInstance || - redirects.normal.includes(initiator.origin) || - targets.includes(initiator.host) - ) + (redirects.normal.includes(initiator.origin) || targets.includes(initiator.host)) ) { browser.storage.sync.set({ redirectBypassFlag: true }); return null; @@ -138,11 +124,9 @@ function isTwitter(url) { async function init() { let result = await browser.storage.sync.get([ "disableTwitter", - "nitterInstance", "twitterRedirects" ]); disableTwitter = result.disableTwitter ?? false; - nitterInstance = result.nitterInstance; if (result.twitterRedirects) redirects = result.twitterRedirects; } @@ -154,9 +138,6 @@ export default { getDisableTwitter, setDisableTwitter, - getNitterInstance, - setNitterInstance, - redirect, isTwitter, init, diff --git a/src/assets/javascripts/helpers/wikipedia.js b/src/assets/javascripts/helpers/wikipedia.js index e730c8b8..111eee2c 100644 --- a/src/assets/javascripts/helpers/wikipedia.js +++ b/src/assets/javascripts/helpers/wikipedia.js @@ -27,13 +27,6 @@ function setDisableWikipedia(val) { browser.storage.sync.set({ disableWikipedia }) } -let wikipediaInstance; -const getWikipediaInstance = () => wikipediaInstance; -function setWikipediaInstance(val) { - wikipediaInstance = val; - browser.storage.sync.set({ wikipediaInstance }) -}; - function redirect(url, initiator) { if (disableWikipedia) return null; @@ -46,7 +39,7 @@ function redirect(url, initiator) { GETArguments.push([args[0], args[1]]); } } - let instance = wikipediaInstance ?? commonHelper.getRandomInstance(redirects.normal) + let instance = commonHelper.getRandomInstance(redirects.normal) let link = `${instance}${url.pathname}`; let urlSplit = url.host.split("."); if (urlSplit[0] != "wikipedia" && urlSplit[0] != "www") { @@ -55,7 +48,7 @@ function redirect(url, initiator) { else GETArguments.push(["lang", urlSplit[0]]); if (urlSplit[1] == "m") GETArguments.push(["mobileaction", "toggle_view_mobile"]); - //wikiless doesn't have mobile view support yet + // wikiless doesn't have mobile view support yet } for (let i = 0; i < GETArguments.length; i++) link += (i == 0 ? "?" : "&") + GETArguments[i][0] + "=" + GETArguments[i][1]; @@ -76,11 +69,9 @@ function isWikipedia(url) { async function init() { let result = await browser.storage.sync.get([ "disableWikipedia", - "wikipediaInstance", "wikipediaRedirects" ]); disableWikipedia = result.disableWikipedia ?? false; - wikipediaInstance = result.wikipediaInstance; if (result.wikipediaRedirects) redirects = result.wikipediaRedirects; } @@ -92,9 +83,6 @@ export default { setDisableWikipedia, getDisableWikipedia, - setWikipediaInstance, - getWikipediaInstance, - redirect, isWikipedia, init, diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js index 0ce6b097..b6588808 100644 --- a/src/assets/javascripts/helpers/youtube/youtube.js +++ b/src/assets/javascripts/helpers/youtube/youtube.js @@ -91,14 +91,6 @@ function setDisableYoutube(val) { console.log("disableYoutube: ", disableYoutube) } -let invidiousInstance; -const getInvidiousInstance = () => invidiousInstance; -function setInvidiousInstance(val) { - invidiousInstance = val; - browser.storage.sync.set({ invidiousInstance }) - console.log("invidiousInstance: ", invidiousInstance) -} - let invidiousAlwaysProxy; function setInvidiousAlwaysProxy(val) { invidiousAlwaysProxy = val; @@ -208,7 +200,6 @@ async function init() { "invidiousTheme", "persistInvidiousPrefs", "disableYoutube", - "invidiousInstance", "invidiousOnlyEmbeddedVideo", "invidiousVolume", "invidiousPlayerStyle", @@ -219,7 +210,7 @@ async function init() { "invidiousRedirectsChecks", "invidiousCustomRedirects", ]); - if (result.youtubeRedirects) redirects = result.youtubeRedirects + if (result.youtubeRedirects) redirects = result.youtubeRedirects; if (result.invidiousRedirectsChecks) invidiousRedirectsChecks = result.invidiousRedirectsChecks; @@ -228,8 +219,6 @@ async function init() { frontend = result.youtubeFrontend ?? 'piped'; disableYoutube = result.disableYoutube ?? false; - invidiousInstance = result.invidiousInstance; - invidiousAlwaysProxy = result.invidiousAlwaysProxy ?? 'DEFAULT'; invidiousOnlyEmbeddedVideo = result.invidiousOnlyEmbeddedVideo ?? false; invidiousVideoQuality = result.invidiousVideoQuality ?? 'DEFAULT'; @@ -240,8 +229,6 @@ async function init() { invidiousAutoplay = result.invidiousAutoplay ?? 'DEFAULT'; persistInvidiousPrefs = result.persistInvidiousPrefs ?? false; - - } function invidiousInitCookies(tabId) { @@ -259,7 +246,6 @@ function redirect(url, initiator, type) { if ( initiator && ( - initiator.origin === invidiousInstance || redirects.invidious.normal.includes(initiator.origin) || redirects.piped.normal.includes(initiator.origin) || targets.includes(initiator.host) @@ -326,9 +312,6 @@ export default { getDisableYoutube, setDisableYoutube, - setInvidiousInstance, - getInvidiousInstance, - setInvidiousAlwaysProxy, getInvidiousAlwaysProxy, diff --git a/src/pages/options/general/general.html b/src/pages/options/general/general.html index 3a7e8cf2..92cd48c5 100644 --- a/src/pages/options/general/general.html +++ b/src/pages/options/general/general.html @@ -38,65 +38,6 @@ Update Instances - - - diff --git a/src/pages/options/general/general.js b/src/pages/options/general/general.js index 23c739aa..17b7a843 100644 --- a/src/pages/options/general/general.js +++ b/src/pages/options/general/general.js @@ -47,31 +47,6 @@ browser.storage.sync.get( } ); -// function addToExceptions() { -// const input = document.getElementById("new-exceptions-item"); -// const type = document.querySelector('input[name="type"]:checked').value; -// if (input.value) { -// try { -// let value = input.value; -// new RegExp(input.value); -// if (type === "URL") -// value = value.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"); - -// exceptions.push(value); -// browser.storage.sync.set({ -// exceptions: exceptions, -// }); -// prependExceptionsItem(value, exceptions.indexOf(value)); -// input.value = ""; -// } catch (error) { -// input.setCustomValidity("Invalid RegExp"); -// } -// } else { -// input.setCustomValidity("Invalid RegExp"); -// } -// } -// document.getElementById("add-to-exceptions").addEventListener("click", addToExceptions); - themeElement.addEventListener("change", (event) => { const value = event.target.options[theme.selectedIndex].value; switch (value) { diff --git a/src/pages/options/instagram/instagram.html b/src/pages/options/instagram/instagram.html index 1f09cab7..98e296f8 100644 --- a/src/pages/options/instagram/instagram.html +++ b/src/pages/options/instagram/instagram.html @@ -28,22 +28,6 @@

Enable

- - - - diff --git a/src/pages/options/medium/medium.html b/src/pages/options/medium/medium.html index abf149c0..1c978d82 100644 --- a/src/pages/options/medium/medium.html +++ b/src/pages/options/medium/medium.html @@ -28,21 +28,6 @@

Enable

- diff --git a/src/pages/options/reddit/reddit.html b/src/pages/options/reddit/reddit.html index 9dd59d73..c968b954 100644 --- a/src/pages/options/reddit/reddit.html +++ b/src/pages/options/reddit/reddit.html @@ -45,23 +45,6 @@ - - - diff --git a/src/pages/options/search/search.html b/src/pages/options/search/search.html index af7d3946..489ed38a 100644 --- a/src/pages/options/search/search.html +++ b/src/pages/options/search/search.html @@ -44,23 +44,6 @@ - - diff --git a/src/pages/options/twitter/twitter.html b/src/pages/options/twitter/twitter.html index b13d02dd..8e189856 100644 --- a/src/pages/options/twitter/twitter.html +++ b/src/pages/options/twitter/twitter.html @@ -30,22 +30,6 @@

Enable

- - -

Proactively remove Twitter service worker

diff --git a/src/pages/options/wikipedia/wikipedia.html b/src/pages/options/wikipedia/wikipedia.html index a68f36a6..ed811e94 100644 --- a/src/pages/options/wikipedia/wikipedia.html +++ b/src/pages/options/wikipedia/wikipedia.html @@ -28,20 +28,6 @@

Enable

- diff --git a/src/pages/options/youtube/youtube.html b/src/pages/options/youtube/youtube.html index a9bb6c63..0778b794 100644 --- a/src/pages/options/youtube/youtube.html +++ b/src/pages/options/youtube/youtube.html @@ -30,23 +30,6 @@ - - - -

Frontend

@@ -108,7 +90,7 @@
-

Always proxy videos

+

Always proxy videos

diff --git a/src/pages/options/youtube/youtube.js b/src/pages/options/youtube/youtube.js index 595006fd..dcd8c22d 100644 --- a/src/pages/options/youtube/youtube.js +++ b/src/pages/options/youtube/youtube.js @@ -69,10 +69,8 @@ invidiousPlayerStyleElement.addEventListener("change", ); let invidiousSubtitlesElement = document.getElementById("invidious-subtitles"); -invidiousSubtitlesElement.addEventListener("input", - commonHelper.debounce(() => { - youtubeHelper.setInvidiousSubtitles(invidiousSubtitlesElement.value) - }, 500) +invidiousSubtitlesElement.addEventListener("change", + () => youtubeHelper.setInvidiousSubtitles(invidiousSubtitlesElement.value) ); let invidiousAutoplayElement = document.getElementById("invidious-autoplay"); @@ -124,62 +122,51 @@ youtubeHelper.init().then(() => { let myMightyList = youtubeHelper.getInvidiousRedirectsChecks(); - function checkToggleAll() { - console.log("CheckToggleAll") - let isTrue = true; - for (const item of youtubeHelper.getRedirects().invidious.normal) - if (!myMightyList.includes(item)) { - isTrue = false; - break; - } - document.getElementById('invidious-toogle-all').checked = isTrue; - } - - let checklistList = invidiousCheckListElement.getElementsByTagName('input') for (let element of checklistList) { - element.checked = myMightyList.includes(element.id); - if (element.id == 'invidious-toogle-all') - document.getElementById('invidious-toogle-all').addEventListener("change", - (event) => { - if (event.target.checked) { - for (let item of checklistList) { - myMightyList.push(item.id) - item.checked = true; - } + document.getElementById('invidious-toogle-all').addEventListener("change", (event) => { + if (event.target.checked) + for (let item of checklistList) { + myMightyList.push(item.id); + item.checked = true; } - else { - myMightyList = []; - for (let item of checklistList) item.checked = false; - } - youtubeHelper.setInvidiousRedirectsChecks(myMightyList); + else { + myMightyList = []; + for (let item of checklistList) item.checked = false; } - ); + youtubeHelper.setInvidiousRedirectsChecks(myMightyList); + }); else - document.getElementById(element.id).addEventListener("change", - (event) => { - if (event.target.checked) - myMightyList.push(element.id) - else { - let index = myMightyList.indexOf(element.id); - if (index > -1) myMightyList.splice(index, 1); - } - - youtubeHelper.setInvidiousRedirectsChecks(myMightyList); - checkToggleAll(); + document.getElementById(element.id).addEventListener("change", (event) => { + if (event.target.checked) + myMightyList.push(element.id) + else { + let index = myMightyList.indexOf(element.id); + if (index > -1) myMightyList.splice(index, 1); } - ); + youtubeHelper.setInvidiousRedirectsChecks(myMightyList); + checkToggleAll(); + }); } checkToggleAll(); - mightyInvidiousCustomInstances = youtubeHelper.getInvidiousCustomRedirects(); calcCustom(); }); +function checkToggleAll() { + let isTrue = true; + for (const item of youtubeHelper.getRedirects().invidious.normal) + if (!myMightyList.includes(item)) { + isTrue = false; + break; + } + document.getElementById('invidious-toogle-all').checked = isTrue; +} + let invidiousCustomInstanceElement = document.getElementById("invidious-custom-instance") let mightyInvidiousCustomInstances = [] diff --git a/src/pages/stylesheets/styles.css b/src/pages/stylesheets/styles.css index 9046ce26..1d2e9428 100644 --- a/src/pages/stylesheets/styles.css +++ b/src/pages/stylesheets/styles.css @@ -19,7 +19,6 @@ body.light-theme { body { margin: auto; padding: 0; - min-height: 572px; font-family: Sans-Serif; background-color: var(--bg-main); color: var(--text); @@ -31,23 +30,11 @@ div.some-block input[type="checkbox"] { -webkit-appearance: none; } -h2 { - clear: both; - font-size: 12px; - font-weight: normal; - margin: 0; -} - -h1, -h2 { - color: var(--text); -} - input[type="url"], input[type="text"], select { padding: 5px 10px; - width: 400px; + width: 350px; border-radius: 3px; box-sizing: border-box; margin-bottom: var(--space); @@ -63,37 +50,11 @@ select { padding: 8px; background-color: var(--bg-secondary); border: none; - ; margin: 0; width: auto; border-radius: 3px; } -input[type="radio"] { - appearance: radio; - -moz-appearance: radio; - -webkit-appearance: radio; -} - -input[type="radio"]:checked+label { - background: transparent; -} - -input:checked+label { - background: var(--active); -} - -input:checked+label:after { - left: calc(100% - var(--space)); - transform: translateX(-100%); -} - -.settings-block { - display: block; - margin: 30px 0; - padding: 5px 15px; -} - a.button * { vertical-align: middle; } @@ -113,62 +74,6 @@ a.button:active { input:invalid { color: var(--danger); border-color: var(--danger); - background-color: var(--danger-light); -} - -.margin-bottom { - margin-bottom: 20px; -} - -div.exceptions { - clear: left; -} - -div.exceptions>input { - width: 240px; - float: left; -} - -#add-to-exceptions { - float: right; - border: var(--active) solid 1px; - background-color: var(--active); - color: var(--text); - font-weight: bold; - cursor: pointer; - border-radius: 50%; - padding: 1px 1px 0px 1px; - margin-right: 5px; -} - -#add-to-exceptions svg { - height: 20px; - width: 20px; -} - -ul { - padding: 0; - list-style-type: none; - color: var(--text); - margin: 20px 20px 0 20px; -} - -li { - white-space: nowrap; - border-bottom: solid 0.5px var(--bg-secondary); - padding: 20px 0px 20px 20px; -} - -#exceptions-items button { - float: right; - margin-right: -5px; - border: var(--active) solid 1px; - background-color: var(--active); - color: var(--text); - font-weight: bold; - cursor: pointer; - border-radius: 50%; - padding: 2px 2px 0px 2px; } .button svg { @@ -176,48 +81,6 @@ li { width: 18px; } -.autocomplete { - position: relative; - display: inline-block; - width: 100%; -} - -.autocomplete input { - background: url(../../assets/images/chevron-down.svg) right no-repeat; -} - -.autocomplete-items { - position: absolute; - border: 1px solid var(--bg-main); - border-bottom: none; - border-top: none; - z-index: 99; - top: 85%; - left: 0; - right: 0; - overflow-y: auto; - max-height: 175px; - color: var(--text); - overflow-x: hidden; - max-width: 380px; -} - -.autocomplete-items div { - padding: 10px; - cursor: pointer; - background-color: var(--bg-secondary); - border-bottom: 1px solid var(--bg-main); -} - -.autocomplete-items div:hover { - background-color: var(--active); -} - -.autocomplete-active { - background-color: var(--active); - color: var(--text); -} - section.option-block { width: 50%; margin: 0 50px; @@ -229,10 +92,6 @@ body.option { padding: 40px; } -section.links { - margin: 00px 0; -} - section.links a { display: flex; align-items: center; @@ -244,20 +103,13 @@ section.links a { transition: 0.1s; } -section.links a:hover { - color: var(--active); -} - +section.links a:hover, section.links a.selected { color: var(--active); } -.option td { - vertical-align: middle; -} - input[type="range"] { - width: 50%; + width: 350px; } ::placeholder { @@ -265,11 +117,6 @@ input[type="range"] { opacity: 0.7; } -input[type="text"]:focus, -input[type="url"]:focus { - outline: none; -} - #volume-value { color: var(--active); } @@ -328,7 +175,6 @@ h4 { div.some-block h4 { margin: 0; - /* width: 70%; */ } div.option-block h4 { @@ -356,10 +202,6 @@ div.some-block input[type="checkbox"]:checked { background-color: var(--active); } -div.some-block input[type="checkbox"]:focus { - outline: none; -} - div.some-block input[type="checkbox"]::before { content: ""; display: inline-block; @@ -372,7 +214,7 @@ div.some-block input[type="checkbox"]::before { height: 20px; background-color: white; border-radius: 50%; - transition: .4s; + transition: .3s; } div.some-block input[type="checkbox"]:checked::before { @@ -422,15 +264,6 @@ a.button:active { transform: translateY(1px); } -textarea { - line-height: 21px; - background-color: var(--bg-secondary); - color: white; - border: none; - resize: none; - width: 100%; -} - button.default { margin-left: 30px; background-color: transparent; @@ -455,11 +288,9 @@ div.checklist div { justify-content: space-between; margin: 5px 15px; padding: 10px 0; - /* border-bottom: 2px solid rgb(77, 77, 77); */ display: flex; } - button.add { background-color: transparent; border: none;