28 lines
959 B
JavaScript
28 lines
959 B
JavaScript
document.addEventListener('DOMContentLoaded', () => {
|
|
const themeToggleBtn = document.getElementById('theme-toggle');
|
|
const body = document.body;
|
|
const icon = themeToggleBtn.querySelector('i');
|
|
|
|
// Check local storage
|
|
const currentTheme = localStorage.getItem('theme');
|
|
if (currentTheme === 'dark') {
|
|
body.classList.add('dark-mode');
|
|
icon.classList.remove('bi-moon-fill');
|
|
icon.classList.add('bi-sun-fill');
|
|
}
|
|
|
|
themeToggleBtn.addEventListener('click', () => {
|
|
body.classList.toggle('dark-mode');
|
|
|
|
if (body.classList.contains('dark-mode')) {
|
|
localStorage.setItem('theme', 'dark');
|
|
icon.classList.remove('bi-moon-fill');
|
|
icon.classList.add('bi-sun-fill');
|
|
} else {
|
|
localStorage.setItem('theme', 'light');
|
|
icon.classList.remove('bi-sun-fill');
|
|
icon.classList.add('bi-moon-fill');
|
|
}
|
|
});
|
|
});
|