-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpreload.js
55 lines (46 loc) · 2.04 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
53
54
55
const { contextBridge, ipcRenderer } = require('electron');
ipcRenderer.on("spooder-clone-start", () => {
console.log("CLONE START");
window.dispatchEvent(new Event("spooder-clone-start"));
})
ipcRenderer.on("spooder-install-start", () => {
console.log("INSTALL START");
window.dispatchEvent(new Event("spooder-install-start"));
})
ipcRenderer.on("spooder-install-finish", () => {
console.log("INSTALL FINISH");
window.dispatchEvent(new Event("spooder-install-finish"));
})
ipcRenderer.on("spooder-run-start", () => {
console.log("RUN START");
window.dispatchEvent(new Event("spooder-run-start"));
})
ipcRenderer.on("spooder-stdout", (e, msg) => {
console.log("WHAT THIS?", msg);
window.dispatchEvent(new CustomEvent("spooder-stdout", {detail:msg.message}));
});
ipcRenderer.on("spooder-status", (e, status) => {
window.dispatchEvent(new CustomEvent("spooder-status", {detail:status}));
})
contextBridge.exposeInMainWorld('versions', {
node: () => process.versions.node,
chrome: () => process.versions.chrome,
electron: () => process.versions.electron,
toggle: () => ipcRenderer.invoke('dark-mode:toggle'),
system: () => ipcRenderer.invoke('dark-mode:system'),
// we can also expose variables, not just functions
});
contextBridge.exposeInMainWorld('installer', {
runSpooder: () => ipcRenderer.invoke('spooder:run'),
stopSpooder: () => ipcRenderer.invoke('spooder:stop'),
restartSpooder: () => ipcRenderer.invoke('spooder:restart'),
cleanSpooder: () => ipcRenderer.invoke('spooder:clean'),
deleteSpooder: () => ipcRenderer.invoke('spooder:delete'),
viewSpooder: () => ipcRenderer.invoke("spooder:view"),
updateSpooder: () => ipcRenderer.invoke("spooder:update"),
status: () => ipcRenderer.invoke("spooder:status"),
installStatus:() => ipcRenderer.invoke("spooder:install_status"),
installNode: () => ipcRenderer.invoke("node:install"),
openSpooder: () => ipcRenderer.invoke("spooder:open"),
setBranch: (branch) => ipcRenderer.invoke("branch:set", branch)
})