Spaces:
Running
Running
File size: 1,267 Bytes
057e8b6 | 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 | // Theme Toggle Logic
document.addEventListener('DOMContentLoaded', () => {
const themeToggleBtn = document.getElementById('theme-toggle');
const htmlElement = document.documentElement;
// Check local storage or system preference
const savedTheme = localStorage.getItem('theme');
const systemPrefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
if (savedTheme === 'dark' || (!savedTheme && systemPrefersDark)) {
htmlElement.classList.add('dark');
} else {
htmlElement.classList.remove('dark');
}
themeToggleBtn.addEventListener('click', () => {
htmlElement.classList.toggle('dark');
// Save preference
if (htmlElement.classList.contains('dark')) {
localStorage.setItem('theme', 'dark');
} else {
localStorage.setItem('theme', 'light');
}
// Re-initialize feather icons to update sun/moon state correctly
feather.replace();
});
// Button Interaction (Joke)
const evictBtn = document.querySelector('button');
if(evictBtn) {
evictBtn.addEventListener('click', () => {
alert('Error: Operation not permitted. Process is locked in memory.');
});
}
}); |