const { ipcMain } = require('electron')
const { app, BrowserWindow } = require('electron')
const path = require('path')

const cfg = require('./src/config.js')


let win
const config 	= cfg.get_config(cfg.load_parser())

function createWin() {
	win = new BrowserWindow({
		width: 800,
		height: 600,
		minWidth: 640,
		minHeight: 480,
		webPreferences: {
			nodeIntegration: true,
			preload: path.join(__dirname + '/preload.js')
		},
		autoHideMenuBar: true,
	})

	win.loadFile('pages/index.html');
	if(process.platform !== 'darwin') {
		win.removeMenu();
	}
	win.on('closed', () => {
		win = null
	});
}


app.on('ready', createWin);

// on mac just because the windows are closed doesn't mean the application is too
// ! The toolbar keeps things alive against its will
app.on('window-all-closed', () => {
	if(process.platform !== 'darwin') {
		app.quit()
	}
});

app.on('activate', () => {
	if(win === null) {
		createWin();
		load_config('./example-dev-config.json'); // for now
	}
});

// returns the config
ipcMain.on('config-request', (event, _arg) => {
	event.returnValue = config
})
