Feat: Add theme reloading functionality with refresh button in settings panel

This commit is contained in:
MasterAcnolo
2026-04-12 09:32:15 +02:00
parent ebb48f4f8b
commit d05b9e2511
7 changed files with 83 additions and 6 deletions

View File

@@ -108,4 +108,18 @@ themeSelect.addEventListener("change", (e) => {
}
});
async function refreshThemes() {
loadedThemes = await window.electronAPI.reloadThemes();
populateThemeSelect(loadedThemes);
const features = await window.electronAPI.getFeatures();
const savedId = features.theme;
const theme = loadedThemes.find(t => t.id === savedId) || loadedThemes[0];
themeSelect.value = theme.id;
applyTheme(theme);
}
window.refreshThemes = refreshThemes;
initThemes();

View File

@@ -39,6 +39,16 @@ document.getElementById("open-json-btn").addEventListener("click", () => {
window.topbarAPI.openConfig(); // ton IPC existant
});
// Refresh Themes
document.getElementById("refresh-themes-btn").addEventListener("click", function() {
this.classList.add("spinning");
window.refreshThemes();
setTimeout(() => {
this.classList.remove("spinning");
}, 600);
});
/* clic sur l'overlay = fermer */
settingsPanel.addEventListener("click", closePanel);