144 lines
7.1 KiB
JavaScript
144 lines
7.1 KiB
JavaScript
import youtubeHelper from "../../../assets/javascripts/helpers/youtube/youtube.js";
|
|
import commonHelper from "../../../assets/javascripts/helpers/common.js";
|
|
|
|
let pipedMaterialElement = document.getElementById('pipedMaterial');
|
|
let listenElement = pipedMaterialElement.getElementsByClassName("listen")[0];
|
|
let disableLBRYElement = pipedMaterialElement.getElementsByClassName("disableLBRY")[0];
|
|
let proxyLBRYElement = pipedMaterialElement.getElementsByClassName("proxyLBRY")[0];
|
|
let sponsorblockElement = pipedMaterialElement.getElementsByClassName("sponsorblock")[0];
|
|
let skipToLastPointElement = pipedMaterialElement.getElementsByClassName("skipToLastPoint")[0];
|
|
|
|
let selectedSkipSponsorElement = pipedMaterialElement.getElementsByClassName("selectedSkip-sponsor")[0];
|
|
let selectedSkipIntroElement = pipedMaterialElement.getElementsByClassName("selectedSkip-intro")[0];
|
|
let selectedSkipOutroElement = pipedMaterialElement.getElementsByClassName("selectedSkip-outro")[0];
|
|
let selectedSkipPreviewElement = pipedMaterialElement.getElementsByClassName("selectedSkip-preview")[0];
|
|
let selectedSkipInteractionElement = pipedMaterialElement.getElementsByClassName("selectedSkip-interaction")[0];
|
|
let selectedSkipSelfpromoElement = pipedMaterialElement.getElementsByClassName("selectedSkip-selfpromo")[0];
|
|
let selectedSkipMusicOfftopicElement = pipedMaterialElement.getElementsByClassName("selectedSkip-music_offtopic")[0];
|
|
|
|
let autoplayElement = pipedMaterialElement.getElementsByClassName("youtubeAutoplay")[0];
|
|
|
|
let volumeElement = pipedMaterialElement.getElementsByClassName("volume")[0];
|
|
let volumeValueElement = pipedMaterialElement.getElementsByClassName("volume-value")[0];
|
|
|
|
volumeElement.addEventListener("input", () => volumeValueElement.textContent = `${volumeElement.value}%`);
|
|
|
|
let selectSkip = [];
|
|
function selectSkipModify(value, boolean) {
|
|
if (boolean && !selectSkip.includes(value)) {
|
|
selectSkip.push(value);
|
|
}
|
|
else if (!boolean) {
|
|
let i = selectSkip.indexOf(value);
|
|
if (i > -1) selectSkip.splice(i, 1);
|
|
}
|
|
}
|
|
pipedMaterialElement.addEventListener("change", async () => {
|
|
console.log("changed piped settings");
|
|
|
|
selectSkipModify('sponsors', selectedSkipSponsorElement.checked);
|
|
selectSkipModify('intro', selectedSkipIntroElement.checked);
|
|
selectSkipModify('outro', selectedSkipOutroElement.checked);
|
|
selectSkipModify('preview', selectedSkipPreviewElement.checked);
|
|
selectSkipModify('interaction', selectedSkipInteractionElement.checked);
|
|
selectSkipModify('selfpromo', selectedSkipSelfpromoElement.checked);
|
|
selectSkipModify('music_offtopic', selectedSkipMusicOfftopicElement.checked);
|
|
|
|
await youtubeHelper.setYoutubeSettings({
|
|
youtubeListen: listenElement.checked,
|
|
pipedDisableLBRY: disableLBRYElement.checked,
|
|
pipedProxyLBRY: proxyLBRYElement.checked,
|
|
pipedSponsorblock: sponsorblockElement.checked,
|
|
pipedSkipToLastPoint: skipToLastPointElement.checked,
|
|
pipedSelectedSkipSponsor: selectedSkipSponsorElement.checked,
|
|
pipedSelectedSkipIntro: selectedSkipIntroElement.checked,
|
|
pipedSelectedSkipOutro: selectedSkipOutroElement.checked,
|
|
youtubeAutoplay: autoplayElement.checked,
|
|
youtubeVolume: volumeElement.value,
|
|
pipedSelectedSkipPreview: selectedSkipPreviewElement.checked,
|
|
pipedSelectedSkipInteraction: selectedSkipInteractionElement.checked,
|
|
pipedSelectedSkipSelfpromo: selectedSkipSelfpromoElement.checked,
|
|
pipedSelectedSkipMusicOfftopic: selectedSkipMusicOfftopicElement.checked,
|
|
|
|
pipedSponsorblock: sponsorblockElement.checked,
|
|
pipedMaterialSkipToLastPoint: skipToLastPointElement.checked,
|
|
pipedSelectedSkip: selectSkip,
|
|
});
|
|
init();
|
|
});
|
|
|
|
function init() {
|
|
youtubeHelper.init().then(() => {
|
|
autoplayElement.checked = youtubeHelper.getAutoplay();
|
|
|
|
listenElement.checked = youtubeHelper.getYoutubeListen();
|
|
disableLBRYElement.checked = youtubeHelper.getPipedDisableLBRY();
|
|
proxyLBRYElement.checked = youtubeHelper.getPipedProxyLBRY();
|
|
sponsorblockElement.checked = youtubeHelper.getPipedSponsorblock();
|
|
skipToLastPointElement.checked = youtubeHelper.getPipedMaterialSkipToLastPoint();
|
|
selectedSkipSponsorElement.checked = selectSkip.includes('sponsors');
|
|
selectedSkipIntroElement.checked = selectSkip.includes('intro');
|
|
selectedSkipOutroElement.checked = selectSkip.includes('outro');
|
|
selectedSkipPreviewElement.checked = selectSkip.includes('preview');
|
|
selectedSkipInteractionElement.checked = selectSkip.includes('interaction');
|
|
selectedSkipSelfpromoElement.checked = selectSkip.includes('selfpromo');
|
|
selectedSkipMusicOfftopicElement.checked = selectSkip.includes('music_offtopic');
|
|
|
|
volumeElement.value = youtubeHelper.getVolume();
|
|
volumeValueElement.textContent = `${youtubeHelper.getVolume()}%`;
|
|
browser.storage.local.get("pipedMaterialLatency").then(r => {
|
|
commonHelper.processDefaultCustomInstances(
|
|
'pipedMaterial',
|
|
'normal',
|
|
youtubeHelper,
|
|
document,
|
|
youtubeHelper.getPipedMaterialNormalRedirectsChecks,
|
|
youtubeHelper.setPipedMaterialNormalRedirectsChecks,
|
|
youtubeHelper.getPipedMaterialNormalCustomRedirects,
|
|
youtubeHelper.setPipedMaterialNormalCustomRedirects,
|
|
r.pipedMaterialLatency,
|
|
);
|
|
});
|
|
|
|
commonHelper.processDefaultCustomInstances(
|
|
'pipedMaterial',
|
|
'tor',
|
|
youtubeHelper,
|
|
document,
|
|
youtubeHelper.getPipedMaterialTorRedirectsChecks,
|
|
youtubeHelper.setPipedMaterialTorRedirectsChecks,
|
|
youtubeHelper.getPipedMaterialTorCustomRedirects,
|
|
youtubeHelper.setPipedMaterialTorCustomRedirects
|
|
);
|
|
});
|
|
}
|
|
init();
|
|
|
|
let latencyPipedMaterialElement = document.getElementById("latency-pipedMaterial");
|
|
let latencyPipedMaterialLabel = document.getElementById("latency-pipedMaterial-label");
|
|
latencyPipedMaterialElement.addEventListener("click",
|
|
async () => {
|
|
let reloadWindow = () => location.reload();
|
|
latencyPipedMaterialElement.addEventListener("click", reloadWindow);
|
|
await youtubeHelper.init();
|
|
let redirects = youtubeHelper.getRedirects();
|
|
const oldHtml = latencyPipedMaterialLabel.innerHTML;
|
|
latencyPipedMaterialLabel.innerHTML = '...';
|
|
commonHelper.testLatency(latencyPipedMaterialLabel, redirects.pipedMaterial.normal).then(r => {
|
|
browser.storage.local.set({ pipedMaterialLatency: r });
|
|
latencyPipedMaterialLabel.innerHTML = oldHtml;
|
|
commonHelper.processDefaultCustomInstances(
|
|
'pipedMaterial',
|
|
'normal',
|
|
youtubeHelper,
|
|
document,
|
|
youtubeHelper.getPipedMaterialNormalRedirectsChecks,
|
|
youtubeHelper.setPipedMaterialNormalRedirectsChecks,
|
|
youtubeHelper.getPipedMaterialNormalCustomRedirects,
|
|
youtubeHelper.setPipedMaterialNormalCustomRedirects,
|
|
r,
|
|
);
|
|
latencyPipedMaterialElement.removeEventListener("click", reloadWindow);
|
|
});
|
|
}
|
|
); |