Feat: Add theme folder access functionality in UI

This commit is contained in:
MasterAcnolo
2026-04-11 18:25:17 +02:00
parent 23d11d8933
commit 49e1e1b507
5 changed files with 21 additions and 0 deletions

View File

@@ -22,6 +22,10 @@ const FEATURE_WHITELIST = new Set([
const configFolderPath = featuresPath;
const themeFolderPath = config.localMode
? path.join(__dirname, "..", "theme")
: path.join(process.resourcesPath, "theme");
function registerIpcHandlers(getMainWindow) {
// Infos générales
@@ -75,6 +79,8 @@ function registerIpcHandlers(getMainWindow) {
);
ipcMain.on("open-config", () => shell.openPath(configFolderPath));
ipcMain.on("open-theme", () => shell.openPath(themeFolderPath));
ipcMain.handle("get-themes", () => getThemes());
// Modification des features

View File

@@ -19,6 +19,7 @@ contextBridge.exposeInMainWorld("topbarAPI", {
openDevTools: () => ipcRenderer.send("open-devtools"),
openLogs: () => ipcRenderer.send("open-logs"),
openWebsite: () => ipcRenderer.send("open-website"),
openTheme: () => ipcRenderer.send("open-theme"),
openWiki: () => ipcRenderer.send("open-wiki"),
openConfig: () => ipcRenderer.send("open-config")
});

View File

@@ -24,6 +24,7 @@
<button id="logs-btn" title="Logs">Logs</button>
<button id="website-btn" title="Website">Website</button>
<button id="wiki-btn" title="Wiki">Wiki</button>
<!-- <button id="theme-btn" title="Theme">Theme</button> -->
</div>
<div class="window-controls">
<button id="minimize-btn" title="Réduire"><img src="assets/icon/minimize.svg"></button>
@@ -193,6 +194,7 @@
</details>
<div class="settings-footer">
<button id="open-theme">Open Theme Folder</button>
<button id="open-json-btn">Open JSON Configuration</button>
</div>

View File

@@ -10,6 +10,7 @@ function setupTopbarListeners() {
const logsBtn = document.getElementById('logs-btn');
const websiteBtn = document.getElementById('website-btn');
const wikiBtn = document.getElementById('wiki-btn');
const themeBtn = document.getElementById('theme-btn');
const configBtn = document.getElementById('config-btn');
if (minBtn) minBtn.onclick = () => topbarAPI.minimize();
@@ -19,6 +20,7 @@ function setupTopbarListeners() {
if (logsBtn) logsBtn.onclick = () => topbarAPI.openLogs();
if (websiteBtn) websiteBtn.onclick = () => topbarAPI.openWebsite();
if (wikiBtn) wikiBtn.onclick = () => topbarAPI.openWiki();
if (themeBtn) themeBtn.onclick = () => topbarAPI.openTheme();
if (configBtn) configBtn.onclick = () => topbarAPI.openConfig();
});
}

View File

@@ -194,6 +194,16 @@ details summary {
color: #fff;
}
#open-theme {
padding: 10px 14px;
border-radius: 8px;
border: none;
cursor: pointer;
font-weight: 600;
background-color: var(--form-button-bg-color);
color: #fff;
}
#experimental-args {
width: 100%;
min-height: 80px;