33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
const { contextBridge, ipcRenderer } = require('electron');
|
|
|
|
// ESC schließt HUD — funktioniert unabhängig vom HUD-JavaScript
|
|
window.addEventListener('keydown', (e) => {
|
|
if (e.key === 'Escape') ipcRenderer.send('hide-hud');
|
|
}, true);
|
|
|
|
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));
|
|
},
|
|
});
|