Compare commits

..

2 Commits

Author SHA1 Message Date
ben7sys
317cc79234 fixed theme button 2024-11-17 08:13:43 +01:00
ben7sys
ad73402297 changed order of link rel css 2024-11-17 08:00:20 +01:00
2 changed files with 27 additions and 16 deletions

View File

@@ -11,14 +11,14 @@
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&family=Open+Sans:wght@400;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<link rel="stylesheet" href="css/variables.css">
<link rel="stylesheet" href="css/base.css">
<link rel="stylesheet" href="css/layout.css">
<link rel="stylesheet" href="css/header.css">
<link rel="stylesheet" href="css/components.css">
<link rel="stylesheet" href="css/animations.css">
<link rel="stylesheet" href="css/base.css">
<link rel="stylesheet" href="css/components.css">
<link rel="stylesheet" href="css/footer.css">
<link rel="stylesheet" href="css/header.css">
<link rel="stylesheet" href="css/layout.css">
<link rel="stylesheet" href="css/responsive.css">
<link rel="stylesheet" href="css/variables.css">
<script src="js/components.js" defer></script>
<script src="js/theme.js" defer></script>
</head>

View File

@@ -11,12 +11,11 @@
// Initialize theme immediately to prevent flash of wrong theme
initThemeEarly();
// Then initialize everything else when DOM is ready
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initializeThemeSystem);
} else {
// Wait for components to be loaded before initializing the theme system
document.addEventListener('componentsLoaded', function() {
console.log('Components loaded, initializing theme system...');
initializeThemeSystem();
}
});
// Functions
function initThemeEarly() {
@@ -35,12 +34,16 @@
}
function initializeThemeSystem() {
console.log('Theme system initializing...');
try {
// Set up theme toggle button
const themeToggle = document.querySelector('.theme-toggle');
console.log('Theme toggle button found:', themeToggle);
if (themeToggle) {
themeToggle.addEventListener('click', toggleTheme);
updateThemeIcon(getCurrentTheme());
console.log('Theme toggle event listener added');
}
// Set up system theme change listener
@@ -67,6 +70,10 @@
try {
const currentTheme = getCurrentTheme();
const newTheme = currentTheme === THEMES.DARK ? THEMES.LIGHT : THEMES.DARK;
console.log('Theme Toggle clicked!');
console.log('Current theme:', currentTheme);
console.log('New theme:', newTheme);
setTheme(newTheme);
localStorage.setItem(THEME_STORAGE_KEY, newTheme);
@@ -78,11 +85,15 @@
function updateThemeIcon(theme) {
try {
const themeIcon = document.querySelector('.theme-toggle i');
if (themeIcon) {
themeIcon.className = theme === THEMES.DARK
? 'fas fa-sun'
: 'fas fa-moon';
const themeToggle = document.querySelector('.theme-toggle');
if (themeToggle) {
// Ensure both icons exist
if (!themeToggle.querySelector('.fa-sun')) {
themeToggle.innerHTML = `
<i class="fas fa-sun"></i>
<i class="fas fa-moon"></i>
`;
}
}
} catch (error) {
console.warn('Theme icon update error:', error);
@@ -111,4 +122,4 @@
console.warn('Theme persistence error:', error);
}
}
})();
})();