-
Notifications
You must be signed in to change notification settings - Fork 0
/
preload.js
35 lines (35 loc) · 1.36 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
const { contextBridge, ipcRenderer, ipcMain } = require('electron')
contextBridge.exposeInMainWorld('versions', {
node: () => process.versions.node,
chrome: () => process.versions.chrome,
electron: () => process.versions.electron,
// we can also expose variables, not just functions
})
contextBridge.exposeInMainWorld('stages', {
init: () => ipcRenderer.invoke('init'),
})
contextBridge.exposeInMainWorld('msg', {
send: (channel, data) => {
let validChannels = ["toMain"];
if (validChannels.includes(channel)) {
ipcRenderer.send(channel, data);
}
},
receive: (channel, func) => {
let validChannels = ["fromMain"];
if (validChannels.includes(channel)) {
ipcRenderer.on(channel, (event, ...args) => func(...args));
}
}
})
contextBridge.exposeInMainWorld('buttons', {
support: () => ipcRenderer.invoke('support'),
switchToEn: () => ipcRenderer.invoke('switchToEn'),
switchToFr: () => ipcRenderer.invoke('switchToFr'),
switchToEs: () => ipcRenderer.invoke('switchToEs'),
switchToIt: () => ipcRenderer.invoke('switchToIt'),
switchToRu: () => ipcRenderer.invoke('switchToRu'),
switchToDe: () => ipcRenderer.invoke('switchToDe'),
switchToTr: () => ipcRenderer.invoke('switchToTr'),
exit: () => ipcRenderer.invoke('exit'),
})