aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-03-14 22:10:08 +0300
committerManeraKai <manerakai@protonmail.com>2022-03-14 22:10:08 +0300
commitc50b4bbb082f0931fbfc92647d8b7516030b1803 (patch)
tree51f51a7e932ccc81f04e4d67bc66904568bd7bc0
parentAdded almost all Piped settings (diff)
downloadlibredirect-c50b4bbb082f0931fbfc92647d8b7516030b1803.zip
Added almost all Piped-Material settings
Diffstat (limited to '')
-rw-r--r--src/assets/javascripts/helpers/translate/lingva-preferences.js6
-rw-r--r--src/assets/javascripts/helpers/translate/translate.js1
-rw-r--r--src/assets/javascripts/helpers/twitter.js12
-rw-r--r--src/assets/javascripts/helpers/youtube/options.js (renamed from src/assets/javascripts/helpers/youtube/invidious-options.js)171
-rw-r--r--src/assets/javascripts/helpers/youtube/piped-options.js138
-rw-r--r--src/assets/javascripts/helpers/youtube/pipedMaterial-preferences.js29
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube-options.js28
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube.js165
-rw-r--r--src/pages/options/youtube/piped.js91
-rw-r--r--src/pages/options/youtube/youtube.html78
-rw-r--r--src/pages/options/youtube/youtube.js6
11 files changed, 412 insertions, 313 deletions
diff --git a/src/assets/javascripts/helpers/translate/lingva-preferences.js b/src/assets/javascripts/helpers/translate/lingva-preferences.js
index 1cf08f65..b63e2876 100644
--- a/src/assets/javascripts/helpers/translate/lingva-preferences.js
+++ b/src/assets/javascripts/helpers/translate/lingva-preferences.js
@@ -11,8 +11,4 @@ browser.storage.local.get(
if (applyThemeToSites && theme != "DEFAULT") localStorage.setItem("chakra-ui-color-mode", r.theme);
}
-)
-
-window.onunload = () => {
- localStorage.removeItem("chakra-ui-color-mode");
-};
+) \ No newline at end of file
diff --git a/src/assets/javascripts/helpers/translate/translate.js b/src/assets/javascripts/helpers/translate/translate.js
index f47ee82b..05145542 100644
--- a/src/assets/javascripts/helpers/translate/translate.js
+++ b/src/assets/javascripts/helpers/translate/translate.js
@@ -184,7 +184,6 @@ function setSimplyTranslateEngine(val) {
console.log("simplyTranslateEngine: ", val)
}
-
function isTranslateRedirects(url, type, frontend) {
let protocolHost = `${url.protocol}//${url.host}`;
diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js
index 64868bbf..7dbdfcf9 100644
--- a/src/assets/javascripts/helpers/twitter.js
+++ b/src/assets/javascripts/helpers/twitter.js
@@ -3,11 +3,8 @@ window.browser = window.browser || window.chrome;
import commonHelper from './common.js'
const targets = [
- /^https?:\/\/twitter\.com/,
- /^https?:\/\/www\.twitter\.com/,
- /^https?:\/\/mobile\.twitter\.com/,
- /^https?:\/\/pbs\.twimg\.com/,
- /^https?:\/\/video\.twimg\.com/,
+ /^https?:\/\/(www\.|mobile\.|)twitter\.com/,
+ /^https?:\/\/(pbs\.|video\.|)twimg\.com/,
/^https?:\/\/platform\.twitter\.com\/embed/,
/^https?:\/\/t\.co/
];
@@ -125,7 +122,10 @@ function redirect(url, initiator) {
if (!targets.some((rx) => rx.test(url.href))) return null;
- if (url.pathname.split("/").includes("home")) return null;
+ if (url.pathname.split("/").includes("home")) {
+ console.log("twitter homepage");
+ return null;
+ }
if (
bypassWatchOnTwitter &&
diff --git a/src/assets/javascripts/helpers/youtube/invidious-options.js b/src/assets/javascripts/helpers/youtube/options.js
index aab5508b..27bed3f8 100644
--- a/src/assets/javascripts/helpers/youtube/invidious-options.js
+++ b/src/assets/javascripts/helpers/youtube/options.js
@@ -2,6 +2,30 @@
window.browser = window.browser || window.chrome;
+export let youtubeListen;
+export const getYoutubeListen = () => youtubeListen;
+export function setYoutubeListen(val) {
+ youtubeListen = val;
+ browser.storage.local.set({ youtubeListen })
+ console.log("youtubeListen: ", youtubeListen)
+}
+
+export let volume;
+export const getVolume = () => volume;
+export function setVolume(val) {
+ volume = val;
+ browser.storage.local.set({ youtubeVolume: volume })
+ console.log("youtubeVolume: ", volume)
+}
+
+export let youtubeAutoplay;
+export const getAutoplay = () => youtubeAutoplay;
+export function setAutoplay(val) {
+ youtubeAutoplay = val;
+ browser.storage.local.set({ youtubeAutoplay })
+ console.log("youtubeAutoplay: ", youtubeAutoplay)
+}
+
export let invidiousQuality;
export const getInvidiousQuality = () => invidiousQuality;
export function setinvidiousQuality(val) {
@@ -123,11 +147,119 @@ export function setInvidiousSavePlayerPos(val) {
console.log("invidiousSavePlayerPos: ", invidiousSavePlayerPos)
}
-export async function invidiousInit() {
+export let pipedBufferGoal;
+export const getPipedBufferGoal = () => pipedBufferGoal;
+export function setPipedBufferGoal(val) {
+ pipedBufferGoal = val;
+ browser.storage.local.set({ pipedBufferGoal })
+ console.log("pipedBufferGoal: ", pipedBufferGoal)
+}
+
+export let pipedComments;
+export const getPipedComments = () => pipedComments;
+export function setPipedComments(val) {
+ pipedComments = val;
+ browser.storage.local.set({ pipedComments })
+ console.log("pipedComments: ", pipedComments)
+}
+
+export let pipedDisableLBRY;
+export const getPipedDisableLBRY = () => pipedDisableLBRY;
+export function setPipedDisableLBRY(val) {
+ pipedDisableLBRY = val;
+ browser.storage.local.set({ pipedDisableLBRY })
+ console.log("pipedDisableLBRY: ", pipedDisableLBRY)
+}
+
+export let pipedEnabledCodecs;
+export const getPipedEnabledCodecs = () => pipedEnabledCodecs;
+export function setPipedEnabledCodecs(val) {
+ pipedEnabledCodecs = val;
+ browser.storage.local.set({ pipedEnabledCodecs })
+ console.log("pipedEnabledCodecs: ", pipedEnabledCodecs)
+}
+
+export let pipedHomepage;
+export const getPipedHomepage = () => pipedHomepage;
+export function setPipedHomepage(val) {
+ pipedHomepage = val;
+ browser.storage.local.set({ pipedHomepage })
+ console.log("pipedHomepage: ", pipedHomepage)
+}
+
+export let pipedMinimizeDescription;
+export const getPipedMinimizeDescription = () => pipedMinimizeDescription;
+export function setPipedMinimizeDescription(val) {
+ pipedMinimizeDescription = val;
+ browser.storage.local.set({ pipedMinimizeDescription })
+ console.log("pipedMinimizeDescription: ", pipedMinimizeDescription)
+}
+
+export let pipedProxyLBRY;
+export const getPipedProxyLBRY = () => pipedProxyLBRY;
+export function setPipedProxyLBRY(val) {
+ pipedProxyLBRY = val;
+ browser.storage.local.set({ pipedProxyLBRY })
+ console.log("pipedProxyLBRY: ", pipedProxyLBRY)
+}
+
+export let pipedQuality;
+export const getPipedQuality = () => pipedQuality;
+export function setPipedQuality(val) {
+ pipedQuality = val;
+ browser.storage.local.set({ pipedQuality })
+ console.log("pipedQuality: ", pipedQuality)
+}
+
+export let pipedRegion;
+export const getPipedRegion = () => pipedRegion;
+export function setPipedRegion(val) {
+ pipedRegion = val;
+ browser.storage.local.set({ pipedRegion })
+ console.log("pipedRegion: ", pipedRegion)
+}
+
+export let pipedSelectedSkip;
+export const getPipedSelectedSkip = () => pipedSelectedSkip;
+export function setPipedSelectedSkip(val) {
+ pipedSelectedSkip = val;
+ browser.storage.local.set({ pipedSelectedSkip })
+ console.log("pipedSelectedSkip: ", pipedSelectedSkip)
+}
+
+export let pipedSponsorblock;
+export const getPipedSponsorblock = () => pipedSponsorblock;
+export function setPipedSponsorblock(val) {
+ pipedSponsorblock = val;
+ browser.storage.local.set({ pipedSponsorblock })
+ console.log("pipedSponsorblock: ", pipedSponsorblock)
+}
+
+export let pipedWatchHistory;
+export const getPipedWatchHistory = () => pipedWatchHistory;
+export function setPipedWatchHistory(val) {
+ pipedWatchHistory = val;
+ browser.storage.local.set({ pipedWatchHistory })
+ console.log("pipedWatchHistory: ", pipedWatchHistory)
+}
+
+export let pipedMaterialSkipToLastPoint;
+export const getPipedMaterialSkipToLastPoint = () => pipedMaterialSkipToLastPoint;
+export function setPipedMaterialSkipToLastPoint(val) {
+ pipedMaterialSkipToLastPoint = val;
+ browser.storage.local.set({ pipedMaterialSkipToLastPoint })
+ console.log("pipedMaterialSkipToLastPoint: ", pipedMaterialSkipToLastPoint)
+}
+
+export async function initOptions() {
return new Promise(
resolve => {
browser.storage.local.get(
[
+ "youtubeListen",
+ "youtubeVolume",
+ "youtubeAutoplay",
+
"invidiousQuality",
"invidiousAlwaysProxy",
"invidiousQuality",
@@ -144,8 +276,28 @@ export async function invidiousInit() {
"invidiousExtendDesc",
"invidiousVrMode",
"invidiousSavePlayerPos",
+
+ "pipedBufferGoal",
+ "pipedComments",
+ "pipedDisableLBRY",
+ "pipedEnabledCodecs",
+ "pipedHomepage",
+ "pipedMinimizeDescription",
+ "pipedProxyLBRY",
+ "pipedQuality",
+ "pipedRegion",
+ "pipedSelectedSkip",
+ "pipedSponsorblock",
+ "pipedWatchHistory",
+
+ "pipedMaterialSkipToLastPoint",
],
r => {
+
+ youtubeListen = r.youtubeListen ?? false;
+ volume = r.youtubeVolume ?? 100;
+ youtubeAutoplay = r.youtubeAutoplay ?? false;
+
invidiousVideoLoop = r.invidiousVideoLoop ?? false;
invidiousAlwaysProxy = r.invidiousAlwaysProxy ?? false;
invidiousPlayerStyle = r.invidiousPlayerStyle ?? 'invidious';
@@ -162,9 +314,24 @@ export async function invidiousInit() {
invidiousVrMode = r.invidiousVrMode ?? true;
invidiousSavePlayerPos = r.invidiousSavePlayerPos ?? false;
+ pipedBufferGoal = r.pipedBufferGoal ?? 10;
+ pipedComments = r.pipedComments ?? true;
+ pipedDisableLBRY = r.pipedDisableLBRY ?? false;
+ pipedEnabledCodecs = r.pipedEnabledCodecs ?? ["av1", "vp9", "avc"];
+ pipedHomepage = r.pipedHomepage ?? "trending";
+ pipedMinimizeDescription = r.pipedMinimizeDescription ?? false;
+ pipedProxyLBRY = r.pipedProxyLBRY ?? false;
+ pipedQuality = r.pipedQuality ?? 0;
+ pipedRegion = r.pipedRegion ?? "US";
+ pipedSelectedSkip = r.pipedSelectedSkip ?? ["sponsor", "interaction", "selfpromo", "music_offtopic"];
+ pipedSponsorblock = r.pipedSponsorblock ?? true;
+ pipedWatchHistory = r.pipedWatchHistory ?? false;
+
+ pipedMaterialSkipToLastPoint = r.pipedMaterialSkipToLastPoint ?? true;
+
resolve();
}
)
}
)
-}
+} \ No newline at end of file
diff --git a/src/assets/javascripts/helpers/youtube/piped-options.js b/src/assets/javascripts/helpers/youtube/piped-options.js
deleted file mode 100644
index f0aea4ea..00000000
--- a/src/assets/javascripts/helpers/youtube/piped-options.js
+++ /dev/null
@@ -1,138 +0,0 @@
-"use strict";
-
-window.browser = window.browser || window.chrome;
-
-export let pipedBufferGoal;
-export const getPipedBufferGoal = () => pipedBufferGoal;
-export function setPipedBufferGoal(val) {
- pipedBufferGoal = val;
- browser.storage.local.set({ pipedBufferGoal })
- console.log("pipedBufferGoal: ", pipedBufferGoal)
-}
-
-export let pipedComments;
-export const getPipedComments = () => pipedComments;
-export function setPipedComments(val) {
- pipedComments = val;
- browser.storage.local.set({ pipedComments })
- console.log("pipedComments: ", pipedComments)
-}
-
-export let pipedDisableLBRY;
-export const getPipedDisableLBRY = () => pipedDisableLBRY;
-export function setPipedDisableLBRY(val) {
- pipedDisableLBRY = val;
- browser.storage.local.set({ pipedDisableLBRY })
- console.log("pipedDisableLBRY: ", pipedDisableLBRY)
-}
-
-export let pipedEnabledCodecs;
-export const getPipedEnabledCodecs = () => pipedEnabledCodecs;
-export function setPipedEnabledCodecs(val) {
- pipedEnabledCodecs = val;
- browser.storage.local.set({ pipedEnabledCodecs })
- console.log("pipedEnabledCodecs: ", pipedEnabledCodecs)
-}
-
-export let pipedHomepage;
-export const getPipedHomepage = () => pipedHomepage;
-export function setPipedHomepage(val) {
- pipedHomepage = val;
- browser.storage.local.set({ pipedHomepage })
- console.log("pipedHomepage: ", pipedHomepage)
-}
-
-export let pipedMinimizeDescription;
-export const getPipedMinimizeDescription = () => pipedMinimizeDescription;
-export function setPipedMinimizeDescription(val) {
- pipedMinimizeDescription = val;
- browser.storage.local.set({ pipedMinimizeDescription })
- console.log("pipedMinimizeDescription: ", pipedMinimizeDescription)
-}
-
-export let pipedProxyLBRY;
-export const getPipedProxyLBRY = () => pipedProxyLBRY;
-export function setPipedProxyLBRY(val) {
- pipedProxyLBRY = val;
- browser.storage.local.set({ pipedProxyLBRY })
- console.log("pipedProxyLBRY: ", pipedProxyLBRY)
-}
-
-export let pipedQuality;
-export const getPipedQuality = () => pipedQuality;
-export function setPipedQuality(val) {
- pipedQuality = val;
- browser.storage.local.set({ pipedQuality })
- console.log("pipedQuality: ", pipedQuality)
-}
-
-export let pipedRegion;
-export const getPipedRegion = () => pipedRegion;
-export function setPipedRegion(val) {
- pipedRegion = val;
- browser.storage.local.set({ pipedRegion })
- console.log("pipedRegion: ", pipedRegion)
-}
-
-export let pipedSelectedSkip;
-export const getPipedSelectedSkip = () => pipedSelectedSkip;
-export function setPipedSelectedSkip(val) {
- pipedSelectedSkip = val;
- browser.storage.local.set({ pipedSelectedSkip })
- console.log("pipedSelectedSkip: ", pipedSelectedSkip)
-}
-
-export let pipedSponsorblock;
-export const getPipedSponsorblock = () => pipedSponsorblock;
-export function setPipedSponsorblock(val) {
- pipedSponsorblock = val;
- browser.storage.local.set({ pipedSponsorblock })
- console.log("pipedSponsorblock: ", pipedSponsorblock)
-}
-
-export let pipedWatchHistory;
-export const getPipedWatchHistory = () => pipedWatchHistory;
-export function setPipedWatchHistory(val) {
- pipedWatchHistory = val;
- browser.storage.local.set({ pipedWatchHistory })
- console.log("pipedWatchHistory: ", pipedWatchHistory)
-}
-
-export async function pipedInit() {
- return new Promise(
- resolve => {
- browser.storage.local.get(
- [
- "pipedBufferGoal",
- "pipedComments",
- "pipedDisableLBRY",
- "pipedEnabledCodecs",
- "pipedHomepage",
- "pipedMinimizeDescription",
- "pipedProxyLBRY",
- "pipedQuality",
- "pipedRegion",
- "pipedSelectedSkip",
- "pipedSponsorblock",
- "pipedWatchHistory",
- ],
- r => {
- pipedBufferGoal = r.pipedBufferGoal ?? 10;
- pipedComments = r.pipedComments ?? true;
- pipedDisableLBRY = r.pipedDisableLBRY ?? false;
- pipedEnabledCodecs = r.pipedEnabledCodecs ?? ["av1", "vp9", "avc"];
- pipedHomepage = r.pipedHomepage ?? "trending";
- pipedMinimizeDescription = r.pipedMinimizeDescription ?? false;
- pipedProxyLBRY = r.pipedProxyLBRY ?? false;
- pipedQuality = r.pipedQuality ?? 0;
- pipedRegion = r.pipedRegion ?? "US";
- pipedSelectedSkip = r.pipedSelectedSkip ?? ["sponsor", "interaction", "selfpromo", "music_offtopic"];
- pipedSponsorblock = r.pipedSponsorblock ?? true;
- pipedWatchHistory = r.pipedWatchHistory ?? false;
-
- resolve();
- }
- )
- }
- )
-}
diff --git a/src/assets/javascripts/helpers/youtube/pipedMaterial-preferences.js b/src/assets/javascripts/helpers/youtube/pipedMaterial-preferences.js
index 94d54dd3..312271fe 100644
--- a/src/assets/javascripts/helpers/youtube/pipedMaterial-preferences.js
+++ b/src/assets/javascripts/helpers/youtube/pipedMaterial-preferences.js
@@ -3,13 +3,29 @@ window.browser = window.browser || window.chrome;
browser.storage.local.get(
[
"theme",
- "youtubeVolume",
"youtubeAutoplay",
+ "youtubeVolume",
+ "youtubeListen",
+
+ "pipedDisableLBRY",
+ "pipedProxyLBRY",
+ "pipedSelectedSkip",
+ "pipedSponsorblock",
+
+ "pipedMaterialSkipToLastPoint",
],
r => {
let theme = r.theme ?? "dark";
let youtubeAutoplay = r.youtubeAutoplay ?? false;
let youtubeVolume = r.youtubeVolume ?? 100;
+ let youtubeListen = r.youtubeListen ?? false;
+
+ let pipedDisableLBRY = r.pipedDisableLBRY ?? false;
+ let pipedProxyLBRY = r.pipedProxyLBRY ?? false;
+ let pipedSelectedSkip = r.pipedSelectedSkip ?? [];
+ let pipedSponsorblock = r.pipedSponsorblock ?? true;
+
+ let pipedMaterialSkipToLastPoint = r.pipedMaterialSkipToLastPoint ?? true;
let prefs = {};
if (localStorage.getItem("PREFERENCES")) prefs = JSON.parse(localStorage.getItem("PREFERENCES"));
@@ -17,9 +33,16 @@ browser.storage.local.get(
if (theme == 'dark') prefs.darkMode = true;
if (theme == 'light') prefs.darkMode = false;
- prefs.playerAutoplay = youtubeAutoplay == 'true';
prefs.volume = youtubeVolume / 100;
+ prefs.playerAutoplay = youtubeAutoplay;
+
+ prefs.listen = youtubeListen;
+ prefs.disableLBRY = pipedDisableLBRY;
+ prefs.proxyLBRY = pipedProxyLBRY;
+ prefs.sponsorblock = pipedSponsorblock;
+ prefs.skipToLastPoint = pipedMaterialSkipToLastPoint;
+ prefs.selectedSkip = pipedSelectedSkip;
localStorage.setItem("PREFERENCES", JSON.stringify(prefs));
}
-)
+) \ No newline at end of file
diff --git a/src/assets/javascripts/helpers/youtube/youtube-options.js b/src/assets/javascripts/helpers/youtube/youtube-options.js
deleted file mode 100644
index cacc80c7..00000000
--- a/src/assets/javascripts/helpers/youtube/youtube-options.js
+++ /dev/null
@@ -1,28 +0,0 @@
-"use strict";
-
-window.browser = window.browser || window.chrome;
-
-export let youtubeListen;
-export const getYoutubeListen = () => youtubeListen;
-export function setYoutubeListen(val) {
- youtubeListen = val;
- browser.storage.local.set({ youtubeListen })
- console.log("youtubeListen: ", youtubeListen)
-}
-
-export async function youtubeInit() {
- return new Promise(
- resolve => {
- browser.storage.local.get(
- [
- "youtubeListen"
- ],
- r => {
- youtubeListen = r.youtubeListen ?? false;
-
- resolve();
- }
- )
- }
- )
-}
diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js
index 21a5c634..eb91ab08 100644
--- a/src/assets/javascripts/helpers/youtube/youtube.js
+++ b/src/assets/javascripts/helpers/youtube/youtube.js
@@ -1,128 +1,73 @@
"use strict";
+window.browser = window.browser || window.chrome;
+
import commonHelper from '../common.js'
import {
- invidiousQuality,
- getInvidiousQuality,
- setinvidiousQuality,
+ youtubeListen, getYoutubeListen, setYoutubeListen,
- invidiousAlwaysProxy,
- setInvidiousAlwaysProxy,
- getInvidiousAlwaysProxy,
+ invidiousQuality, getInvidiousQuality, setinvidiousQuality,
- invidiousPlayerStyle,
- getInvidiousPlayerStyle,
- setInvidiousPlayerStyle,
+ invidiousAlwaysProxy, setInvidiousAlwaysProxy, getInvidiousAlwaysProxy,
- invidiousInit,
- invidiousVideoLoop,
- getInvidiousVideoLoop,
- setInvidiousVideoLoop,
+ invidiousPlayerStyle, getInvidiousPlayerStyle, setInvidiousPlayerStyle,
- invidiousContinueAutoplay,
- getInvidiousContinueAutoplay,
- setInvidiousContinueAutoplay,
+ invidiousVideoLoop, getInvidiousVideoLoop, setInvidiousVideoLoop,
- invidiousContinue,
- getInvidiousContinue,
- setInvidiousContinue,
+ invidiousContinueAutoplay, getInvidiousContinueAutoplay, setInvidiousContinueAutoplay,
- invidiousSpeed,
- getInvidiousSpeed,
- setInvidiousSpeed,
+ invidiousContinue, getInvidiousContinue, setInvidiousContinue,
- invidiousQualityDash,
- getInvidiousQualityDash,
- setInvidiousQualityDash,
+ invidiousSpeed, getInvidiousSpeed, setInvidiousSpeed,
- invidiousComments,
- getInvidiousComments,
- setInvidiousComments,
+ invidiousQualityDash, getInvidiousQualityDash, setInvidiousQualityDash,
- invidiousCaptions,
- getInvidiousCaptions,
- setInvidiousCaptions,
+ invidiousComments, getInvidiousComments, setInvidiousComments,
- invidiousRelatedVideos,
- getInvidiousRelatedVideos,
- setInvidiousRelatedVideos,
+ invidiousCaptions, getInvidiousCaptions, setInvidiousCaptions,
- invidiousAnnotations,
- getInvidiousAnnotations,
- setInvidiousAnnotations,
+ invidiousRelatedVideos, getInvidiousRelatedVideos, setInvidiousRelatedVideos,
- invidiousExtendDesc,
- getInvidiousExtendDesc,
- setInvidiousExtendDesc,
+ invidiousAnnotations, getInvidiousAnnotations, setInvidiousAnnotations,
- invidiousVrMode,
- getInvidiousVrMode,
- setInvidiousVrMode,
+ invidiousExtendDesc, getInvidiousExtendDesc, setInvidiousExtendDesc,
- invidiousSavePlayerPos,
- getInvidiousSavePlayerPos,
- setInvidiousSavePlayerPos,
+ invidiousVrMode, getInvidiousVrMode, setInvidiousVrMode,
-} from './invidious-options.js';
-import {
- pipedBufferGoal,
- getPipedBufferGoal,
- setPipedBufferGoal,
+ invidiousSavePlayerPos, getInvidiousSavePlayerPos, setInvidiousSavePlayerPos,
- pipedComments,
- getPipedComments,
- setPipedComments,
+ getPipedBufferGoal, setPipedBufferGoal,
- pipedDisableLBRY,
- getPipedDisableLBRY,
- setPipedDisableLBRY,
+ getPipedComments, setPipedComments,
- pipedEnabledCodecs,
- getPipedEnabledCodecs,
- setPipedEnabledCodecs,
+ getPipedDisableLBRY, setPipedDisableLBRY,
- pipedHomepage,
- getPipedHomepage,
- setPipedHomepage,
+ getPipedEnabledCodecs, setPipedEnabledCodecs,
- pipedMinimizeDescription,
- getPipedMinimizeDescription,
- setPipedMinimizeDescription,
+ getPipedHomepage, setPipedHomepage,
- pipedProxyLBRY,
- getPipedProxyLBRY,
- setPipedProxyLBRY,
+ getPipedMinimizeDescription, setPipedMinimizeDescription,
- pipedQuality,
- getPipedQuality,
- setPipedQuality,
+ getPipedProxyLBRY, setPipedProxyLBRY,
- pipedRegion,
- getPipedRegion,
- setPipedRegion,
+ getPipedQuality, setPipedQuality,
- pipedSelectedSkip,
- getPipedSelectedSkip,
- setPipedSelectedSkip,
+ getPipedRegion, setPipedRegion,
- pipedSponsorblock,
- getPipedSponsorblock,
- setPipedSponsorblock,
+ getPipedSelectedSkip, setPipedSelectedSkip,
- pipedWatchHistory,
- getPipedWatchHistory,
- setPipedWatchHistory,
+ getPipedSponsorblock, setPipedSponsorblock,
- pipedInit
-} from './piped-options.js';
-import {
- youtubeListen,
- getYoutubeListen,
- setYoutubeListen,
- youtubeInit
-} from './youtube-options.js';
+ getPipedWatchHistory, setPipedWatchHistory,
-window.browser = window.browser || window.chrome;
+ volume, getVolume, setVolume,
+
+ youtubeAutoplay, getAutoplay, setAutoplay,
+
+ getPipedMaterialSkipToLastPoint, setPipedMaterialSkipToLastPoint,
+
+ initOptions
+} from './options.js';
const targets = [
/^https?:\/\/(www\.|music\.|m\.|)youtube\.com(\/.*|$)/,
@@ -164,7 +109,6 @@ let redirects = {
const getRedirects = () => redirects;
-let applyThemeToSites;
function getCustomRedirects() {
return {
"invidious": {
@@ -324,24 +268,6 @@ function setOnlyEmbeddedVideo(val) {
}
const getOnlyEmbeddedVideo = () => OnlyEmbeddedVideo;
-let theme;
-
-let volume;
-const getVolume = () => volume;
-function setVolume(val) {
- volume = val;
- browser.storage.local.set({ youtubeVolume: volume })
- console.log("youtubeVolume: ", volume)
-}
-
-let autoplay;
-const getAutoplay = () => autoplay;
-function setAutoplay(val) {
- autoplay = val;
- browser.storage.local.set({ youtubeAutoplay: autoplay })
- console.log("autoplay: ", autoplay)
-}
-
let frontend;
const getFrontend = () => frontend;
function setFrontend(val) {
@@ -687,7 +613,7 @@ function initInvidiousCookies() {
prefs.volume = parseInt(volume);
prefs.player_style = invidiousPlayerStyle;
- prefs.autoplay = autoplay == 'true';
+ prefs.youtubeAutoplay = youtubeAutoplay == 'true';
browser.cookies.set({
url: instanceUrl,
@@ -698,10 +624,9 @@ function initInvidiousCookies() {
)
}
+let theme;
async function init() {
- await youtubeInit();
- await invidiousInit();
- await pipedInit();
+ await initOptions();
return new Promise(
resolve => {
fetch('/instances/data.json').then(response => response.text()).then(data => {
@@ -712,8 +637,6 @@ async function init() {
"disableYoutube",
"enableYoutubeCustomSettings",
"OnlyEmbeddedVideo",
- "youtubeVolume",
- "youtubeAutoplay",
"youtubeRedirects",
"youtubeFrontend",
@@ -754,9 +677,6 @@ async function init() {
theme = r.theme ?? 'dark';
- volume = r.youtubeVolume ?? 100;
- autoplay = r.youtubeAutoplay ?? false;
-
OnlyEmbeddedVideo = r.OnlyEmbeddedVideo ?? 'both';
invidiousNormalRedirectsChecks = r.invidiousNormalRedirectsChecks ?? [...redirects.invidious.normal];
@@ -919,6 +839,9 @@ export default {
getPipedWatchHistory,
setPipedWatchHistory,
+ getPipedMaterialSkipToLastPoint,
+ setPipedMaterialSkipToLastPoint,
+
getInvidiousNormalRedirectsChecks,
setInvidiousNormalRedirectsChecks,
diff --git a/src/pages/options/youtube/piped.js b/src/pages/options/youtube/piped.js
index 0425ae79..015c97d8 100644
--- a/src/pages/options/youtube/piped.js
+++ b/src/pages/options/youtube/piped.js
@@ -17,9 +17,9 @@ function selectSkipModify(value, boolean) {
youtubeHelper.setPipedSelectedSkip(selectSkip)
}
-let pipedSelectedSkipSponsorElement = document.getElementById("piped-selectedSkip-sponsor");
+let pipedSelectedSkipSponsorElement = document.getElementById("piped-selectedSkip-sponsors");
pipedSelectedSkipSponsorElement.addEventListener("change",
- event => selectSkipModify('sponsor', event.target.checked)
+ event => selectSkipModify('sponsors', event.target.checked)
);
let pipedSelectedSkipIntroElement = document.getElementById("piped-selectedSkip-intro");
@@ -122,12 +122,83 @@ pipedProxyLBRYElement.addEventListener("change",
event => youtubeHelper.setPipedProxyLBRY(event.target.checked)
);
+let pipedMaterialListenElement = document.getElementById("pipedMaterial-listen");
+pipedMaterialListenElement.addEventListener("change",
+ event => youtubeHelper.setYoutubeListen(event.target.checked)
+);
+
+let pipedMaterialDisableLBRYElement = document.getElementById("pipedMaterial-disableLBRY");
+pipedMaterialDisableLBRYElement.addEventListener("change",
+ event => youtubeHelper.setPipedDisableLBRY(event.target.checked)
+);
+
+let pipedMaterialProxyLBRYElement = document.getElementById("pipedMaterial-proxyLBRY");
+pipedMaterialProxyLBRYElement.addEventListener("change",
+ event => youtubeHelper.setPipedProxyLBRY(event.target.checked)
+);
+
+let pipedMaterialSponsorblockElement = document.getElementById("pipedMaterial-sponsorblock");
+pipedMaterialSponsorblockElement.addEventListener("change",
+ event => youtubeHelper.setPipedSponsorblock(event.target.checked)
+);
+
+let pipedMaterialSkipToLastPointElement = document.getElementById("pipedMaterial-skipToLastPoint");
+pipedMaterialSkipToLastPointElement.addEventListener("change",
+ event => youtubeHelper.setPipedMaterialSkipToLastPoint(event.target.checked)
+);
+
+
+let pipedMaterialSelectedSkipSponsorElement = document.getElementById("pipedMaterial-selectedSkip-sponsors");
+pipedMaterialSelectedSkipSponsorElement.addEventListener("change",
+ event => selectSkipModify('sponsors', event.target.checked)
+);
+
+let pipedMaterialSelectedSkipIntroElement = document.getElementById("pipedMaterial-selectedSkip-intro");
+pipedMaterialSelectedSkipIntroElement.addEventListener("change",
+ event => selectSkipModify('intro', event.target.checked)
+);
+
+let pipedMaterialSelectedSkipOutroElement = document.getElementById("pipedMaterial-selectedSkip-outro");
+pipedMaterialSelectedSkipOutroElement.addEventListener("change",
+ event => selectSkipModify('outro', event.target.checked)
+);
+
+let pipedMaterialSelectedSkipPreviewElement = document.getElementById("pipedMaterial-selectedSkip-preview");
+pipedMaterialSelectedSkipPreviewElement.addEventListener("change",
+ event => selectSkipModify('preview', event.target.checked)
+);
+
+let pipedMaterialSelectedSkipInteractionElement = document.getElementById("pipedMaterial-selectedSkip-interaction");
+pipedMaterialSelectedSkipInteractionElement.addEventListener("change",
+ event => selectSkipModify('interaction', event.target.checked)
+);
+
+let pipedMaterialSelectedSkipSelfpromoElement = document.getElementById("pipedMaterial-selectedSkip-selfpromo");
+pipedMaterialSelectedSkipSelfpromoElement.addEventListener("change",
+ event => selectSkipModify('selfpromo', event.target.checked)
+);
+
+let pipedMaterialSelectedSkipMusicOfftopicElement = document.getElementById("pipedMaterial-selectedSkip-music_offtopic");
+pipedMaterialSelectedSkipMusicOfftopicElement.addEventListener("change",
+ event => selectSkipModify('music_offtopic', event.target.checked)
+);
+
+let pipedMaterialSelectedSkipPoiHighlightElement = document.getElementById("pipedMaterial-selectedSkip-poi_highlight");
+pipedMaterialSelectedSkipPoiHighlightElement.addEventListener("change",
+ event => selectSkipModify('poi_highlight', event.target.checked)
+);
+
+let pipedMaterialSelectedSkipFillerElement = document.getElementById("pipedMaterial-selectedSkip-filler");
+pipedMaterialSelectedSkipFillerElement.addEventListener("change",
+ event => selectSkipModify('filler', event.target.checked)
+);
+
let selectSkip = [];
youtubeHelper.init().then(() => {
pipedSponsorblockElement.checked = youtubeHelper.getPipedSponsorblock();
selectSkip = youtubeHelper.getPipedSelectedSkip();
- pipedSelectedSkipSponsorElement.checked = selectSkip.includes('sponsor');
+ pipedSelectedSkipSponsorElement.checked = selectSkip.includes('sponsors');
pipedSelectedSkipIntroElement.checked = selectSkip.includes('intro');
pipedSelectedSkipOutroElement.checked = selectSkip.includes('outro');
pipedSelectedSkipPreviewElement.checked = selectSkip.includes('preview');
@@ -148,6 +219,20 @@ youtubeHelper.init().then(() => {
pipedDisableLBRYElement.checked = youtubeHelper.getPipedDisableLBRY();
pipedProxyLBRYElement.checked = youtubeHelper.getPipedProxyLBRY();
+ pipedMaterialListenElement.checked = youtubeHelper.getYoutubeListen();
+ pipedMaterialDisableLBRYElement.checked = youtubeHelper.getPipedDisableLBRY();
+ pipedMaterialProxyLBRYElement.checked = youtubeHelper.getPipedProxyLBRY();
+ pipedMaterialSponsorblockElement.checked = youtubeHelper.getPipedSponsorblock()
+ pipedMaterialSkipToLastPointElement.checked = youtubeHelper.getPipedMaterialSkipToLastPoint();
+ pipedMaterialSelectedSkipSponsorElement.checked = selectSkip.includes('sponsors');
+ pipedMaterialSelectedSkipIntroElement.checked = selectSkip.includes('intro');
+ pipedMaterialSelectedSkipOutroElement.checked = selectSkip.includes('outro');
+ pipedMaterialSelectedSkipPreviewElement.checked = selectSkip.includes('preview');
+ pipedMaterialSelectedSkipInteractionElement.checked = selectSkip.includes('interaction');
+ pipedMaterialSelectedSkipSelfpromoElement.checked = selectSkip.includes('selfpromo');
+ pipedMaterialSelectedSkipMusicOfftopicElement.checked = selectSkip.includes('music_offtopic');
+ pipedMaterialSelectedSkipPoiHighlightElement.checked = selectSkip.includes('poi_highlight');
+ pipedMaterialSelectedSkipFillerElement.checked = selectSkip.includes('filler');
commonHelper.processDefaultCustomInstances(
'piped',
diff --git a/src/pages/options/youtube/youtube.html b/src/pages/options/youtube/youtube.html
index 61350fc0..a88f9581 100644
--- a/src/pages/options/youtube/youtube.html
+++ b/src/pages/options/youtube/youtube.html
@@ -165,7 +165,7 @@
<div class="some-block option-block">
<h4>Autoplay Video</h4>
- <input id="invidious-autoplay" type="checkbox" />
+ <input id="invidious-youtubeAutoplay" type="checkbox" />
</div>
<div class="some-block option-block">
@@ -767,7 +767,7 @@
<div class="some-block option-block">
<h4>Skip Sponsors</h4>
- <input id="piped-selectedSkip-sponsor" type="checkbox" />
+ <input id="piped-selectedSkip-sponsors" type="checkbox" />
</div>
<div class="some-block option-block">
@@ -1134,6 +1134,80 @@
<div id="pipedMaterial">
<hr>
+ <div class="custom-settings">
+ <div class="some-block option-block">
+ <h4>Audio Only</h4>
+ <input id="pipedMaterial-listen" type="checkbox" />
+ </div>
+
+ <div class="some-block option-block">
+ <h4>Disable LBRY</h4>
+ <input id="pipedMaterial-disableLBRY" type="checkbox" />
+ </div>
+
+ <div class="some-block option-block">
+ <h4>Proxy LBRY videos</h4>
+ <input id="pipedMaterial-proxyLBRY" type="checkbox" />
+ </div>
+
+ <div class="some-block option-block">
+ <h4>Enable Sponsorblock</h4>
+ <input id="pipedMaterial-sponsorblock" type="checkbox" />
+ </div>
+
+ <div class="some-block option-block">
+ <h4>Skip to the last watched point when encountering a video already seen</h4>
+ <input id="pipedMaterial-skipToLastPoint" type="checkbox" />
+ </div>
+
+ <div class="some-block option-block">
+ <h4>Skip Sponsors</h4>
+ <input id="pipedMaterial-selectedSkip-sponsors" type="checkbox" />
+ </div>
+
+ <div class="some-block option-block">
+ <h4>Skip Intermission/Intro Animation</h4>
+ <input id="pipedMaterial-selectedSkip-intro" type="checkbox" />
+ </div>
+
+ <div class="some-block option-block">
+ <h4>Skip Endcards/Credits</h4>
+ <input id="pipedMaterial-selectedSkip-outro" type="checkbox" />
+ </div>
+
+ <div class="some-block option-block">
+ <h4>Skip Preview/Recap</h4>
+ <input id="pipedMaterial-selectedSkip-preview" type="checkbox" />
+ </div>
+
+ <div class="some-block option-block">
+ <h4>Skip Interaction Reminder (Subscribe)</h4>
+ <input id="pipedMaterial-selectedSkip-interaction" type="checkbox" />
+ </div>
+
+ <div class="some-block option-block">
+ <h4>Skip Unpaid/Self Promotion</h4>
+ <input id="pipedMaterial-selectedSkip-selfpromo" type="checkbox" />
+ </div>
+
+ <div class="some-block option-block">
+ <h4>Skip Music: Non-Music Section</h4>
+ <input id="pipedMaterial-selectedSkip-music_offtopic" type="checkbox" />
+ </div>
+
+ <div class="some-block option-block">
+ <h4>Skip Highlight</h4>
+ <input id="pipedMaterial-selectedSkip-poi_highlight" type="checkbox" />
+ </div>
+
+ <div class="some-block option-block">
+ <h4>Skip Filler Tangent</h4>
+ <input id="pipedMaterial-selectedSkip-filler" type="checkbox" />
+ </div>
+ <hr>
+
+ </div>
+
<div id="pipedMaterial-normal">
<div class="some-block option-block">
<h4>Default Instances</h4>
diff --git a/src/pages/options/youtube/youtube.js b/src/pages/options/youtube/youtube.js
index e3b8c5e7..c6e6fb52 100644
--- a/src/pages/options/youtube/youtube.js
+++ b/src/pages/options/youtube/youtube.js
@@ -9,10 +9,8 @@ let freetubeYatteeDivElement = document.getElementById("freetube-yatte");
let customSettingsDivElement = document.getElementsByClassName("custom-settings");
function changeFrontendsSettings() {
- console.log('changeFrontendsSettings()');
let frontend = youtubeFrontendElement.value;
- console.log("customSettingsDivElement", customSettingsDivElement[0].style.display);
if (enableYoutubeCustomSettingsElement.checked)
for (const item of customSettingsDivElement) item.style.display = 'block';
else
@@ -106,7 +104,7 @@ volumeElement.addEventListener("input",
}
);
-let autoplayElement = document.getElementById("invidious-autoplay");
+let autoplayElement = document.getElementById("invidious-youtubeAutoplay");
autoplayElement.addEventListener("change",
event => youtubeHelper.setAutoplay(event.target.checked)
);
@@ -169,7 +167,7 @@ youtubeHelper.init().then(() => {
volumeValueElement.textContent = `${youtubeHelper.getVolume()}%`;
OnlyEmbeddedVideoElement.value = youtubeHelper.getOnlyEmbeddedVideo();
bypassWatchOnYoutubeElement.checked = youtubeHelper.getBypassWatchOnYoutube();
- autoplayElement.value = youtubeHelper.getAutoplay();
+ autoplayElement.checked = youtubeHelper.getAutoplay();
let frontend = youtubeHelper.getFrontend();
youtubeFrontendElement.value = frontend;
changeFrontendsSettings();