28 lines
940 B
JavaScript
28 lines
940 B
JavaScript
const { contextBridge, ipcRenderer } = require('electron');
|
|
|
|
contextBridge.exposeInMainWorld('foxBridge', {
|
|
sendMessage: (text) => ipcRenderer.send('send-message', text),
|
|
hideHud: () => ipcRenderer.send('hide-hud'),
|
|
macCommand: (cmd) => ipcRenderer.invoke('mac-command', cmd),
|
|
onFoxAction: (cb) => {
|
|
ipcRenderer.removeAllListeners('fox-action');
|
|
ipcRenderer.on('fox-action', (_, data) => cb(data));
|
|
},
|
|
onHudShow: (cb) => {
|
|
ipcRenderer.removeAllListeners('hud-show');
|
|
ipcRenderer.on('hud-show', () => cb());
|
|
},
|
|
onHudHide: (cb) => {
|
|
ipcRenderer.removeAllListeners('hud-hide');
|
|
ipcRenderer.on('hud-hide', () => cb());
|
|
},
|
|
onStartListening: (cb) => {
|
|
ipcRenderer.removeAllListeners('start-listening');
|
|
ipcRenderer.on('start-listening', () => cb());
|
|
},
|
|
onPlayAudio: (cb) => {
|
|
ipcRenderer.removeAllListeners('play-audio');
|
|
ipcRenderer.on('play-audio', (_, url) => cb(url));
|
|
},
|
|
});
|