You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
722 B
1 line
722 B
2 years ago
|
(()=>{const e=document.documentElement,t=document.getElementById("darkmode-switch"),r=e=>{try{return localStorage.getItem(e)}catch(e){return null}},c=()=>window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",o=()=>{e.removeAttribute("data-user-color-scheme"),(e=>{try{localStorage.removeItem(e)}catch(e){}})("user-color-scheme")},l={dark:!0,light:!0},a=t=>{const a=t||r("user-color-scheme");a===c()?o():l[a]?e.setAttribute("data-user-color-scheme",a):o()},s={dark:"light",light:"dark"},m=()=>{let e=r("user-color-scheme");if(l[e])e=s[e];else{if(null!==e)return;e=s[c()]}return((e,t)=>{try{localStorage.setItem(e,t)}catch(e){}})("user-color-scheme",e),e};a(),t.addEventListener("click",()=>{a(m())})})();
|