keyboard/altgr/unigraph: bump version after perl v5.32 rebuild
[sheet.git] / prefer.js
index 2bf092b7e0b2270422f84f2210c014568520763f..6f5c3797bbe209e6b7c61db4c965623cb8cff34a 100644 (file)
--- a/prefer.js
+++ b/prefer.js
@@ -1,14 +1,22 @@
+function setstyle(name, state = true) {
+       document.documentElement.classList.toggle('s-'+name, state);
+}
+
 (function prefstyle() {
-       docroot = document.documentElement;
-       if (docroot.className) {
+       const cookies = new Map(
+               document.cookie.split(';').map(v => v.trim().split('=', 2))
+       );
+       if ((pref = cookies.get('style'))) {
+               setstyle(pref);
                return;
        }
+
        new Map([
-               ['s-mono',   '(monochrome)'],
-               ['s-dark',   '(prefers-color-scheme: dark)'],
-               ['s-circus', '(prefers-contrast: more)'],
+               ['mono',   '(monochrome)'],
+               ['dark',   '(prefers-color-scheme: dark)'],
+               ['circus', '(prefers-contrast: more)'],
        ]).forEach((q,c) => {
                if (m = window.matchMedia(q))
-                       (m.onchange = e => docroot.classList.toggle(c, e.matches))(m);
+                       (m.onchange = e => setstyle(c, e.matches))(m);
        });
 })();