Spaces:
Running
Running
| document.addEventListener('DOMContentLoaded', () => { | |
| // Terminal typing effect for some elements | |
| const terminalElements = document.querySelectorAll('.terminal-effect'); | |
| terminalElements.forEach(el => { | |
| const text = el.textContent; | |
| el.textContent = ''; | |
| let i = 0; | |
| const typing = setInterval(() => { | |
| if (i < text.length) { | |
| el.textContent += text.charAt(i); | |
| i++; | |
| } else { | |
| clearInterval(typing); | |
| } | |
| }, 50); | |
| }); | |
| // Dark mode toggle | |
| const darkModeToggle = document.getElementById('dark-mode-toggle'); | |
| if (darkModeToggle) { | |
| darkModeToggle.addEventListener('click', () => { | |
| document.documentElement.classList.toggle('dark'); | |
| localStorage.setItem('darkMode', document.documentElement.classList.contains('dark')); | |
| }); | |
| } | |
| // Check for saved dark mode preference | |
| if (localStorage.getItem('darkMode') === 'true' || | |
| (!localStorage.getItem('darkMode') && window.matchMedia('(prefers-color-scheme: dark)').matches)) { | |
| document.documentElement.classList.add('dark'); | |
| } else { | |
| document.documentElement.classList.remove('dark'); | |
| } | |
| }); |