-
Notifications
You must be signed in to change notification settings - Fork 0
/
preload.js
52 lines (44 loc) · 2.21 KB
/
preload.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
const ipcRenderer = require('electron').ipcRenderer;
const { contextBridge } = require('electron');
const path = require('path');
/// This should be part of potopea.js api files as thats whats expecting it.
contextBridge.exposeInMainWorld('ppapi', {
getGlobal: async (...theArgs) => { return await ipcRenderer.invoke('getGlobal', ...theArgs); },
openDialog: async (...theArgs) => { return await ipcRenderer.invoke('openDialog', ...theArgs); },
saveDialog: async (...theArgs) => { return await ipcRenderer.invoke('saveDialog', ...theArgs); },
openFile: async (...theArgs) => { return await ipcRenderer.invoke('openFile', ...theArgs); },
saveFile: async (...theArgs) => { return await ipcRenderer.invoke('saveFile', ...theArgs); },
});
///
window.addEventListener('DOMContentLoaded', async () => {
const customTitlebar = require("custom-electron-titlebar");
let titlebar = new customTitlebar.Titlebar({
backgroundColor: customTitlebar.Color.fromHex("#474747"),
// itemBackgroundColor: Color.fromHex("#121212"),
// svgColor: Color.WHITE,
icon: path.join(__dirname, 'window', 'photopea_logo_plain.png'),
menu: null, // = do not automatically use Menu.applicationMenu
onMenuItemClick: function () { console.log("nothing"); },
onClose: () => ipcRenderer.invoke('customTBar', 'close'),
})
let options = await ipcRenderer.invoke('getGlobal', "options");
if (options.environment) {
if (options.environment.theme != null) {
var themecolor = ["#e0e0e0", "#474747", "#404550", "#f7f7f7", "#4b3e51", "#353535"][options.environment.theme];
titlebar.updateBackground(customTitlebar.Color.fromHex(themecolor));
document.querySelector("#loadingscreen").style.backgroundColor = themecolor;
}
// let plugins = await ipcRenderer.invoke('getGlobal', "plugins");
// if (options.environment) options.environment.plugins = plugins;
// else {
// options.environment = {
// plugins: plugins
// };
//
// }
}
ipcRenderer.invoke('setGlobal', 'options', options);
ipcRenderer.on('app-close', _ => {
ipcRenderer.send('closed');
});
});