19 lines
No EOL
637 B
JavaScript
19 lines
No EOL
637 B
JavaScript
(function(){
|
|
var root=document.documentElement;
|
|
function gespeichert(){
|
|
try{return localStorage.getItem('theme');}catch(e){return null;}
|
|
}
|
|
function setzen(theme){
|
|
root.dataset.theme=theme;
|
|
try{localStorage.setItem('theme',theme);}catch(e){}
|
|
}
|
|
var start=gespeichert();
|
|
if(!start&&window.matchMedia){
|
|
start=window.matchMedia('(prefers-color-scheme:dark)').matches?'dark':'light';
|
|
}
|
|
root.dataset.theme=start||root.dataset.theme||'light';
|
|
document.addEventListener('click',function(e){
|
|
var el=e.target.closest&&e.target.closest('[data-action="theme-toggle"]');
|
|
if(el)setzen(root.dataset.theme==='dark'?'light':'dark');
|
|
});
|
|
})(); |