56 lines
1.2 KiB
JavaScript
56 lines
1.2 KiB
JavaScript
const {
|
|
app,
|
|
BrowserWindow,
|
|
BrowserView,
|
|
ipcMain
|
|
} = require('electron')
|
|
|
|
const Service = require('./Service')
|
|
|
|
const services = [];
|
|
services.push(new Service('arisucloud', 'Arisu Cloud', 'arisucloud.svg', true, 'https://cloud.arisu.fr/'));
|
|
services.push(new Service('webmail', 'WebMail', 'far fa-envelope', false, 'https://mail.arisu.fr/'));
|
|
|
|
var selectedService = 0;
|
|
|
|
var window;
|
|
|
|
function createWindow() {
|
|
// Create the browser window.
|
|
window = new BrowserWindow({
|
|
webPreferences: {
|
|
nodeIntegration: true,
|
|
enableRemoteModule: true,
|
|
webviewTag: true
|
|
}
|
|
});
|
|
window.maximize();
|
|
window.on('closed', () => {
|
|
window = null;
|
|
});
|
|
window.webContents.openDevTools({
|
|
mode: 'detach'
|
|
});
|
|
|
|
|
|
// Sync services with navigation
|
|
window.webContents.on('dom-ready', sendServices);
|
|
|
|
// Load navigation view
|
|
window.loadFile('index.html');
|
|
|
|
// Load active service
|
|
ipcMain.on('setActiveService', (event, index) => {
|
|
setActiveService(index);
|
|
});
|
|
}
|
|
|
|
function sendServices() {
|
|
window.webContents.send('services', services, selectedService);
|
|
}
|
|
|
|
function setActiveService(index) {
|
|
selectedService = index;
|
|
}
|
|
|
|
app.on('ready', createWindow) |