Refactor: split main.js into app/ modules

This commit is contained in:
MasterAcnolo
2026-04-11 16:14:21 +02:00
parent 0c7103c5c9
commit 96401a6e1f
9 changed files with 284 additions and 287 deletions

50
app/windowManager.js Normal file
View File

@@ -0,0 +1,50 @@
const { BrowserWindow, app } = require("electron");
const path = require("path");
const { logger } = require("../server/logger");
const { configFeatures } = require("../config");
const config = require("../config");
let mainWindow = null;
async function createMainWindow() {
if (mainWindow) {
logger.warn("Window already exists, no new creation!");
return mainWindow;
}
mainWindow = new BrowserWindow({
title: `Freedom Loader ${config.version}`,
width: 750,
height: 800,
minWidth: 750,
minHeight: 800,
frame: !configFeatures.customTopBar,
devTools: !app.isPackaged,
webPreferences: {
nodeIntegration: false,
contextIsolation: true,
preload: path.join(__dirname, "../preload.js"),
},
});
try {
await mainWindow.loadURL(`http://localhost:${config.applicationPort}`);
logger.info("Window loaded");
} catch (err) {
logger.error("Window loading error:", err);
throw err;
}
mainWindow.on("closed", () => {
logger.info("Main window closed");
mainWindow = null;
});
return mainWindow;
}
function getMainWindow() {
return mainWindow;
}
module.exports = { createMainWindow, getMainWindow };