forked from DecodersCommunity/HeroPedia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTheme.js
28 lines (24 loc) · 962 Bytes
/
Theme.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
// Function to toggle dark mode
function toggleDarkMode() {
const body = document.body;
const header = document.querySelector('header');
const button = document.querySelector('#btn');
const word = document.querySelector('#All');
body.classList.toggle('dark-mode');
header.classList.toggle('dark-mode');
button.classList.toggle('dark-mode');
word.classList.toggle('dark-mode');
// Store the user's preference in local storage
if (body.classList.contains('dark-mode')) {
localStorage.setItem('dark-mode', 'enabled');
} else {
localStorage.setItem('dark-mode', 'disabled');
}
}
// Check user's preference from local storage
const storedTheme = localStorage.getItem('dark-mode');
if (storedTheme === 'enabled') {
toggleDarkMode();
}
// Add click event listener to the theme toggle button
document.querySelector('#btn').addEventListener('click', toggleDarkMode);