// 🎮 MRTVA DOLINA - ELECTRON MAIN PROCESS // Simple and clean main process file const { app, BrowserWindow, ipcMain } = require('electron'); const path = require('path'); const fs = require('fs'); let mainWindow; function createWindow() { mainWindow = new BrowserWindow({ width: 1280, height: 720, webPreferences: { nodeIntegration: true, contextIsolation: false }, backgroundColor: '#000000', title: 'Mrtva Dolina - Death Valley' }); mainWindow.loadFile('index.html'); mainWindow.webContents.openDevTools(); mainWindow.on('closed', () => { mainWindow = null; }); } // 🪵 LOGGER SYSTEM function logToFile(message) { const logPath = path.join(app.getPath('desktop'), 'MRTVA_DOLINA_TEST', 'test_log.txt'); // Fallback if folder doesn't exist (e.g. running from source) // But user asked for specific folder on Desktop. // Actually, if we are running from USB, we might want it relative. // Spec: "vklopljenim logiranjem v test_log.txt". // I will try to write to the execution directory first, or desktop as fallback. // Let's stick to the requested "MRTVA_DOLINA_TEST" on Desktop for now as the target location. // But if the user runs it on a different machine, paths differ. // SAFE BET: Write to 'test_log.txt' in the same folder as the executable (or app data). // However, for the specific task "zapakiraj... z vklopljenim logiranjem", I'll write to a "logs" folder or standard location. // Let's write to `test_log.txt` in the app directory for portability. const logFile = 'test_log.txt'; const timestamp = new Date().toISOString(); const logLine = `[${timestamp}] ${message}\n`; fs.appendFile(logFile, logLine, (err) => { if (err) console.error('Failed to write log:', err); }); } ipcMain.on('log-action', (event, message) => { logToFile(message); console.log('[LOG]', message); }); app.whenReady().then(() => { createWindow(); app.on('activate', () => { if (BrowserWindow.getAllWindows().length === 0) { createWindow(); } }); }); app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit(); } });