Skip to content

Commit 8e06845

Browse files
committed
feat: add darkmode on userpreference
1 parent 3b85c5d commit 8e06845

File tree

1 file changed

+23
-4
lines changed

1 file changed

+23
-4
lines changed

src/demo/js/toggle-dark.js

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
const icon = document.querySelector(".darkmode i");
2-
if (window.matchMedia("(prefers-color-scheme: dark)").matches == true) {
3-
darkmode();
4-
} else {
5-
lightmode();
2+
if (getCookie("darkmode") === null) {
3+
if (window.matchMedia("(prefers-color-scheme: dark)").matches == true) {
4+
darkmode();
5+
} else {
6+
lightmode();
7+
}
68
}
79

810
function toggleTheme() {
@@ -33,3 +35,20 @@ function setCookie(cname, cvalue, exdays) {
3335
var expires = "expires=" + d.toUTCString();
3436
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
3537
}
38+
39+
function getCookie(name) {
40+
var dc = document.cookie;
41+
var prefix = name + "=";
42+
var begin = dc.indexOf("; " + prefix);
43+
if (begin == -1) {
44+
begin = dc.indexOf(prefix);
45+
if (begin != 0) return null;
46+
} else {
47+
begin += 2;
48+
var end = document.cookie.indexOf(";", begin);
49+
if (end == -1) {
50+
end = dc.length;
51+
}
52+
}
53+
return decodeURI(dc.substring(begin + prefix.length, end));
54+
}

0 commit comments

Comments
 (0)