diff options
Diffstat (limited to 'src/assets')
-rw-r--r-- | src/assets/javascripts/helpers/common.js | 2 | ||||
-rw-r--r-- | src/assets/javascripts/helpers/youtube/youtube.js | 23 | ||||
-rw-r--r-- | src/assets/javascripts/remove-twitter-sw.js | 217 |
3 files changed, 68 insertions, 174 deletions
diff --git a/src/assets/javascripts/helpers/common.js b/src/assets/javascripts/helpers/common.js index d7b65881..373929f6 100644 --- a/src/assets/javascripts/helpers/common.js +++ b/src/assets/javascripts/helpers/common.js @@ -28,7 +28,7 @@ function updateInstances() { if (request.status === 200) { const instances = JSON.parse(request.responseText); - youtubeHelper.setRedirects(instances.invidious); + youtubeHelper.setInvidiousRedirects(instances.invidious); twitterHelper.setRedirects(instances.nitter); diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js index 547e2614..daea8b7e 100644 --- a/src/assets/javascripts/helpers/youtube/youtube.js +++ b/src/assets/javascripts/helpers/youtube/youtube.js @@ -105,12 +105,12 @@ function setInvidiousVideoQuality(val) { } const getInvidiousVideoQuality = () => invidiousVideoQuality; -let invidiousDarkMode; -const getInvidiousDarkMode = () => invidiousDarkMode; -function setInvidiousDarkMode(val) { - invidiousDarkMode = val; - browser.storage.sync.set({ invidiousDarkMode }) - console.log("invidiousDarkMode: ", invidiousDarkMode) +let invidiousTheme; +const getInvidiousTheme = () => invidiousTheme; +function setInvidiousTheme(val) { + invidiousTheme = val; + browser.storage.sync.set({ invidiousTheme }) + console.log("invidiousTheme: ", invidiousTheme) } let invidiousVolume; @@ -179,7 +179,7 @@ async function init() { [ "invidiousAlwaysProxy", "invidiousVideoQuality", - "invidiousDarkMode", + "invidiousTheme", "persistInvidiousPrefs", "disableYoutube", "invidiousInstance", @@ -201,7 +201,7 @@ async function init() { invidiousAlwaysProxy = result.invidiousAlwaysProxy ?? true; invidiousOnlyEmbeddedVideo = result.invidiousOnlyEmbeddedVideo ?? false; invidiousVideoQuality = result.invidiousVideoQuality ?? 'medium'; - invidiousDarkMode = result.invidiousDarkMode ?? true; + invidiousTheme = result.invidiousTheme ?? 'dark'; invidiousVolume = result.invidiousVolume ?? 50; invidiousPlayerStyle = result.invidiousPlayerStyle ?? 'invidious'; invidiousSubtitles = result.invidiousSubtitles || ''; @@ -250,7 +250,7 @@ function redirect(url, initiator, type) { url.searchParams.append("local", invidiousAlwaysProxy); url.searchParams.append("quality", invidiousVideoQuality); - url.searchParams.append("dark_mode", invidiousDarkMode); + url.searchParams.append("dark_mode", invidiousTheme); url.searchParams.append("volume", invidiousVolume); url.searchParams.append("player_style", invidiousPlayerStyle); url.searchParams.append("subtitles", invidiousSubtitles); @@ -271,7 +271,6 @@ function redirect(url, initiator, type) { } } - export default { invidiousInitCookies, @@ -300,8 +299,8 @@ export default { setInvidiousVideoQuality, getInvidiousVideoQuality, - setInvidiousDarkMode, - getInvidiousDarkMode, + setInvidiousTheme, + getInvidiousTheme, setInvidiousVolume, getInvidiousVolume, diff --git a/src/assets/javascripts/remove-twitter-sw.js b/src/assets/javascripts/remove-twitter-sw.js index 36a8d9b3..cb8abc43 100644 --- a/src/assets/javascripts/remove-twitter-sw.js +++ b/src/assets/javascripts/remove-twitter-sw.js @@ -1,24 +1,5 @@ "use strict"; -const nitterInstances = [ - "https://nitter.net", - "https://nitter.snopyta.org", - "https://nitter.42l.fr", - "https://nitter.nixnet.services", - "https://nitter.pussthecat.org", - "https://nitter.dark.fail", - "https://nitter.tedomum.net", - "https://nitter.cattube.org", - "https://nitter.fdn.fr", - "https://nitter.1d4.us", - "https://nitter.kavin.rocks", - "https://tweet.lambda.dance", - "https://nitter.cc", - "https://nitter.vxempire.xyz", - "https://nitter.unixfox.eu", - "https://bird.trom.tf" -]; - let disableTwitter; let nitterInstance; let redirectBypassFlag; @@ -26,153 +7,67 @@ 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)); -} +Promise.all([ + import(browser.extension.getURL("src/assets/javascripts/helpers/common.js")), + import(browser.extension.getURL("src/assets/javascripts/helpers/twitter.js")), +]).then( + (helpers) => { + let commonHelper; + let twitterHelper; + [commonHelper, twitterHelper] = helpers; -function shouldRedirect(url) { - return (!redirectBypassFlag && isNotException(url) && !disableTwitter && url.host !== nitterInstance && !url.pathname.includes("/home")); -} + function shouldRedirect(url) { + return ( + !redirectBypassFlag && + !disableTwitter && + 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}`; - } -} + 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", - "disableTwitter", - "removeTwitterSW", - "redirectBypassFlag", - "exceptions", - ], - (result) => { - redirectBypassFlag = result.redirectBypassFlag; - browser.storage.sync.set({ redirectBypassFlag: false }); - if (!result.removeTwitterSW) { - disableTwitter = result.disableTwitter; - 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); + browser.storage.sync.get( + [ + "nitterInstance", + "disableTwitter", + "removeTwitterSW", + "redirectBypassFlag", + "exceptions", + ], + (result) => { + redirectBypassFlag = result.redirectBypassFlag; + browser.storage.sync.set({ redirectBypassFlag: false }); + if (!result.removeTwitterSW) { + disableTwitter = result.disableTwitter; + nitterInstance = result.nitterInstance ?? commonHelper.default.getRandomInstance(twitterHelper.default.redirects); + exceptions = result.exceptions ? result.exceptions.map((e) => 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; } } - }); - const url = new URL(window.location); - if (shouldRedirect(url)) { - const redirect = redirectTwitter(url); - console.info("Redirecting", `"${url.href}"`, "=>", `"${redirect}"`); - window.location = redirect; } - } + ); + }, + (error) => { + console.error(error); } ); - -// Keeping this here until https://bugzilla.mozilla.org/show_bug.cgi?id=1536094 is fixed... -// -//"use strict"; -// -//let disableTwitter; -//let nitterInstance; -//let redirectBypassFlag; -//let exceptions; -// -//window.browser = window.browser || window.chrome; -// -//Promise.all([ -// import(browser.extension.getURL("src/assets/javascripts/helpers/common.js")), -// import(browser.extension.getURL("src/assets/javascripts/helpers/twitter.js")), -//]).then( -// (helpers) => { -// let commonHelper; -// let twitterHelper; -// [commonHelper, twitterHelper] = helpers; -// -// function isNotException(url) { -// return !exceptions.some((regex) => regex.test(url.href)); -// } -// -// function shouldRedirect(url) { -// return ( -// !redirectBypassFlag && -// isNotException(url) && -// !disableTwitter && -// 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", -// "disableTwitter", -// "removeTwitterSW", -// "redirectBypassFlag", -// "exceptions", -// ], -// (result) => { -// redirectBypassFlag = result.redirectBypassFlag; -// browser.storage.sync.set({ -// redirectBypassFlag: false, -// }); -// if (!result.removeTwitterSW) { -// disableTwitter = result.disableTwitter; -// nitterInstance = -// result.nitterInstance || -// commonHelper.default.getRandomInstance( -// twitterHelper.default.redirects -// ); -// 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; -// } -// } -// } -// ); -// }, -// (error) => { -// console.error(error); -// } -//); |