Spaces:
Running
Running
| // Theme toggle functionality | |
| document.addEventListener('DOMContentLoaded', () => { | |
| const themeToggle = document.getElementById('theme-toggle'); | |
| const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches; | |
| const storedTheme = localStorage.getItem('theme'); | |
| // Set initial theme | |
| if (storedTheme === 'dark' || (!storedTheme && prefersDark)) { | |
| document.documentElement.classList.add('dark'); | |
| if (themeToggle) themeToggle.checked = true; | |
| } | |
| // Theme toggle handler | |
| if (themeToggle) { | |
| themeToggle.addEventListener('change', () => { | |
| if (themeToggle.checked) { | |
| document.documentElement.classList.add('dark'); | |
| localStorage.setItem('theme', 'dark'); | |
| } else { | |
| document.documentElement.classList.remove('dark'); | |
| localStorage.setItem('theme', 'light'); | |
| } | |
| }); | |
| } | |
| // Initialize tooltips | |
| const tooltipTriggers = document.querySelectorAll('[data-tooltip]'); | |
| tooltipTriggers.forEach(trigger => { | |
| new bootstrap.Tooltip(trigger); | |
| }); | |
| }); |