blob: b17f2457b61b81055dfafe6bbec1182b46eb2047 (
plain) (
tree)
|
|
var isDarkTheme=false;
function loadTheme(){
var thm=document.cookie.replace(new RegExp("(?:(?:^|.*;\\s*)thm\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1");
if(thm.length<2||'0123z'.indexOf(thm[0])==-1||'abz'.indexOf(thm[1])==-1)thm='zz';
if(document.getElementById('themesw'))
{
var tbtn=document.getElementById('themesw').querySelectorAll('a');
tbtn.forEach(function(a){a.style.borderBottomColor='rgba(255,255,255,0)'});
document.getElementById(`ts${thm[0]}`).style.borderBottomColor='#FFF';
document.getElementById(`tt${thm[1]}`).style.borderBottomColor='#FFF';
}
var ent="";
var d=new Date();
if(thm[0]=='z')
{
var m=d.getMonth()+1;
if(m>=3&&m<6)thm='0'+thm[1];
else if(m>=6&&m<9)thm='1'+thm[1];
else if(m>=9&&m<12)thm='2'+thm[1];
else thm='3'+thm[1];
}
if(thm[1]=='z')
{
if(window.matchMedia&&matchMedia('(prefers-color-scheme:dark)')&&matchMedia('(prefers-color-scheme:dark)').matches)
thm=thm[0]+'b';
else {if(d.getHours()>=18||d.getHours()<6)thm=thm[0]+'b';else thm=thm[0]+'a';}
}
if(thm[1]=='b')isDarkTheme=true;
ent=`theme${thm}`;
var R=new RegExp('theme[0-4][ab]');
for(var i=0;i<document.styleSheets.length;++i)
{
if(R.exec(document.styleSheets[i].ownerNode.id)!==null&&document.styleSheets[i].ownerNode.id!=ent)
document.styleSheets[i].disabled=true;
else document.styleSheets[i].disabled=false;
}
var thmcolor="";
switch(thm[0])
{
case '0':thmcolor=thm[1]=='a'?'#f59dda':'#2f0933';break;
case '1':thmcolor=thm[1]=='a'?'#9df59d':'#090933';break;
case '2':thmcolor=thm[1]=='a'?'#edb47b':'#1f1205';break;
case '3':thmcolor=thm[1]=='a'?'#a0cdfa':'#051933';break;
}
document.querySelector("meta[name=theme-color]").setAttribute('content',thmcolor);
}
|