-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdark-mode.js
executable file
·40 lines (35 loc) · 1.33 KB
/
dark-mode.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
document.addEventListener('DOMContentLoaded', function () {
const toggleSwitch = document.querySelector('.toggle-switch .checkbox');
const darkModeStyle = document.getElementById('dark-mode-style');
const highlightLight = document.getElementById('highlight-style-light');
const highlightDark = document.getElementById('highlight-style-dark');
const currentTheme = localStorage.getItem('theme');
function enableDarkMode() {
document.body.classList.add('dark-mode');
darkModeStyle.disabled = false;
highlightLight.disabled = true;
highlightDark.disabled = false;
localStorage.setItem('theme', 'dark');
}
function disableDarkMode() {
document.body.classList.remove('dark-mode');
darkModeStyle.disabled = true;
highlightLight.disabled = false;
highlightDark.disabled = true;
localStorage.setItem('theme', 'light');
}
// Aplicar el tema guardado en localStorage
if (currentTheme === 'dark') {
enableDarkMode();
if (toggleSwitch) toggleSwitch.checked = true;
}
if (toggleSwitch) {
toggleSwitch.addEventListener('change', function () {
if (this.checked) {
enableDarkMode();
} else {
disableDarkMode();
}
});
}
});