From e9cfde78804781b25d9b746f5118a00ffe17d958 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Wed, 16 Feb 2022 23:35:57 +0300 Subject: Added embeddedFrontend option to freetube #40 --- src/pages/background/background.js | 2 +- src/pages/options/youtube/youtube.html | 15 ++++++++++-- src/pages/options/youtube/youtube.js | 42 ++++++++++++++++++++++++++++++---- 3 files changed, 52 insertions(+), 7 deletions(-) (limited to 'src/pages') diff --git a/src/pages/background/background.js b/src/pages/background/background.js index 8e16159e..9f39ff31 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -92,7 +92,7 @@ browser.webRequest.onResponseStarted.addListener( var mightyList = getMightyList(); if (mightyList.includes(protocolHost)); { - if (responseDetails.statusCode >= 500) { + if (responseDetails.statusCode >= 500 && responseDetails.type === "main_frame") { console.log("Instance is corrupted, redirecting", responseDetails.url); changeInstance(responseDetails.url); } diff --git a/src/pages/options/youtube/youtube.html b/src/pages/options/youtube/youtube.html index 82556660..2d8c75e9 100644 --- a/src/pages/options/youtube/youtube.html +++ b/src/pages/options/youtube/youtube.html @@ -119,12 +119,24 @@
+
+
+

Embedded Videos Frontend

+ +
+
+
+

Redirect Type

@@ -237,7 +249,6 @@
-

diff --git a/src/pages/options/youtube/youtube.js b/src/pages/options/youtube/youtube.js index 52063dfb..e757e2fb 100644 --- a/src/pages/options/youtube/youtube.js +++ b/src/pages/options/youtube/youtube.js @@ -3,22 +3,45 @@ import youtubeHelper from "../../../assets/javascripts/helpers/youtube/youtube.j let disableYoutubeElement = document.getElementById("disable-invidious"); let youtubeFrontendElement = document.getElementById("youtube-frontend"); -let invidiousDivElement = document.getElementById("invidious") -let pipedDivElement = document.getElementById("piped") -let invidiousPipedDivElement = document.getElementById("invidious-piped") +let invidiousDivElement = document.getElementById("invidious"); +let pipedDivElement = document.getElementById("piped"); +let invidiousPipedDivElement = document.getElementById("invidious-piped"); +let freetubeDivElement = document.getElementById("freetube"); +let freetubeFrontendElement = document.getElementById("freetube-embedded-frontend"); function changeFrontendsSettings(frontend) { if (frontend == 'piped') { invidiousPipedDivElement.style.display = 'block' pipedDivElement.style.display = 'block'; invidiousDivElement.style.display = 'none'; + freetubeDivElement.style.display = 'none'; } else if (frontend == 'invidious') { invidiousPipedDivElement.style.display = 'block' pipedDivElement.style.display = 'none'; invidiousDivElement.style.display = 'block'; + freetubeDivElement.style.display = 'none'; } - else if (frontend == 'freeTube') { + else if (frontend == 'freetube') { + invidiousPipedDivElement.style.display = 'none' + pipedDivElement.style.display = 'none'; + invidiousDivElement.style.display = 'none'; + freetubeDivElement.style.display = 'block'; + } +} + +function changeFreetubeFrontendsSettings(freetubeFrontend) { + if (freetubeFrontend == 'invidious') { + invidiousPipedDivElement.style.display = 'block' + pipedDivElement.style.display = 'none'; + invidiousDivElement.style.display = 'block'; + } + if (freetubeFrontend == 'piped') { + invidiousPipedDivElement.style.display = 'block' + pipedDivElement.style.display = 'block'; + invidiousDivElement.style.display = 'none'; + } + else if (freetubeFrontend == 'youtube') { invidiousPipedDivElement.style.display = 'none' pipedDivElement.style.display = 'none'; invidiousDivElement.style.display = 'none'; @@ -31,6 +54,13 @@ youtubeFrontendElement.addEventListener("change", changeFrontendsSettings(frontend); } ); +freetubeFrontendElement.addEventListener("change", + (event) => { + let freetubeFrontend = event.target.options[freetubeFrontendElement.selectedIndex].value + youtubeHelper.setFreetubeFrontend(freetubeFrontend); + changeFreetubeFrontendsSettings(freetubeFrontend); + } +); disableYoutubeElement.addEventListener("change", (event) => youtubeHelper.setDisable(!event.target.checked) @@ -84,4 +114,8 @@ youtubeHelper.init().then(() => { let frontend = youtubeHelper.getFrontend(); youtubeFrontendElement.value = frontend; changeFrontendsSettings(frontend); + + let freetubeFrontend = youtubeHelper.getFreetubeFrontend() + freetubeFrontendElement.value = freetubeFrontend + changeFreetubeFrontendsSettings(freetubeFrontend); }); -- cgit 1.4.1