aboutsummaryrefslogtreecommitdiffstats
path: root/src/assets
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-02-04 23:07:47 +0300
committerManeraKai <manerakai@protonmail.com>2022-02-04 23:07:47 +0300
commit236f839eacc42e3435fecd89c44ff40f5a2f57d2 (patch)
tree7bc73f51d7a3d20f32a09f2a71abccd560efb88b /src/assets
parentCleaning and refining settings (diff)
downloadlibredirect-236f839eacc42e3435fecd89c44ff40f5a2f57d2.zip
Refining code and design
Diffstat (limited to '')
-rw-r--r--src/assets/javascripts/helpers/common.js2
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube.js23
-rw-r--r--src/assets/javascripts/remove-twitter-sw.js217
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);
-// }
-//);