-
Notifications
You must be signed in to change notification settings - Fork 3
/
toggle.js
28 lines (24 loc) · 1.17 KB
/
toggle.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 toggleTheme() {
const body = document.body;
body.classList.toggle('light-mode'); // Toggle light mode class
const isLightMode = body.classList.contains('light-mode');
localStorage.setItem('theme', isLightMode ? 'light' : 'dark'); // Store theme preference
const toggleButton = document.getElementById('toggle-button');
toggleButton.innerText = isLightMode ? 'Dark Mode' : 'Light Mode';
}
// Function to apply the stored theme preference
function applyStoredTheme() {
const storedTheme = localStorage.getItem('theme');
if (storedTheme === 'light') {
document.body.classList.add('light-mode'); // Apply light mode
const toggleButton = document.getElementById('toggle-button');
toggleButton.innerText = 'Dark Mode';
}else{
const toggleButton = document.getElementById('toggle-button');
toggleButton.innerText = 'Light Mode';
}
}
// Apply the stored theme preference when the extension initializes or when a new tab is opened
document.addEventListener('DOMContentLoaded', applyStoredTheme);
// Event listener for the toggle button
document.getElementById('toggle-button').addEventListener('click', toggleTheme);