aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-02-05 18:45:37 +0300
committerManeraKai <manerakai@protonmail.com>2022-02-05 18:45:48 +0300
commit0f2dff5330bd1f41c8ca0ca68f7501dcf525ebc1 (patch)
tree979850c00a981487962ba68137aebae02dd64fd8 /src
parentAdded hard cancel requests, will be more improved (diff)
downloadlibredirect-0f2dff5330bd1f41c8ca0ca68f7501dcf525ebc1.zip
combining some of piped and invidious settings #14
Diffstat (limited to '')
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube.js18
-rw-r--r--src/pages/options/youtube/youtube.html51
-rw-r--r--src/pages/options/youtube/youtube.js4
-rw-r--r--src/pages/popup/popup.html3
-rw-r--r--src/pages/popup/popup.js12
5 files changed, 40 insertions, 48 deletions
diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js
index 49a3b31f..71eb0c38 100644
--- a/src/assets/javascripts/helpers/youtube/youtube.js
+++ b/src/assets/javascripts/helpers/youtube/youtube.js
@@ -180,7 +180,6 @@ function isYoutube(url) {
...targets,
...invidiousHostNames(),
]
- console.log("mightyList.includes(url.host)", mightyList.includes(url.host))
return mightyList.includes(url.host);
} else
return targets.includes(url.host)
@@ -244,7 +243,7 @@ function redirect(url, initiator, type) {
)
return null;
- if (url.host.split(".")[0] === "studio") return null;// Avoid `studio.youtube.com`
+ if (url.hostname == "studio.youtube.com") return null;
if (url.pathname.match(/iframe_api/) || url.pathname.match(/www-widgetapi/)) return null; // Don't redirect YouTube Player API.
@@ -265,20 +264,21 @@ function redirect(url, initiator, type) {
let randomInstance = commonHelper.getRandomInstance(redirects.invidious.normal)
- return `${randomInstance}${url.pathname.replace("/shorts", "")}${url.search}`;
+ return `${randomInstance}${url.pathname.replace("/shorts/", "/watch?v=")}${url.search}`;
} else if (frontend == 'piped') {
if (invidiousOnlyEmbeddedVideo && type !== "sub_frame") return null;
+
+ if (invidiousTheme != "DEFAULT") url.searchParams.append("theme", invidiousTheme);
+ if (invidiousVolume != "--") url.searchParams.append("volume", invidiousVolume / 100);
+ if (invidiousAutoplay != "DEFAULT") url.searchParams.append("playerAutoPlay", invidiousAutoplay);
+
let randomInstance = commonHelper.getRandomInstance(redirects.piped.normal);
- if (
- url.hostname.endsWith("youtube.com") ||
- url.hostname.endsWith("youtube-nocookie.com") ||
- invidiousHostNames().includes(url.hostname)
- )
- return `${randomInstance}${url.pathname}${url.search}`;
+ if (url.hostname.endsWith("youtube.com") || url.hostname.endsWith("youtube-nocookie.com") || invidiousHostNames().includes(url.hostname))
+ return `${randomInstance}${url.pathname.replace("/shorts/", "/watch?v=")}${url.search}`;
if (url.hostname.endsWith("youtu.be") && url.pathname.length > 1)
return `${randomInstance}/watch?v=${url.pathname.substring(1)}`;
diff --git a/src/pages/options/youtube/youtube.html b/src/pages/options/youtube/youtube.html
index d5db771c..d13da9cc 100644
--- a/src/pages/options/youtube/youtube.html
+++ b/src/pages/options/youtube/youtube.html
@@ -56,30 +56,13 @@
</select>
</div>
- <div class="some-block option-block">
- <h4>Only Redirect Embedded-Video</h4>
- <input id="only-embed" type="checkbox" checked />
- </div>
-
<hr>
- <div id="invidious">
- <div class="some-block option-block">
- <h4>Theme</h4>
- <select id="invidious-theme">
- <option value="DEFAULT">Default</option>
- <option value="dark">Dark</option>
- <option value="light">Light</option>
- </select>
- </div>
+ <div id="invidious-piped">
<div class="some-block option-block">
- <h4>Player Style</h4>
- <select id="invidious-player-style">
- <option value="DEFAULT">Default</option>
- <option value="invidious">Invidious</option>
- <option value="youtube">YouTube</option>
- </select>
+ <h4>Only Redirect Embedded-Video</h4>
+ <input id="only-embed" type="checkbox" checked />
</div>
<div class="some-block option-block">
@@ -96,11 +79,11 @@
</div>
<div class="some-block option-block">
- <h4 data-localise="__MSG_invidiousAlwaysProxy__">Always proxy videos</h4>
- <select id="invidious-always-proxy">
+ <h4>Theme</h4>
+ <select id="invidious-theme">
<option value="DEFAULT">Default</option>
- <option value="true">True</option>
- <option value="true">False</option>
+ <option value="dark">Dark</option>
+ <option value="light">Light</option>
</select>
</div>
@@ -109,6 +92,26 @@
<select id="invidious-autoplay">
<option value="DEFAULT">Default</option>
<option value="true">True</option>
+ <option value="false">False</option>
+ </select>
+ </div>
+ </div>
+
+ <div id="invidious">
+ <div class="some-block option-block">
+ <h4>Player Style</h4>
+ <select id="invidious-player-style">
+ <option value="DEFAULT">Default</option>
+ <option value="invidious">Invidious</option>
+ <option value="youtube">YouTube</option>
+ </select>
+ </div>
+
+ <div class="some-block option-block">
+ <h4 data-localise="__MSG_invidiousAlwaysProxy__">Always proxy videos</h4>
+ <select id="invidious-always-proxy">
+ <option value="DEFAULT">Default</option>
+ <option value="true">True</option>
<option value="true">False</option>
</select>
</div>
diff --git a/src/pages/options/youtube/youtube.js b/src/pages/options/youtube/youtube.js
index a1d540f2..f4caf923 100644
--- a/src/pages/options/youtube/youtube.js
+++ b/src/pages/options/youtube/youtube.js
@@ -6,16 +6,20 @@ 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")
function changeFrontendsSettings(frontend) {
if (frontend == 'piped') {
+ invidiousPipedDivElement.style.display = 'block'
pipedDivElement.style.display = 'block';
invidiousDivElement.style.display = 'none';
}
else if (frontend == 'invidious') {
+ invidiousPipedDivElement.style.display = 'block'
pipedDivElement.style.display = 'none';
invidiousDivElement.style.display = 'block';
}
else if (frontend == 'freeTube') {
+ invidiousPipedDivElement.style.display = 'none'
pipedDivElement.style.display = 'none';
invidiousDivElement.style.display = 'none';
}
diff --git a/src/pages/popup/popup.html b/src/pages/popup/popup.html
index abb4259d..52aa11f1 100644
--- a/src/pages/popup/popup.html
+++ b/src/pages/popup/popup.html
@@ -55,9 +55,6 @@
</div>
<div class="buttons">
- <a class="button" id="update-instances">
- <span>Update Instances&nbsp;</span>
- </a>
<a class="button" id="more-options">
<span data-localise="__MSG_moreOptions__">More Options&nbsp;</span>
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512">
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index 221d9c2a..11561d7b 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -86,18 +86,6 @@ disableMediumElement.addEventListener("change",
(event) => mediumHelper.setDisableMedium(!event.target.checked)
);
-document.querySelector("#update-instances").addEventListener("click", () => {
- document.querySelector("#update-instances").innerHTML = '...';
- if (commonHelper.updateInstances()) {
- document.querySelector("#update-instances").innerHTML = 'Done!';
- new Promise(resolve => setTimeout(resolve, 1500)).then( // Sleep 1500ms
- () => document.querySelector("#update-instances").innerHTML = 'Update Instances'
- )
- }
- else
- document.querySelector("#update-instances").innerHTML = 'Failed Miserabely';
-});
-
document.querySelector("#more-options").addEventListener("click", () => {
browser.runtime.openOptionsPage();
});