diff options
author | SimonBrazell <simon@brazell.com.au> | 2020-07-12 11:26:48 +1000 |
---|---|---|
committer | SimonBrazell <simon@brazell.com.au> | 2020-07-12 20:25:31 +1000 |
commit | 745c5babcf9104924631185b2ea3f235c45d270a (patch) | |
tree | 457df4cd62a541e1b65a82eb1ca2f9b1f28fbd06 /assets/javascript/persist-invidious-prefs.js | |
parent | Closes #64, closes #38 - Fix whitelist & Twitter `/home` exception (diff) | |
download | libredirect-745c5babcf9104924631185b2ea3f235c45d270a.zip |
Improve exceptions (whitelist), i18n (fr), etc.
- Closes #69 - Closes #70 - Fixes #71 - Closes #72 - added fr l10n - Fixes #73 - Implement additional Invidious params (#66)
Diffstat (limited to 'assets/javascript/persist-invidious-prefs.js')
-rw-r--r-- | assets/javascript/persist-invidious-prefs.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/assets/javascript/persist-invidious-prefs.js b/assets/javascript/persist-invidious-prefs.js new file mode 100644 index 00000000..4c13a310 --- /dev/null +++ b/assets/javascript/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))}`; + } + } +); \ No newline at end of file |