- Add Astro portfolio with TypeScript - Implement dark/light theme toggle - Add Spanish/English translations - Create under construction page - Style with Tailwind CSS and glassmorphism effects - Add profile image, projects, skills, and experience sections
16 lines
618 B
JavaScript
16 lines
618 B
JavaScript
(function() {
|
|
const theme = localStorage.getItem('theme');
|
|
const systemPrefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
const initialTheme = theme || (systemPrefersDark ? 'dark' : 'light');
|
|
|
|
document.documentElement.classList.toggle('dark', initialTheme === 'dark');
|
|
|
|
window.toggleTheme = function() {
|
|
const currentTheme = document.documentElement.classList.contains('dark') ? 'dark' : 'light';
|
|
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
|
|
|
|
document.documentElement.classList.toggle('dark');
|
|
localStorage.setItem('theme', newTheme);
|
|
};
|
|
})();
|