about summary refs log tree commit diff stats
path: root/src/assets/javascripts/persist-invidious-prefs.js
blob: 9e313059787a87995afca1428d439020cad9504d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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(
  ["invidiousAlwaysProxy", "invidiousVideoQuality", "invidiousDarkMode", "persistInvidiousPrefs"],
  (result) => {
    if (result.persistInvidiousPrefs) {
      const prefs = getCookie();
      prefs.local = result.invidiousAlwaysProxy;
      prefs.quality = result.invidiousVideoQuality;
      prefs.dark_mode = result.invidiousDarkMode;
      document.cookie = `PREFS=${encodeURIComponent(JSON.stringify(prefs))}`;
    }
  }
);