aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/assets/javascripts/data.js8
-rw-r--r--src/assets/javascripts/helpers/common.js65
-rw-r--r--src/assets/javascripts/helpers/instagram.js26
-rw-r--r--src/assets/javascripts/helpers/maps.js17
-rw-r--r--src/assets/javascripts/helpers/medium.js20
-rw-r--r--src/assets/javascripts/helpers/reddit.js15
-rw-r--r--src/assets/javascripts/helpers/search.js19
-rw-r--r--src/assets/javascripts/helpers/translate.js21
-rw-r--r--src/assets/javascripts/helpers/twitter.js23
-rw-r--r--src/assets/javascripts/helpers/wikipedia.js16
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube.js19
-rw-r--r--src/pages/options/general/general.html59
-rw-r--r--src/pages/options/general/general.js25
-rw-r--r--src/pages/options/instagram/instagram.html16
-rw-r--r--src/pages/options/medium/medium.html15
-rw-r--r--src/pages/options/reddit/reddit.html17
-rw-r--r--src/pages/options/search/search.html17
-rw-r--r--src/pages/options/twitter/twitter.html16
-rw-r--r--src/pages/options/wikipedia/wikipedia.html14
-rw-r--r--src/pages/options/youtube/youtube.html21
-rw-r--r--src/pages/options/youtube/youtube.js75
-rw-r--r--src/pages/stylesheets/styles.css177
22 files changed, 58 insertions, 643 deletions
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 @@
<span>Update Instances</span>
</a>
</div>
- <!-- <hr> -->
- <!-- <section class="settings-block">
- <p data-localise="__MSG_exceptionsDescriptionP1__">
- Enter a URL or Regular Expression to be excluded from redirects.
- </p>
- <p data-localise="__MSG_exceptionsDescriptionP2__">
- All requests for or initiating from a URL that matches your exception
- will be excluded from redirects.
- </p>
- <p data-localise="__MSG_exceptionsDescriptionP3__">
- Note - Supports JavaScript regular expressions, excluding the
- enclosing forward slashes.
- </p>
- </section>
- <section class="settings-block">
- <table class="exceptions option">
- <tbody>
- <tr>
- <td>
- <h1 data-localise="__MSG_addException__">Add Exception</h1>
- </td>
- </tr>
- <tr>
- <td>
- <input id="new-exceptions-item" type="text" placeholder="URL or RegExp" />
- </td>
- <td>
- <input type="radio" id="url" name="type" value="URL" checked />
- <label class="radio" for="url">URL</label>
- <input type="radio" id="regExp" name="type" value="RegExp" />
- <label class="radio" for="regExp">RegExp</label>
- </td>
- <td>
- <button id="add-to-exceptions">
- <svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512">
- <line x1="256" y1="112" x2="256" y2="400" style="
- fill: none;
- stroke: #fff;
- stroke-linecap: round;
- stroke-linejoin: round;
- stroke-width: 32px;
- " />
- <line x1="400" y1="256" x2="112" y2="256" style="
- fill: none;
- stroke: #fff;
- stroke-linecap: round;
- stroke-linejoin: round;
- stroke-width: 32px;
- " />
- </svg>
- </button>
- </td>
- </tr>
- </tbody>
- </table>
- </section>
- <ul id="exceptions-items"></ul>
- </section> -->
-
<script type="module" src="../init.js"></script>
<script type="module" src="./general.js"></script>
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 @@
<h4>Enable</h4>
<input id="disable-bibliogram" type="checkbox" checked />
</div>
- <!-- <div class="some-block option-block">
- <h4>Instance</h4>
- <div class="autocomplete">
- <input id="bibliogram-instance" type="url" data-localise-placeholder="__MSG_randomInstancePlaceholder__"
- placeholder="Random instance (none selected)" />
- </div>
- </div> -->
-
- <!-- <section class="settings-block">
- <h4>Instance List</h4>
- <div class="random-pool">
- <textarea id="bibliogram-random-pool" name="bibliogram-random-pool" type="text"></textarea>
- <ul id="bibliogram-random-pool-list"></ul>
- </div>
- </section> -->
-
</section>
<script type="module" src="../init.js"></script>
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 @@
<h4>Enable</h4>
<input id="disable-scribe" type="checkbox" checked />
</div>
- <!-- <div class="some-block option-block">
- <h4>Instance</h4>
- <div class="autocomplete">
- <input id="scribe-instance" type="url" name="scribe-instance"
- data-localise-placeholder="__MSG_randomInstancePlaceholder__"
- placeholder="Random instance (none selected)" />
- </div>
- </div>
- <section class="settings-block">
- <h4>Instance List</h4>
- <div class="random-pool">
- <textarea id="scribe-random-pool" type="text"></textarea>
- <ul id="scribe-random-pool-list"></ul>
- </div>
- </section> -->
</section>
<script type="module" src="../init.js"></script>
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 @@
<option value="teddit">Teddit</option>
</select>
</div>
-
- <!-- <section class="settings-block">
- <h4>LibReddit Instance List</h4>
- <div class="random-pool">
- <textarea id="libreddit-random-pool" type="text"></textarea>
- <ul id="libreddit-random-pool-list"></ul>
- </div>
- </section>
-
- <section class="settings-block">
- <h4>Teddit Instance List</h4>
- <div class="random-pool">
- <textarea id="teddit-random-pool" type="text"></textarea>
- <ul id="teddit-random-pool-list"></ul>
- </div>
- </section> -->
-
</section>
<script type="module" src="../init.js"></script>
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 @@
<option value="whoogle">Whoogle</option>
</select>
</div>
-<!--
- <section class="settings-block">
- <h4>SearX Instance List</h4>
- <div class="random-pool">
- <textarea id="searx-random-pool" type="text"></textarea>
- <ul id="searx-random-pool-list"></ul>
- </div>
- </section>
-
- <section class="settings-block">
- <h4>Whoogle Instance List</h4>
- <div class="random-pool">
- <textarea id="whoogle-random-pool" type="text"></textarea>
- <ul id="whoogle-random-pool-list"></ul>
- </div>
- </section> -->
-
</section>
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 @@
<h4>Enable</h4>
<input id="disable-nitter" type="checkbox" checked />
</div>
- <!-- <div class="some-block option-block">
- <h4>Instance</h4>
- <div class="autocomplete">
- <input id="nitter-instance" type="url" name="nitter-instance"
- data-localise-placeholder="__MSG_randomInstancePlaceholder__"
- placeholder="Random instance (none selected)" />
- </div>
- </div> -->
-
- <!-- <section class="settings-block">
- <h4>Instance List</h4>
- <div class="random-pool">
- <textarea id="nitter-random-pool" type="text"></textarea>
- <ul id="nitter-random-pool-list"></ul>
- </div>
- </section> -->
<div class="some-block option-block">
<h4 data-localise="__MSG_removeTwitterSW__">Proactively remove Twitter service worker</h4>
<input id="remove-twitter-sw" type="checkbox" checked />
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 @@
<h4>Enable</h4>
<input id="disable-wikipedia" type="checkbox" checked />
</div>
- <!-- <div class="some-block option-block">
- <h4>Instance</h4>
- <div class="autocomplete">
- <input id="wikipedia-instance" type="url" placeholder="https://wikiless.org" />
- </div>
- </div>
-
- <section class="settings-block">
- <h4>Instance List</h4>
- <div class="random-pool">
- <textarea id="wikiless-random-pool" type="text"></textarea>
- <ul id="wikiless-random-pool-list"></ul>
- </div>
- </section> -->
</section>
<script type="module" src="../init.js"></script>
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 @@
<input id="disable-invidious" type="checkbox" checked />
</div>
- <!-- <div class="some-block option-block">
- <h4>Instance</h4>
- <div class="autocomplete">
- <input id="invidious-instance" type="url" data-localise-placeholder="__MSG_randomInstancePlaceholder__"
- placeholder="Random instance (none selected)" />
- </div>
- </div> -->
-
- <!-- <section class="settings-block">
- <h4>Instance List</h4>
- <div class="random-pool">
- <textarea type="textarea" id="invidious-random-pool" name="invidious-random-pool"
- type="text"></textarea>
- <ul id="invidious-random-pool-list"></ul>
- </div>
- </section> -->
-
<div class="some-block option-block">
<h4>Frontend</h4>
<select id="youtube-frontend">
@@ -59,7 +42,6 @@
<hr>
<div id="invidious-piped">
-
<div class="some-block option-block">
<h4>Only Redirect Embedded-Video</h4>
<input id="only-embed" type="checkbox" checked />
@@ -108,7 +90,7 @@
</div>
<div class="some-block option-block">
- <h4 data-localise="__MSG_invidiousAlwaysProxy__">Always proxy videos</h4>
+ <h4>Always proxy videos</h4>
<select id="invidious-always-proxy">
<option value="DEFAULT">Default</option>
<option value="true">True</option>
@@ -151,7 +133,6 @@
<h4>Custom Instances</h4>
</div>
-
<form id="custom-instance-form">
<div class="some-block option-block">
<input id="invidious-custom-instance" placeholder="https://invidious.com" type="url" />
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;
- }
- }
- else {
- myMightyList = [];
- for (let item of checklistList) item.checked = false;
+ document.getElementById('invidious-toogle-all').addEventListener("change", (event) => {
+ if (event.target.checked)
+ for (let item of checklistList) {
+ myMightyList.push(item.id);
+ item.checked = true;
}
- 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;