Auto darkmode fix

This commit is contained in:
gurusabarish
2022-01-25 23:08:26 +05:30
parent 5cc0bc0a46
commit bbcf135e17
5 changed files with 88 additions and 75 deletions
+30 -26
View File
@@ -1,21 +1,21 @@
function setCookie(cname, cvalue) {
document.cookie = cname + "=" + cvalue + ";path=/;";
}
function getCookie(cname) {
let name = cname + "=";
let decodedCookie = decodeURIComponent(document.cookie);
let ca = decodedCookie.split(';');
for(let i = 0; i <ca.length; i++) {
let c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
function setCookie(name,value,days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days*24*60*60*1000));
expires = "; expires=" + date.toUTCString();
}
return "";
document.cookie = name + "=" + (value || "") + expires + "; path=/";
}
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function getDarkmodeSetting() {
@@ -31,14 +31,14 @@ function getDarkmodeSetting() {
function setDarkmodeSetting(value) {
if (value) {
setCookie("darkmode", "true");
setCookie("darkmode", "true", 100);
} else {
setCookie("darkmode", "false");
setCookie("darkmode", "false", 100);
}
}
function switchDarkmodeSetting() {
let darkmode = getDarkmodeSetting();
const darkmode = getDarkmodeSetting();
switch(darkmode) {
case true:
setDarkmodeSetting(false);
@@ -49,11 +49,15 @@ function switchDarkmodeSetting() {
default:
setDarkmodeSetting(true);
break;
}
}
}
let darkmode = getDarkmodeSetting();
let darkmode_prefer = window.matchMedia('(prefers-color-scheme: dark)').matches;
if ((darkmode_prefer && darkmode===null) || darkmode) {
$(".darkmode-label").click();
}
const check_darkmode = getDarkmodeSetting();
const darkmode_prefer = window.matchMedia('(prefers-color-scheme: dark)').matches;
if (darkmode_prefer && check_darkmode === null) {
autoDarkMode();
setDarkmodeSetting(true);
} else if (check_darkmode) {
autoDarkMode();
}