From a8ae61c32b828e1389df6b179f60f6d52ff63d42 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Sun, 13 Mar 2022 00:32:25 +0300 Subject: Added almost all invidious settings #104 --- .../helpers/youtube/invidious-options.js | 177 +++++++ src/assets/javascripts/helpers/youtube/youtube.js | 406 +++++++++------ src/pages/options/general/general.js | 1 - src/pages/options/youtube/embed-exceptions.js | 1 - src/pages/options/youtube/invidious.js | 139 ++++- src/pages/options/youtube/youtube.html | 579 ++++++++++++++++++++- src/pages/options/youtube/youtube.js | 2 +- src/pages/stylesheets/styles.css | 9 +- 8 files changed, 1091 insertions(+), 223 deletions(-) create mode 100644 src/assets/javascripts/helpers/youtube/invidious-options.js diff --git a/src/assets/javascripts/helpers/youtube/invidious-options.js b/src/assets/javascripts/helpers/youtube/invidious-options.js new file mode 100644 index 00000000..44695a38 --- /dev/null +++ b/src/assets/javascripts/helpers/youtube/invidious-options.js @@ -0,0 +1,177 @@ +export let invidiousQuality; +export const getinvidiousQuality = () => invidiousQuality; +export function setinvidiousQuality(val) { + invidiousQuality = val; + browser.storage.local.set({ invidiousQuality }) + console.log("invidiousQuality: ", invidiousQuality) +} + +export let invidiousAlwaysProxy; +export const getInvidiousAlwaysProxy = () => invidiousAlwaysProxy; +export function setInvidiousAlwaysProxy(val) { + invidiousAlwaysProxy = val; + browser.storage.local.set({ invidiousAlwaysProxy }) + console.log("invidiousAlwaysProxy: ", invidiousAlwaysProxy); +} + +export let invidiousPlayerStyle; +export const getInvidiousPlayerStyle = () => invidiousPlayerStyle; +export function setInvidiousPlayerStyle(val) { + invidiousPlayerStyle = val; + browser.storage.local.set({ invidiousPlayerStyle }) + console.log("invidiousPlayerStyle: ", invidiousPlayerStyle) +} + +export let invidiousVideoLoop; +export const getInvidiousVideoLoop = () => invidiousVideoLoop; +export function setInvidiousVideoLoop(val) { + invidiousVideoLoop = val; + browser.storage.local.set({ invidiousVideoLoop }) + console.log("invidiousVideoLoop: ", invidiousVideoLoop) +} + +export let invidiousContinueAutoplay; +export const getInvidiousContinueAutoplay = () => invidiousContinueAutoplay; +export function setInvidiousContinueAutoplay(val) { + invidiousContinueAutoplay = val; + browser.storage.local.set({ invidiousContinueAutoplay }) + console.log("invidiousContinueAutoplay: ", invidiousContinueAutoplay) +} + +export let invidiousContinue; +export const getInvidiousContinue = () => invidiousContinue; +export function setInvidiousContinue(val) { + invidiousContinue = val; + browser.storage.local.set({ invidiousContinue }) + console.log("invidiousContinue: ", invidiousContinue) +} + +export let invidiousListen; +export const getInvidiousListen = () => invidiousListen; +export function setInvidiousListen(val) { + invidiousListen = val; + browser.storage.local.set({ invidiousListen }) + console.log("invidiousListen: ", invidiousListen) +} + +export let invidiousSpeed; +export const getInvidiousSpeed = () => invidiousSpeed; +export function setInvidiousSpeed(val) { + invidiousSpeed = val; + browser.storage.local.set({ invidiousSpeed }) + console.log("invidiousSpeed: ", invidiousSpeed) +} + +export let invidiousQualityDash; +export const getInvidiousQualityDash = () => invidiousQualityDash; +export function setInvidiousQualityDash(val) { + invidiousQualityDash = val; + browser.storage.local.set({ invidiousQualityDash }) + console.log("invidiousQualityDash: ", invidiousQualityDash) +} + +export let invidiousComments; +export const getInvidiousComments = () => invidiousComments; +export function setInvidiousComments(val) { + invidiousComments = val; + browser.storage.local.set({ invidiousComments }) + console.log("invidiousComments: ", invidiousComments) +} + + +export let invidiousCaptions; +export const getInvidiousCaptions = () => invidiousCaptions; +export function setInvidiousCaptions(val) { + invidiousCaptions = val; + browser.storage.local.set({ invidiousCaptions }) + console.log("invidiousCaptions: ", invidiousCaptions) +} + +export let invidiousRelatedVideos; +export const getInvidiousRelatedVideos = () => invidiousRelatedVideos; +export function setInvidiousRelatedVideos(val) { + invidiousRelatedVideos = val; + browser.storage.local.set({ invidiousRelatedVideos }) + console.log("invidiousRelatedVideos: ", invidiousRelatedVideos) +} + +export let invidiousAnnotations; +export const getInvidiousAnnotations = () => invidiousAnnotations; +export function setInvidiousAnnotations(val) { + invidiousAnnotations = val; + browser.storage.local.set({ invidiousAnnotations }) + console.log("invidiousAnnotations: ", invidiousAnnotations) +} + +export let invidiousExtendDesc; +export const getInvidiousExtendDesc = () => invidiousExtendDesc; +export function setInvidiousExtendDesc(val) { + invidiousExtendDesc = val; + browser.storage.local.set({ invidiousExtendDesc }) + console.log("invidiousExtendDesc: ", invidiousExtendDesc) +} + +export let invidiousVrMode; +export const getInvidiousVrMode = () => invidiousVrMode; +export function setInvidiousVrMode(val) { + invidiousVrMode = val; + browser.storage.local.set({ invidiousVrMode }) + console.log("invidiousVrMode: ", invidiousVrMode) +} + +export let invidiousSavePlayerPos; +export const getInvidiousSavePlayerPos = () => invidiousSavePlayerPos; +export function setInvidiousSavePlayerPos(val) { + invidiousSavePlayerPos = val; + browser.storage.local.set({ invidiousSavePlayerPos }) + console.log("invidiousSavePlayerPos: ", invidiousSavePlayerPos) +} + +export async function invidiousInit() { + return new Promise( + resolve => { + browser.storage.local.get( + [ + "invidiousQuality", + "invidiousAlwaysProxy", + "invidiousQuality", + "invidiousPlayerStyle", + "invidiousVideoLoop", + "invidiousContinueAutoplay", + "invidiousContinue", + "invidiousListen", + "invidiousSpeed", + "invidiousQualityDash", + "invidiousComments", + "invidiousCaptions", + "invidiousRelatedVideos", + "invidiousAnnotations", + "invidiousExtendDesc", + "invidiousVrMode", + "invidiousSavePlayerPos", + ], + r => { + invidiousQuality = r.invidiousQuality ?? 'DEFAULT'; + invidiousAlwaysProxy = r.invidiousAlwaysProxy ?? 'DEFAULT'; + invidiousPlayerStyle = r.invidiousPlayerStyle ?? 'DEFAULT'; + invidiousVideoLoop = r.invidiousVideoLoop ?? 'DEFAULT'; + invidiousContinueAutoplay = r.invidiousContinueAutoplay ?? 'DEFAULT'; + invidiousContinue = r.invidiousContinue ?? 'DEFAULT'; + invidiousListen = r.invidiousListen ?? 'DEFAULT'; + invidiousSpeed = r.invidiousSpeed ?? 'DEFAULT'; + invidiousQualityDash = r.invidiousQualityDash ?? 'DEFAULT'; + invidiousComments = r.invidiousComments ?? ['DEFAULT', 'DEFAULT']; + invidiousCaptions = r.invidiousCaptions ?? ['DEFAULT', 'DEFAULT', 'DEFAULT']; + invidiousRelatedVideos = r.invidiousRelatedVideos ?? 'DEFAULT'; + invidiousAnnotations = r.invidiousAnnotations ?? 'DEFAULT'; + invidiousExtendDesc = r.invidiousExtendDesc ?? 'DEFAULT'; + invidiousVrMode = r.invidiousVrMode ?? 'DEFAULT'; + invidiousSavePlayerPos = r.invidiousSavePlayerPos ?? 'DEFAULT'; + + + resolve(); + } + ) + } + ) +} diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js index 0eed1ceb..8044ce4a 100644 --- a/src/assets/javascripts/helpers/youtube/youtube.js +++ b/src/assets/javascripts/helpers/youtube/youtube.js @@ -1,6 +1,73 @@ "use strict"; import commonHelper from '../common.js' +import { + invidiousQuality, + getinvidiousQuality, + setinvidiousQuality, + + invidiousAlwaysProxy, + setInvidiousAlwaysProxy, + getInvidiousAlwaysProxy, + + invidiousPlayerStyle, + getInvidiousPlayerStyle, + setInvidiousPlayerStyle, + + invidiousInit, + invidiousVideoLoop, + getInvidiousVideoLoop, + setInvidiousVideoLoop, + + invidiousContinueAutoplay, + getInvidiousContinueAutoplay, + setInvidiousContinueAutoplay, + + invidiousContinue, + getInvidiousContinue, + setInvidiousContinue, + + invidiousListen, + getInvidiousListen, + setInvidiousListen, + + invidiousSpeed, + getInvidiousSpeed, + setInvidiousSpeed, + + invidiousQualityDash, + getInvidiousQualityDash, + setInvidiousQualityDash, + + invidiousComments, + getInvidiousComments, + setInvidiousComments, + + invidiousCaptions, + getInvidiousCaptions, + setInvidiousCaptions, + + invidiousRelatedVideos, + getInvidiousRelatedVideos, + setInvidiousRelatedVideos, + + invidiousAnnotations, + getInvidiousAnnotations, + setInvidiousAnnotations, + + invidiousExtendDesc, + getInvidiousExtendDesc, + setInvidiousExtendDesc, + + invidiousVrMode, + getInvidiousVrMode, + setInvidiousVrMode, + + invidiousSavePlayerPos, + getInvidiousSavePlayerPos, + setInvidiousSavePlayerPos, + +} from './invidious-options.js' window.browser = window.browser || window.chrome; @@ -44,6 +111,7 @@ let redirects = { const getRedirects = () => redirects; +let applyThemeToSites; function getCustomRedirects() { return { "invidious": { @@ -187,14 +255,6 @@ function setProtocol(val) { console.log("youtubeProtocol: ", val) } -let invidiousAlwaysProxy; -function setInvidiousAlwaysProxy(val) { - invidiousAlwaysProxy = val; - browser.storage.local.set({ invidiousAlwaysProxy }) - console.log("invidiousAlwaysProxy: ", invidiousAlwaysProxy); -} -const getInvidiousAlwaysProxy = () => invidiousAlwaysProxy; - let OnlyEmbeddedVideo; function setOnlyEmbeddedVideo(val) { OnlyEmbeddedVideo = val; @@ -203,21 +263,7 @@ function setOnlyEmbeddedVideo(val) { } const getOnlyEmbeddedVideo = () => OnlyEmbeddedVideo; -let invidiousVideoQuality; -function setInvidiousVideoQuality(val) { - invidiousVideoQuality = val; - browser.storage.local.set({ invidiousVideoQuality }) - console.log("invidiousVideoQuality: ", invidiousVideoQuality) -} -const getInvidiousVideoQuality = () => invidiousVideoQuality; - let theme; -const getTheme = () => theme; -function setTheme(val) { - theme = val; - browser.storage.local.set({ theme: theme }) - console.log("theme: ", theme) -} let volume; const getVolume = () => volume; @@ -227,22 +273,6 @@ function setVolume(val) { console.log("youtubeVolume: ", volume) } -let invidiousPlayerStyle; -const getInvidiousPlayerStyle = () => invidiousPlayerStyle; -function setInvidiousPlayerStyle(val) { - invidiousPlayerStyle = val; - browser.storage.local.set({ invidiousPlayerStyle }) - console.log("invidiousPlayerStyle: ", invidiousPlayerStyle) -} - -let invidiousSubtitles; -let getInvidiousSubtitles = () => invidiousSubtitles; -function setInvidiousSubtitles(val) { - invidiousSubtitles = val; - browser.storage.local.set({ invidiousSubtitles }) - console.log("invidiousSubtitles: ", invidiousSubtitles) -} - let autoplay; const getAutoplay = () => autoplay; function setAutoplay(val) { @@ -267,14 +297,6 @@ function setYoutubeEmbedFrontend(val) { console.log("youtubeEmbedFrontend: ", youtubeEmbedFrontend) } -let persistInvidiousPrefs; -const getPersistInvidiousPrefs = () => persistInvidiousPrefs; -function setPersistInvidiousPrefs(val) { - persistInvidiousPrefs = val; - browser.storage.local.set({ persistInvidiousPrefs }) - console.log("persistInvidiousPrefs: ", persistInvidiousPrefs) -} - let bypassWatchOnYoutube; const getBypassWatchOnYoutube = () => bypassWatchOnYoutube; function setBypassWatchOnYoutube(val) { @@ -305,7 +327,6 @@ function isException(url) { return false; } - let alwaysUsePreferred; function redirect(url, details, initiator) { if (disable) return null; @@ -441,9 +462,6 @@ function redirect(url, details, initiator) { function changeInstance(url) { let protocolHost = `${url.protocol}//${url.host}`; - - console.log("protocolHost", protocolHost); - if ( protocol == 'normal' && ![ @@ -555,23 +573,7 @@ function initPipedMaterialLocalStorage(tabId) { ); } -let applyThemeToSites; function initInvidiousCookies() { - let prefs = {}; - if (invidiousAlwaysProxy != "DEFAULT") prefs.local = invidiousAlwaysProxy == 'true'; - if (invidiousVideoQuality != "DEFAULT") prefs.quality = invidiousVideoQuality; - if (applyThemeToSites && theme != "DEFAULT") prefs.dark_mode = theme; - if (volume != "--") prefs.volume = parseInt(volume); - if (invidiousPlayerStyle != "DEFAULT") prefs.player_style = invidiousPlayerStyle; - if (invidiousSubtitles != "DEFAULT") prefs.subtitles = invidiousSubtitles; - if (autoplay != "DEFAULT") prefs.autoplay = autoplay == 'true'; - - let allInstances = [ - ...redirects.invidious.normal, - ...redirects.invidious.tor, - ...invidiousNormalCustomRedirects, - ...invidiousTorCustomRedirects, - ] let checkedInstances = [ ...invidiousNormalRedirectsChecks, @@ -580,126 +582,158 @@ function initInvidiousCookies() { ...invidiousTorCustomRedirects, ]; - for (const item of allInstances) - if (!checkedInstances.includes(item)) - browser.cookies.remove({ - url: item, + for (const instanceUrl of checkedInstances) + browser.cookies.get( + { + url: instanceUrl, name: "PREFS", + }, + cookie => { + let prefs = {}; + if (cookie) browser.cookies.remove({ url: instanceUrl, name: "PREFS" }) + + if (invidiousAlwaysProxy != "DEFAULT") prefs.local = invidiousAlwaysProxy == 'true'; + if (applyThemeToSites && theme != "DEFAULT") prefs.dark_mode = theme; + if (invidiousVideoLoop != "DEFAULT") prefs.video_loop = invidiousVideoLoop == 'true'; + if (invidiousContinueAutoplay != "DEFAULT") prefs.continue_autoplay = invidiousContinueAutoplay == 'true'; + if (invidiousContinue != "DEFAULT") prefs.continue = invidiousContinue == 'true'; + if (invidiousListen != "DEFAULT") prefs.listen = invidiousListen == 'true'; + if (invidiousSpeed != "DEFAULT") prefs.speed = parseFloat(invidiousSpeed); + if (invidiousQuality != "DEFAULT") prefs.quality = invidiousQuality; + if (invidiousQualityDash != "DEFAULT") prefs.quality_dash = invidiousQualityDash; + + if (invidiousComments[0] != "DEFAULT" || invidiousComments[1] != "DEFAULT") prefs.comments = [] + + if (invidiousComments[0] != "DEFAULT") prefs.comments[0] = invidiousComments[0]; + else if (invidiousComments[1] != "DEFAULT") prefs.comments[0] = "" + if (invidiousComments[1] != "DEFAULT") prefs.comments[1] = invidiousComments[1]; + else if (invidiousComments[0] != "DEFAULT") prefs.comments[1] = "" + + if (invidiousCaptions[0] != "DEFAULT" || invidiousCaptions[1] != "DEFAULT" || invidiousCaptions[2] != "DEFAULT") prefs.captions = []; + + if (invidiousCaptions[0] != "DEFAULT") prefs.captions[0] = invidiousCaptions[0]; + else if (invidiousCaptions[1] != "DEFAULT" || invidiousCaptions[2] != "DEFAULT") prefs.captions[0] = ""; + + if (invidiousCaptions[1] != "DEFAULT") prefs.captions[1] = invidiousCaptions[1]; + else if (invidiousCaptions[0] != "DEFAULT" || invidiousCaptions[2] != "DEFAULT") prefs.captions[1] = ""; + + if (invidiousCaptions[2] != "DEFAULT") prefs.captions[2] = invidiousCaptions[2]; + else if (invidiousCaptions[0] != "DEFAULT" || invidiousCaptions[1] != "DEFAULT") prefs.captions[2] = ""; + + if (invidiousRelatedVideos != "DEFAULT") prefs.related_videos = invidiousRelatedVideos == 'true'; + if (invidiousAnnotations != "DEFAULT") prefs.annotations = invidiousAnnotations == 'true'; + if (invidiousExtendDesc != "DEFAULT") prefs.extend_desc = invidiousExtendDesc == 'true'; + if (invidiousVrMode != "DEFAULT") prefs.vr_mode = invidiousVrMode == 'true'; + if (invidiousSavePlayerPos != "DEFAULT") prefs.save_player_pos = invidiousSavePlayerPos == 'true'; + + if (volume != "--") prefs.volume = parseInt(volume); + if (invidiousPlayerStyle != "DEFAULT") prefs.player_style = invidiousPlayerStyle; + if (autoplay != "DEFAULT") prefs.autoplay = autoplay == 'true'; + + if (Object.entries(prefs).length !== 0) + browser.cookies.set({ + url: instanceUrl, + name: "PREFS", + value: encodeURIComponent(JSON.stringify(prefs)) + }) }) - - for (const instanceUrl of checkedInstances) - browser.cookies.set({ - url: instanceUrl, - name: "PREFS", - value: encodeURIComponent(JSON.stringify(prefs)) - }) } async function init() { - return new Promise((resolve) => { - fetch('/instances/data.json').then(response => response.text()).then(data => { - let dataJson = JSON.parse(data); - browser.storage.local.get( - [ - "invidiousAlwaysProxy", - "invidiousVideoQuality", - "theme", - "applyThemeToSites", - "persistInvidiousPrefs", - "disableYoutube", - "OnlyEmbeddedVideo", - "youtubeVolume", - "invidiousPlayerStyle", - "invidiousSubtitles", - "youtubeAutoplay", - "youtubeRedirects", - "youtubeFrontend", - - "invidiousNormalRedirectsChecks", - "invidiousNormalCustomRedirects", + await invidiousInit(); + return new Promise( + resolve => { + fetch('/instances/data.json').then(response => response.text()).then(data => { + let dataJson = JSON.parse(data); + browser.storage.local.get( + [ + "theme", + "applyThemeToSites", + "disableYoutube", + "OnlyEmbeddedVideo", + "youtubeVolume", + "youtubeAutoplay", + "youtubeRedirects", + "youtubeFrontend", - "invidiousTorRedirectsChecks", - "invidiousTorCustomRedirects", + "invidiousNormalRedirectsChecks", + "invidiousNormalCustomRedirects", - "pipedNormalRedirectsChecks", - "pipedNormalCustomRedirects", + "invidiousTorRedirectsChecks", + "invidiousTorCustomRedirects", - "pipedMaterialNormalRedirectsChecks", - "pipedMaterialNormalCustomRedirects", + "pipedNormalRedirectsChecks", + "pipedNormalCustomRedirects", - "pipedMaterialTorRedirectsChecks", - "pipedMaterialTorCustomRedirects", + "pipedMaterialNormalRedirectsChecks", + "pipedMaterialNormalCustomRedirects", - "pipedTorRedirectsChecks", - "pipedTorCustomRedirects", - "alwaysUsePreferred", - "youtubeEmbedFrontend", + "pipedMaterialTorRedirectsChecks", + "pipedMaterialTorCustomRedirects", - "youtubeProtocol", + "pipedTorRedirectsChecks", + "pipedTorCustomRedirects", + "alwaysUsePreferred", + "youtubeEmbedFrontend", - "youtubeEmbedExceptions", - "bypassWatchOnYoutube" - ], - r => { // r = result - redirects.invidious = dataJson.invidious; - if (r.youtubeRedirects) redirects = r.youtubeRedirects; + "youtubeProtocol", - disable = r.disableYoutube ?? false; - protocol = r.youtubeProtocol ?? 'normal'; - frontend = r.youtubeFrontend ?? 'invidious'; - youtubeEmbedFrontend = r.youtubeEmbedFrontend ?? 'invidious'; + "youtubeEmbedExceptions", + "bypassWatchOnYoutube" + ], + r => { // r = result + redirects.invidious = dataJson.invidious; + if (r.youtubeRedirects) redirects = r.youtubeRedirects; - theme = r.theme ?? 'DEFAULT'; - applyThemeToSites = r.applyThemeToSites ?? false; + disable = r.disableYoutube ?? false; + protocol = r.youtubeProtocol ?? 'normal'; + frontend = r.youtubeFrontend ?? 'invidious'; + youtubeEmbedFrontend = r.youtubeEmbedFrontend ?? 'invidious'; - volume = r.youtubeVolume ?? '--'; - autoplay = r.youtubeAutoplay ?? 'DEFAULT'; + theme = r.theme ?? 'DEFAULT'; + applyThemeToSites = r.applyThemeToSites ?? false; - invidiousAlwaysProxy = r.invidiousAlwaysProxy ?? 'DEFAULT'; - OnlyEmbeddedVideo = r.OnlyEmbeddedVideo ?? 'both'; - invidiousVideoQuality = r.invidiousVideoQuality ?? 'DEFAULT'; - invidiousPlayerStyle = r.invidiousPlayerStyle ?? 'DEFAULT'; - invidiousSubtitles = r.invidiousSubtitles || ''; + volume = r.youtubeVolume ?? '--'; + autoplay = r.youtubeAutoplay ?? 'DEFAULT'; - invidiousNormalRedirectsChecks = r.invidiousNormalRedirectsChecks ?? [...redirects.invidious.normal]; - invidiousNormalCustomRedirects = r.invidiousNormalCustomRedirects ?? []; + OnlyEmbeddedVideo = r.OnlyEmbeddedVideo ?? 'both'; - invidiousTorRedirectsChecks = r.invidiousTorRedirectsChecks ?? [...redirects.invidious.tor]; - invidiousTorCustomRedirects = r.invidiousTorCustomRedirects ?? []; + invidiousNormalRedirectsChecks = r.invidiousNormalRedirectsChecks ?? [...redirects.invidious.normal]; + invidiousNormalCustomRedirects = r.invidiousNormalCustomRedirects ?? []; - pipedNormalRedirectsChecks = r.pipedNormalRedirectsChecks ?? [...redirects.piped.normal]; - pipedNormalCustomRedirects = r.pipedNormalCustomRedirects ?? []; + invidiousTorRedirectsChecks = r.invidiousTorRedirectsChecks ?? [...redirects.invidious.tor]; + invidiousTorCustomRedirects = r.invidiousTorCustomRedirects ?? []; - pipedTorRedirectsChecks = r.pipedTorRedirectsChecks ?? [...redirects.piped.tor]; - pipedTorCustomRedirects = r.pipedTorCustomRedirects ?? []; + pipedNormalRedirectsChecks = r.pipedNormalRedirectsChecks ?? [...redirects.piped.normal]; + pipedNormalCustomRedirects = r.pipedNormalCustomRedirects ?? []; + pipedTorRedirectsChecks = r.pipedTorRedirectsChecks ?? [...redirects.piped.tor]; + pipedTorCustomRedirects = r.pipedTorCustomRedirects ?? []; - pipedMaterialNormalRedirectsChecks = r.pipedMaterialNormalRedirectsChecks ?? [...redirects.pipedMaterial.normal]; - pipedMaterialNormalCustomRedirects = r.pipedMaterialNormalCustomRedirects ?? []; + pipedMaterialNormalRedirectsChecks = r.pipedMaterialNormalRedirectsChecks ?? [...redirects.pipedMaterial.normal]; + pipedMaterialNormalCustomRedirects = r.pipedMaterialNormalCustomRedirects ?? []; - pipedMaterialTorRedirectsChecks = r.pipedMaterialTorRedirectsChecks ?? [...redirects.pipedMaterial.tor]; - pipedMaterialTorCustomRedirects = r.pipedMaterialTorCustomRedirects ?? []; + pipedMaterialTorRedirectsChecks = r.pipedMaterialTorRedirectsChecks ?? [...redirects.pipedMaterial.tor]; + pipedMaterialTorCustomRedirects = r.pipedMaterialTorCustomRedirects ?? []; - persistInvidiousPrefs = r.persistInvidiousPrefs ?? false; + alwaysUsePreferred = r.alwaysUsePreferred ?? false; - alwaysUsePreferred = r.alwaysUsePreferred ?? false; + bypassWatchOnYoutube = r.bypassWatchOnYoutube ?? true; - bypassWatchOnYoutube = r.bypassWatchOnYoutube ?? true; + if (r.youtubeEmbedExceptions) exceptions = r.youtubeEmbedExceptions; - if (r.youtubeEmbedExceptions) exceptions = r.youtubeEmbedExceptions; + initInvidiousCookies(); + resolve(); - initInvidiousCookies(); - - resolve(); - }); - }); - }) + }); + }); + }) } export default { getBypassWatchOnYoutube, setBypassWatchOnYoutube, - initInvidiousCookies, + initPipedLocalStorage, initPipedMaterialLocalStorage, @@ -719,38 +753,70 @@ export default { isPipedorInvidious, + initInvidiousCookies, + + setInvidiousAlwaysProxy, + getInvidiousAlwaysProxy, + + setinvidiousQuality, + getinvidiousQuality, + + setInvidiousPlayerStyle, + getInvidiousPlayerStyle, + + getInvidiousVideoLoop, + setInvidiousVideoLoop, + getDisable, setDisable, getProtocol, setProtocol, - setInvidiousAlwaysProxy, - getInvidiousAlwaysProxy, - setOnlyEmbeddedVideo, getOnlyEmbeddedVideo, - setInvidiousVideoQuality, - getInvidiousVideoQuality, - - setTheme, - getTheme, - setVolume, getVolume, - setInvidiousPlayerStyle, - getInvidiousPlayerStyle, - - setInvidiousSubtitles, - getInvidiousSubtitles, - setAutoplay, getAutoplay, - getPersistInvidiousPrefs, - setPersistInvidiousPrefs, + getInvidiousContinueAutoplay, + setInvidiousContinueAutoplay, + + getInvidiousContinue, + setInvidiousContinue, + + getInvidiousListen, + setInvidiousListen, + + getInvidiousSpeed, + setInvidiousSpeed, + + getInvidiousQualityDash, + setInvidiousQualityDash, + + getInvidiousComments, + setInvidiousComments, + + getInvidiousCaptions, + setInvidiousCaptions, + + getInvidiousRelatedVideos, + setInvidiousRelatedVideos, + + getInvidiousAnnotations, + setInvidiousAnnotations, + + getInvidiousExtendDesc, + setInvidiousExtendDesc, + + getInvidiousVrMode, + setInvidiousVrMode, + + getInvidiousSavePlayerPos, + setInvidiousSavePlayerPos, getInvidiousNormalRedirectsChecks, setInvidiousNormalRedirectsChecks, diff --git a/src/pages/options/general/general.js b/src/pages/options/general/general.js index 54a1fd19..c737759f 100644 --- a/src/pages/options/general/general.js +++ b/src/pages/options/general/general.js @@ -115,7 +115,6 @@ generalHelper.init().then(() => { ) let exceptionsCustomInstances = generalHelper.getExceptions(); function calcExceptionsCustomInstances() { - console.log("exceptionsCustomInstances", exceptionsCustomInstances) document.getElementById("exceptions-custom-checklist").innerHTML = [...exceptionsCustomInstances.url, ...exceptionsCustomInstances.regex].map( (x) => `
${x}
-
-

Volume: 50%

- - -
-

Autoplay Video

+
+
+

Always loop

+ +
+ +
+

Autoplay next video

+ +
+ +
+

Play next by default

+ +
+

Always proxy videos

- @@ -196,8 +211,32 @@
-

Video Quality

- + + + + +
+ +
+

Default speed

+ +
+ +
+

Preferred video quality

+ +

Preferred DASH video quality

+ +
+ +
+

Volume: --%

+ +
- + +
+

Default comments

+ +   + +
+ +
+

Default captions

+ +   + +   + +
+ +
+

Show related videos

+ +
+ +
+

Show annotations by default

+ +
+ +
+

Automatically extend video description

+ +
+ +
+

Interactive 360 degree videos (requires WebGL)

+ +
+ +
+

Save playback position

+ +

diff --git a/src/pages/options/youtube/youtube.js b/src/pages/options/youtube/youtube.js index 79a206a6..180276ca 100644 --- a/src/pages/options/youtube/youtube.js +++ b/src/pages/options/youtube/youtube.js @@ -99,7 +99,7 @@ invidiousClearVolumeElement.addEventListener("click", (_) => { youtubeHelper.setVolume('--'); volumeValueElement.textContent = `--%`; - volumeElement.value = 50; + volumeElement.value = null; } ); diff --git a/src/pages/stylesheets/styles.css b/src/pages/stylesheets/styles.css index 277ef2e4..cb632c14 100644 --- a/src/pages/stylesheets/styles.css +++ b/src/pages/stylesheets/styles.css @@ -49,24 +49,17 @@ img, svg { input[type="url"], input[type="text"], select { - padding: 5px 10px; - width: 350px; font-weight: bold; - border-radius: 3px; box-sizing: border-box; - background-color: var(--bg-main); border-style: solid; border-color: #767676; color: var(--text); -} - -select { font-size: 16px; padding: 8px; background-color: var(--bg-secondary); border: none; margin: 0; - width: auto; + width: 200px; border-radius: 3px; } -- cgit 1.4.1