btc_horse/btc-UI/electron/preload.js

18 lines
1.3 KiB
JavaScript

const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('electronAPI', {
openSecondScreen: () => ipcRenderer.send('open-second-screen'),
closeSecondScreen: () => ipcRenderer.send('close-second-screen'),
getBtid: () => ipcRenderer.invoke('get-btid'),
getCurrentBtid: () => ipcRenderer.invoke('request-current-btid'), // NEW: Request in-memory BTID
syncSharedData: (data) => ipcRenderer.send('sync-shared-data', data),
onUpdateSharedData: (callback) => ipcRenderer.on('update-shared-data', (event, data) => callback(data)),
syncStopMessage: (message) => ipcRenderer.send('sync-stop-message', message),
onUpdateStopMessage: (callback) => ipcRenderer.on('update-stop-message', (event, message) => callback(message)),
syncSelectedVenue: (venue) => ipcRenderer.send('sync-selected-venue', venue),
onUpdateSelectedVenue: (callback) => ipcRenderer.on('update-selected-venue', (event, venue) => callback(venue)),
syncSelectedRace: (race) => ipcRenderer.send('sync-selected-race', race),
onUpdateSelectedRace: (callback) => ipcRenderer.on('update-selected-race', (event, race) => callback(race)),
syncBtid: (btid) => ipcRenderer.send('sync-btid', btid), // NEW: Send BTID to main
onUpdateBtid: (callback) => ipcRenderer.on('update-btid', (event, btid) => callback(btid)), // NEW: Listen for BTID updates
});