-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmain.js
45 lines (37 loc) · 1.13 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
document.addEventListener("DOMContentLoaded", function(){
var toggle = document.getElementById("scheme-toggle");
var scheme = "light";
var savedScheme = localStorage.getItem("scheme");
var container = document.getElementsByTagName("html")[0];
var prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches;
if (prefersDark) {
scheme = "dark";
}
if(savedScheme) {
scheme = savedScheme;
}
if(scheme == "dark") {
darkscheme(toggle, container);
} else {
lightscheme(toggle, container);
}
toggle.addEventListener("click", () => {
if (toggle.className === "light") {
darkscheme(toggle, container);
} else if (toggle.className === "dark") {
lightscheme(toggle, container);
}
});
});
function darkscheme(toggle, container) {
localStorage.setItem("scheme", "dark");
toggle.innerHTML = feather.icons.sun.toSvg();
toggle.className = "dark";
container.className = "dark";
}
function lightscheme(toggle, container) {
localStorage.setItem("scheme", "light");
toggle.innerHTML = feather.icons.moon.toSvg();
toggle.className = "light";
container.className = "";
}