diff options
Diffstat (limited to 'data/extensions/{b7f9d2cd-d772-4302-8c3f-eb941af36f76}/assets/javascripts/persist-invidious-prefs.js')
-rw-r--r-- | data/extensions/{b7f9d2cd-d772-4302-8c3f-eb941af36f76}/assets/javascripts/persist-invidious-prefs.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/data/extensions/{b7f9d2cd-d772-4302-8c3f-eb941af36f76}/assets/javascripts/persist-invidious-prefs.js b/data/extensions/{b7f9d2cd-d772-4302-8c3f-eb941af36f76}/assets/javascripts/persist-invidious-prefs.js new file mode 100644 index 0000000..dff2dd5 --- /dev/null +++ b/data/extensions/{b7f9d2cd-d772-4302-8c3f-eb941af36f76}/assets/javascripts/persist-invidious-prefs.js @@ -0,0 +1,30 @@ +"use strict"; + +window.browser = window.browser || window.chrome; + +function getCookie() { + let ca = document.cookie.split(";"); + for (let i = 0; i < ca.length; i++) { + let c = ca[i]; + while (c.charAt(0) == " ") c = c.substring(1, c.length); + if (c.indexOf("PREFS=") == 0) { + return JSON.parse( + decodeURIComponent(c.substring("PREFS=".length, c.length)) + ); + } + } + return {}; +} + +browser.storage.sync.get( + ["alwaysProxy", "videoQuality", "invidiousDarkMode", "persistInvidiousPrefs"], + (result) => { + if (result.persistInvidiousPrefs) { + const prefs = getCookie(); + prefs.local = result.alwaysProxy; + prefs.quality = result.videoQuality; + prefs.dark_mode = result.invidiousDarkMode; + document.cookie = `PREFS=${encodeURIComponent(JSON.stringify(prefs))}`; + } + } +); |