// Theme management let isDarkMode = true; // Initialize theme async function initializeTheme() { if (window.electronAPI) { isDarkMode = await window.electronAPI.getTheme(); applyTheme(isDarkMode); } } // Apply theme function applyTheme(darkMode) { isDarkMode = darkMode; if (darkMode) { document.body.classList.remove('light-mode'); } else { document.body.classList.add('light-mode'); } // Save theme preference if (window.electronAPI) { window.electronAPI.setTheme(darkMode); } } // Window controls document.getElementById('minimizeBtn').addEventListener('click', () => { if (window.electronAPI) window.electronAPI.minimizeWindow(); }); document.getElementById('maximizeBtn').addEventListener('click', () => { if (window.electronAPI) window.electronAPI.maximizeWindow(); }); document.getElementById('closeBtn').addEventListener('click', () => { if (window.electronAPI) window.electronAPI.closeWindow(); }); // Theme toggle button const themeToggleBtn = document.getElementById('themeToggleBtn'); themeToggleBtn.addEventListener('click', () => { applyTheme(!isDarkMode); }); // Listen for theme changes from menu if (window.electronAPI) { window.electronAPI.onToggleTheme((event, darkMode) => { applyTheme(darkMode); }); window.electronAPI.onNewFile(() => { clearMetadata(); }); } // Initialize on load window.addEventListener('DOMContentLoaded', () => { initializeTheme(); }); // Store theme preference function setTheme(darkMode) { localStorage.setItem('theme', darkMode ? 'dark' : 'light'); } // Get theme preference function getStoredTheme() { const storedTheme = localStorage.getItem('theme'); return storedTheme !== 'light'; } // Initialize theme from stored preference if (!window.electronAPI) { applyTheme(getStoredTheme()); }