mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-21 23:19:09 +00:00
temp
This commit is contained in:
+87
-91
@@ -13,8 +13,6 @@ const { electron } = require('process');
|
||||
const { nodeapp } = await import('./src/app.js');
|
||||
})();
|
||||
|
||||
require('@electron/remote/main').initialize();
|
||||
|
||||
// Load Icons
|
||||
// TODO: Icons appear pixelated
|
||||
const trayIcon = path.join(__dirname, './assets/images/logos/LOGO-512.png');
|
||||
@@ -31,69 +29,65 @@ if (!lock) {
|
||||
return;
|
||||
}
|
||||
|
||||
var win, tray;
|
||||
const { Notification } = require('electron');
|
||||
|
||||
function showNotification(text) {
|
||||
new Notification({
|
||||
title: 'ontime',
|
||||
body: text,
|
||||
}).show();
|
||||
}
|
||||
|
||||
let win;
|
||||
let tray = null;
|
||||
let loaded = false;
|
||||
|
||||
function createWindow() {
|
||||
win = new BrowserWindow({
|
||||
width: 800,
|
||||
height: 600,
|
||||
width: 1920,
|
||||
height: 1080,
|
||||
minWidth: 500,
|
||||
minHeight: 530,
|
||||
maxWidth: 1920,
|
||||
maxHeight: 1440,
|
||||
backgroundColor: '#202020',
|
||||
icon: appIcon,
|
||||
// TODO: Make framerless
|
||||
// frame: false,
|
||||
textAreasAreResizable: false,
|
||||
enableWebSQL: false,
|
||||
webPreferences: {
|
||||
preload: path.join(__dirname, './electron/preload.js'),
|
||||
// TODO: what are recommended alternatives to node integration?
|
||||
nodeIntegration: true,
|
||||
enableRemoteModule: true,
|
||||
// enableRemoteModule: true,
|
||||
},
|
||||
});
|
||||
|
||||
win.setMenu(null);
|
||||
|
||||
// Load page served by node
|
||||
win.loadURL('http://localhost:4001/editor');
|
||||
// TODO: Make development environment and run live react instead
|
||||
// win.loadURL('http://localhost:3000/editor');
|
||||
try {
|
||||
// loaded = path.join(__dirname, '../client/build/index.html');
|
||||
// win.loadURL(`file://${loaded}`);
|
||||
// win.loadURL('http://localhost:4001/editor');
|
||||
win.loadURL(`file://${__dirname}/dist/index.html`);
|
||||
} catch (error) {
|
||||
loaded = error;
|
||||
}
|
||||
|
||||
// win.loadURL('http://localhost:4001/editor').then(() => {
|
||||
// win.webContents.setBackgroundThrottling(false);
|
||||
// });
|
||||
|
||||
// Show dev tools
|
||||
win.webContents.openDevTools({ mode: 'detach' });
|
||||
}
|
||||
|
||||
app.whenReady().then(() => {
|
||||
createWindow();
|
||||
app
|
||||
.whenReady()
|
||||
.then(() => {
|
||||
createWindow();
|
||||
|
||||
// TODO: Move to separate file
|
||||
// TODO: Should move to react?
|
||||
// Define App Menu
|
||||
const appMenuTemplate = [
|
||||
{
|
||||
label: 'Help',
|
||||
submenu: [
|
||||
{
|
||||
label: 'Getting Started',
|
||||
click: () => {
|
||||
console.log('Gonna do something here: Help > Getting Started');
|
||||
},
|
||||
},
|
||||
{
|
||||
label: 'OSC Controls',
|
||||
click: () => {
|
||||
console.log('Gonna do something here: Help > OSC Controls');
|
||||
},
|
||||
},
|
||||
{
|
||||
label: 'URL Definitions',
|
||||
click: () => {
|
||||
console.log('Gonna do something here: Help > URL Definitions');
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
const appMenu = Menu.buildFromTemplate(appMenuTemplate);
|
||||
Menu.setApplicationMenu(appMenu);
|
||||
|
||||
/* ======================================
|
||||
/* ======================================
|
||||
* CONTEXT MENU CREATION ON REACT SIDE
|
||||
// Create context menu
|
||||
// const contextMenu = new Menu();
|
||||
@@ -110,59 +104,61 @@ app.whenReady().then(() => {
|
||||
* ======================================
|
||||
*/
|
||||
|
||||
// register global shortcuts
|
||||
// (available regardless of wheter app is in focus)
|
||||
// bring focus to window
|
||||
globalShortcut.register('Alt+1', () => {
|
||||
win.show();
|
||||
});
|
||||
// register global shortcuts
|
||||
// (available regardless of wheter app is in focus)
|
||||
// bring focus to window
|
||||
globalShortcut.register('Alt+1', () => {
|
||||
win.show();
|
||||
});
|
||||
|
||||
// recreate window if no others open
|
||||
app.on('activate', () => {
|
||||
if (BrowserWindow.getAllWindows().length === 0) {
|
||||
createWindow();
|
||||
}
|
||||
});
|
||||
// recreate window if no others open
|
||||
app.on('activate', () => {
|
||||
if (BrowserWindow.getAllWindows().length === 0) {
|
||||
createWindow();
|
||||
}
|
||||
});
|
||||
|
||||
// Hide on minimise
|
||||
win.on('minimize', function (event) {
|
||||
event.preventDefault();
|
||||
win.hide();
|
||||
});
|
||||
// Hide on minimise
|
||||
win.on('minimize', function (event) {
|
||||
event.preventDefault();
|
||||
showNotification('App running in background');
|
||||
win.hide();
|
||||
});
|
||||
|
||||
//Hide on close
|
||||
win.on('close', function (event) {
|
||||
event.preventDefault();
|
||||
win.hide();
|
||||
//Hide on close
|
||||
win.on('close', function (event) {
|
||||
event.preventDefault();
|
||||
showNotification('App running in background');
|
||||
win.hide();
|
||||
return false;
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
// create tray
|
||||
// TODO: Design better icon
|
||||
tray = new Tray(trayIcon);
|
||||
|
||||
// create tray
|
||||
// TODO: Design better icon
|
||||
tray = new Tray(trayIcon);
|
||||
|
||||
// TODO: Move to separate file
|
||||
// Define context menu
|
||||
const trayMenuTemplate = [
|
||||
{
|
||||
label: 'Show App',
|
||||
click: () => win.show(),
|
||||
},
|
||||
{
|
||||
label: 'Close',
|
||||
click: () => {
|
||||
win.destroy();
|
||||
app.quit();
|
||||
// TODO: Move to separate file
|
||||
// Define context menu
|
||||
const trayMenuTemplate = [
|
||||
{
|
||||
label: 'Show App',
|
||||
click: () => win.show(),
|
||||
},
|
||||
},
|
||||
];
|
||||
{
|
||||
label: 'Close',
|
||||
click: () => {
|
||||
win.destroy();
|
||||
app.quit();
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
const trayContextMenu = Menu.buildFromTemplate(trayMenuTemplate);
|
||||
const trayContextMenu = Menu.buildFromTemplate(trayMenuTemplate);
|
||||
|
||||
tray.setContextMenu(trayContextMenu);
|
||||
tray.setToolTip('ontime running on http://localhost:4001/');
|
||||
});
|
||||
tray.setContextMenu(trayContextMenu);
|
||||
tray.setToolTip('ontime running on http://localhost:4001/');
|
||||
})
|
||||
.then(() => showNotification(loaded));
|
||||
|
||||
// unregister shortcuts before quitting
|
||||
app.once('will-quit', () => {
|
||||
|
||||
Reference in New Issue
Block a user