From 155eddbf07d73f12639ed6470497f925a33e32f2 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Thu, 27 Jan 2022 14:58:10 +0300 Subject: Updating and Cleaning UI #9 --- src/pages/options/options.html | 951 +++++++++++++---------------------------- src/pages/options/options.js | 58 ++- 2 files changed, 327 insertions(+), 682 deletions(-) (limited to 'src/pages/options') diff --git a/src/pages/options/options.html b/src/pages/options/options.html index 5b68ed10..286cef51 100644 --- a/src/pages/options/options.html +++ b/src/pages/options/options.html @@ -1,692 +1,323 @@ - - - - - - Privacy Redirect Options - - - -
- - - + + + + + + + LibRedirect Options + + + +
+ + + +
+ +
+ +
+

Theme

+
-
-
- - - - - - - -
-

Nitter Redirects

-
-   - -
-
-
- - - - - - - -
-

- Invidious Redirects -

-
-   - -
-
-
- - - - - - - -
-

- Bibliogram Redirects -

-
-   - -
-
-
- - - - - - - -
-

- OpenStreetMap Redirects -

-
-   - -
-
-
- - - - - - - -
-

- Reddit Redirects -

-
-   - -
-
-
- - - - - - - -
-

- Scribe Redirects -

-
-   - -
-
-
- - - - - - - -
-

- Search Engine Redirects -

-
-   - -
-
-
- - - - - - - -
-

SimplyTranslate Redirects

-
-   - -
-
-
- - - - - - - -
-

Wikipedia Redirects

-
-   - -
-
-
-

Nitter Instance

-
- -
-
-
-

Invidious Instance

-
- -
-
-
-

Bibliogram Instance

-
- -
-
+
+

Youtube (Invidious)

+ +
+
+
+ +
+
+ +
+

Twitter (Nitter)

+ +
+
+
+ +
+
+ +
+

Instagram (Bibliogram)

+ +
+
+
+ +
+
+ +
+

Reddit (LibReddit)

+ +
+
+
+ +
+
+ +
+

Search

+ +
+
+
+ +
+
+ +
+

Translate (SimplyTranslate)

+ +
+
+
+ +
+
+ +
+

Maps (OpenStreetMaps)

+ +
+
+
+ +
+
+ +
+

Wikipedia (Wikiless)

+ +
+
+
+ +
+
+ +
+

Medium (Scribe)

+ +
+
+
+ +
+
+ + +
+ +
+ + +
-

OpenStreetMap Instance

-
- -
+

+ Invidious random instance pool (comma-separated) +

+
+ +
+

Use FreeTube over Invidious when possible

+ +
+ +
+

Always proxy videos through Invidious

+ +
+ +
+

Only redirect embedded video to Invidious

+ +
+
-

Reddit Instance

-
- -
+

Invidious Video Quality

+
+ + +
+

Invidious dark mode always on

+ +
+
-

Scribe Instance

-
- -
+

+ Invidious Volume:  +

+ +
+ +
+ +
+

Invidious Player Style

+ +
+ +
-

Search Engine Instance

-
- -
+

+ Invidious Subtitles - language codes (comma-separated) +

+
+ +
+

Invidious automatically play video on load

+ +
+ +
+

Persist Invidious preferences (as cookie)

+ +
+
+ +
-

SimplyTranslate Instance

-
- -
+

+ Nitter random instance pool (comma-separated) +

+
+
+

Proactively remove Twitter service worker

+ +
+
+ +
-

Wikipedia Instance

-
- -
+

+ Bibliogram random instance pool (comma-separated) +

+
+ +
+ +
-

Theme

- +

+ Scribe random instance pool (comma-separated) +

+
+
-
- -
-
-

- Invidious random instance pool (comma-separated) -

- -
-
- - - - - - - -
-

- Use FreeTube over Invidious when possible -

-
-   - -
-
-
- - - - - - - -
-

- Always proxy videos through Invidious -

-
-   - -
-
-
- - - - - - - -
-

- Only redirect embedded video to Invidious -

-
-   - -
-
-
-

Invidious Video Quality

- -
-
- - - - - - - -
-

- Invidious dark mode always on -

-
-   - -
-
-
-

- Invidious Volume -

- -
-
-

- Invidious Player Style -

- -
-
-

- Invidious Subtitles - language codes (comma-separated) -

- -
-
- - - - - - - -
-

- Invidious automatically play video on load -

-
-   - -
-
-
- - - - - - - -
-

- Persist Invidious preferences (as cookie) -

-
-   - -
-
-
-
- -
-
-

- Nitter random instance pool (comma-separated) -

- -
-
- - - - - - - -
-

- Proactively remove Twitter service worker -

-
-   - -
-
-
-
- -
-
-

- Bibliogram random instance pool (comma-separated) -

- -
-
-

- Scribe random instance pool (comma-separated) -

- -
-
-
-
-
-
-

- Enter a URL or Regular Expression to be excluded from redirects. -

-

- All requests for or initiating from a URL that matches your exception - will be excluded from redirects. -

-

- Note - Supports JavaScript regular expressions, excluding the - enclosing forward slashes. -

-
-
- - - - - - - - - + + +
-

Add Exception

-
- - - - - - - - +
+
+
    +
    + + + + - - - - + \ No newline at end of file diff --git a/src/pages/options/options.js b/src/pages/options/options.js index fea94110..639d351b 100644 --- a/src/pages/options/options.js +++ b/src/pages/options/options.js @@ -29,10 +29,8 @@ let bibliogramInstance = document.getElementById("bibliogram-instance"); let osmInstance = document.getElementById("osm-instance"); let redditInstance = document.getElementById("reddit-instance"); let scribeInstance = document.getElementById("scribe-instance"); -let searchEngineInstance = document.getElementById("search-engine-instance"); -let simplyTranslateInstance = document.getElementById( - "simply-translate-instance" -); +let searchEngineInstance = document.getElementById("searchEngine-instance"); +let simplyTranslateInstance = document.getElementById("simplyTranslate-instance"); let wikipediaInstance = document.getElementById("wikipedia-instance"); let disableNitter = document.getElementById("disable-nitter"); let disableInvidious = document.getElementById("disable-invidious"); @@ -40,9 +38,9 @@ let disableBibliogram = document.getElementById("disable-bibliogram"); let disableOsm = document.getElementById("disable-osm"); let disableReddit = document.getElementById("disable-reddit"); let disableScribe = document.getElementById("disable-scribe"); -let disableSearchEngine = document.getElementById("disable-search-engine"); +let disableSearchEngine = document.getElementById("disable-searchEngine"); let disableSimplyTranslate = document.getElementById( - "disable-simply-translate" + "disable-simplyTranslate" ); let disableWikipedia = document.getElementById("disable-wikipedia"); let alwaysProxy = document.getElementById("always-proxy"); @@ -177,22 +175,22 @@ browser.storage.sync.get( result.scribeRandomPool || commonHelper.filterInstances(scribeInstances); autocompletes = [ - { id: "nitter-instance", instances: nitterRandomPool.value.split(',') }, - { id: "invidious-instance", instances: invidiousRandomPool.value.split(',') }, - { id: "bibliogram-instance", instances: bibliogramRandomPool.value.split(',') }, - { id: "scribe-instance", instances: scribeRandomPool.value.split(',') }, - { id: "reddit-instance", instances: redditInstances }, - { id: "osm-instance", instances: osmInstances }, - { - id: "search-engine-instance", - instances: searchEngineInstances.map((instance) => instance.link), - }, - { id: "simply-translate-instance", instances: simplyTranslateInstances }, - { id: "wikipedia-instance", instances: wikipediaInstances }, - ]; + { id: "nitter-instance", instances: nitterRandomPool.value.split(',') }, + { id: "invidious-instance", instances: invidiousRandomPool.value.split(',') }, + { id: "bibliogram-instance", instances: bibliogramRandomPool.value.split(',') }, + { id: "scribe-instance", instances: scribeRandomPool.value.split(',') }, + { id: "reddit-instance", instances: redditInstances }, + { id: "osm-instance", instances: osmInstances }, + { + id: "searchEngine-instance", + instances: searchEngineInstances.map((instance) => instance.link), + }, + { id: "simplyTranslate-instance", instances: simplyTranslateInstances }, + { id: "wikipedia-instance", instances: wikipediaInstances }, + ]; autocompletes.forEach((value) => { autocomplete(document.getElementById(value.id), value.instances); - }); + }); } ); @@ -449,7 +447,7 @@ const invidiousVolumeChange = debounce(() => { browser.storage.sync.set({ invidiousVolume: invidiousVolume.value, }); -}, 500); +}, 1); invidiousVolume.addEventListener("input", invidiousVolumeChange); invidiousPlayerStyle.addEventListener("change", (event) => { @@ -604,7 +602,6 @@ function autocomplete(input, list) { var coll = document.getElementsByClassName("collapsible"); var i; - for (i = 0; i < coll.length; i++) { coll[i].addEventListener("click", function () { this.classList.toggle("collapsible-active"); @@ -616,3 +613,20 @@ for (i = 0; i < coll.length; i++) { } }); } + +const apiEndpoint = 'https://raw.githubusercontent.com/libredirect/instances/main/data.json'; +document.querySelector("#update-instances").addEventListener("click", () => { + document.querySelector("#update-instances").innerHTML = '...'; + let request = new XMLHttpRequest(); + request.open('GET', apiEndpoint, false); + request.send(null); + + if (request.status === 200) { + const instances = JSON.parse(request.responseText); + const nitterRandomPool = instances.twitter.join(','); + const invidiousRandomPool = instances.youtube.join(','); + const bibliogramRandomPool = instances.instagram.join(','); + browser.storage.sync.set({ nitterRandomPool, invidiousRandomPool, bibliogramRandomPool }); + document.querySelector("#update-instances").innerHTML = 'Done!'; + } +}); \ No newline at end of file -- cgit 1.4.1