summaryrefslogtreecommitdiff
path: root/data/extensions/{b7f9d2cd-d772-4302-8c3f-eb941af36f76}/assets/javascripts/persist-invidious-prefs.js
diff options
context:
space:
mode:
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.js30
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))}`;
+ }
+ }
+);