Files
Toolbox-Metadaten-Crawler/renderer.js
Claude Project Manager a2154e2a30 Update changes
2025-07-10 23:55:34 +02:00

76 Zeilen
1.8 KiB
JavaScript

// 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());
}