From 944f2e6ef09a1534bac061acca2e3b3a4c13b13a Mon Sep 17 00:00:00 2001 From: SimonBrazell Date: Sun, 10 Jan 2021 22:04:03 +1100 Subject: Restructure code with helper modules, add search engine settings, & advanced settings collapsibles. --- assets/javascript/localise.js | 19 ------ assets/javascript/persist-invidious-prefs.js | 30 --------- assets/javascript/remove-twitter-sw.js | 92 ---------------------------- 3 files changed, 141 deletions(-) delete mode 100644 assets/javascript/localise.js delete mode 100644 assets/javascript/persist-invidious-prefs.js delete mode 100644 assets/javascript/remove-twitter-sw.js (limited to 'assets/javascript') diff --git a/assets/javascript/localise.js b/assets/javascript/localise.js deleted file mode 100644 index cbe5c191..00000000 --- a/assets/javascript/localise.js +++ /dev/null @@ -1,19 +0,0 @@ -window.browser = window.browser || window.chrome; - -function localisePage() { - var data = document.querySelectorAll("[data-localise]"); - - for (var i in data) - if (data.hasOwnProperty(i)) { - var obj = data[i]; - var tag = obj.getAttribute("data-localise").toString(); - - var msg = tag.replace(/__MSG_(\w+)__/g, function (_match, v1) { - return v1 ? browser.i18n.getMessage(v1) : null; - }); - - if (msg && msg !== tag) obj.textContent = msg; - } -} - -localisePage(); diff --git a/assets/javascript/persist-invidious-prefs.js b/assets/javascript/persist-invidious-prefs.js deleted file mode 100644 index 4c13a310..00000000 --- a/assets/javascript/persist-invidious-prefs.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -window.browser = window.browser || window.chrome; - -function getCookie() { - let ca = document.cookie.split(';'); - for (let i = 0; i < ca.length; i++) { - let c = ca[i]; - while (c.charAt(0) == ' ') c = c.substring(1, c.length); - if (c.indexOf('PREFS=') == 0) { - return JSON.parse( - decodeURIComponent(c.substring('PREFS='.length, c.length)) - ) - }; - } - return {}; -} - -browser.storage.sync.get( - ['alwaysProxy', 'videoQuality', 'invidiousDarkMode', 'persistInvidiousPrefs'], - (result) => { - if (result.persistInvidiousPrefs) { - const prefs = getCookie(); - prefs.local = result.alwaysProxy; - prefs.quality = result.videoQuality; - prefs.dark_mode = result.invidiousDarkMode; - document.cookie = `PREFS=${encodeURIComponent(JSON.stringify(prefs))}`; - } - } -); \ No newline at end of file diff --git a/assets/javascript/remove-twitter-sw.js b/assets/javascript/remove-twitter-sw.js deleted file mode 100644 index f74ff89f..00000000 --- a/assets/javascript/remove-twitter-sw.js +++ /dev/null @@ -1,92 +0,0 @@ -"use strict"; - -const nitterInstances = [ - "https://nitter.net", - "https://nitter.snopyta.org", - "https://nitter.42l.fr", - "https://nitter.nixnet.services", - "https://nitter.13ad.de", - "https://nitter.pussthecat.org", - "https://nitter.mastodont.cat", - "https://nitter", - "https://nitter.tedomum.net", - "https://nitter.cattube.org", - "https://nitter.fdn.fr", - "https://nitter.1d4.us", - "https://nitter.kavin.rocks", - "https://nitter.unixfox.eu", -]; - -let disableNitter; -let nitterInstance; -let redirectBypassFlag; -let exceptions; - -window.browser = window.browser || window.chrome; - -function getRandomInstance() { - return nitterInstances[~~(nitterInstances.length * Math.random())]; -} - -function isNotException(url) { - return !exceptions.some((regex) => regex.test(url.href)); -} - -function shouldRedirect(url) { - return ( - !redirectBypassFlag && - isNotException(url) && - !disableNitter && - url.host !== nitterInstance && - !url.pathname.includes("/home") - ); -} - -function redirectTwitter(url) { - if (url.host.split(".")[0] === "pbs") { - return `${nitterInstance}/pic/${encodeURIComponent(url.href)}`; - } else if (url.host.split(".")[0] === "video") { - return `${nitterInstance}/gif/${encodeURIComponent(url.href)}`; - } else { - return `${nitterInstance}${url.pathname}${url.search}`; - } -} - -browser.storage.sync.get( - [ - "nitterInstance", - "disableNitter", - "removeTwitterSW", - "redirectBypassFlag", - "exceptions", - ], - (result) => { - redirectBypassFlag = result.redirectBypassFlag; - browser.storage.sync.set({ - redirectBypassFlag: false, - }); - if (!result.removeTwitterSW) { - disableNitter = result.disableNitter; - nitterInstance = result.nitterInstance || getRandomInstance(); - exceptions = result.exceptions - ? result.exceptions.map((e) => { - return new RegExp(e); - }) - : []; - navigator.serviceWorker.getRegistrations().then((registrations) => { - for (let registration of registrations) { - if (registration.scope === "https://twitter.com/") { - registration.unregister(); - console.log("Unregistered Twitter SW", registration); - } - } - }); - const url = new URL(window.location); - if (shouldRedirect(url)) { - const redirect = redirectTwitter(url); - console.info("Redirecting", `"${url.href}"`, "=>", `"${redirect}"`); - window.location = redirect; - } - } - } -); -- cgit 1.4.1