Skip to content

Commit b1f84a6

Browse files
fix: implement theme toggle logic for contributing page
1 parent fe34319 commit b1f84a6

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

‎frontend/js/contributing.js‎

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,3 +91,28 @@
9191

9292
handleScroll();
9393
})();
94+
95+
// Theme Toggle Logic
96+
document.addEventListener('DOMContentLoaded', () => {
97+
const themeToggle = document.getElementById('themeToggle');
98+
if (themeToggle) {
99+
const icon = themeToggle.querySelector('i');
100+
// Initial icon state
101+
if (document.documentElement.getAttribute('data-theme') === 'night') {
102+
icon.className = 'fa-solid fa-sun';
103+
}
104+
105+
themeToggle.addEventListener('click', () => {
106+
const isNight = document.documentElement.getAttribute('data-theme') === 'night';
107+
if (isNight) {
108+
document.documentElement.removeAttribute('data-theme');
109+
localStorage.setItem('bibliodrift_theme', 'light');
110+
icon.className = 'fa-solid fa-moon';
111+
} else {
112+
document.documentElement.setAttribute('data-theme', 'night');
113+
localStorage.setItem('bibliodrift_theme', 'night');
114+
icon.className = 'fa-solid fa-sun';
115+
}
116+
});
117+
}
118+
});

0 commit comments

Comments
 (0)