Files
trainer/electron/preload.cjs
2026-01-25 09:56:41 -06:00

28 lines
1.0 KiB
JavaScript

const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('electronAPI', {
getVersion: () => ipcRenderer.invoke('get-version'),
getPlatform: () => ipcRenderer.invoke('get-platform'),
onDeepLink: (callback) => {
ipcRenderer.on('deep-link', (event, data) => callback(data));
},
minimizeWindow: () => ipcRenderer.invoke('minimize-window'),
maximizeWindow: () => ipcRenderer.invoke('maximize-window'),
closeWindow: () => ipcRenderer.invoke('close-window'),
bluetooth: {
checkAvailability: () => ipcRenderer.invoke('bluetooth:check-availability'),
checkSystem: () => ipcRenderer.invoke('bluetooth:check-system'),
onDevicesUpdated: (callback) => {
ipcRenderer.on('bluetooth:devices-updated', (event, devices) => callback(devices));
},
selectDevice: (deviceId) => ipcRenderer.send('bluetooth:select-device', deviceId),
cancelSelection: () => ipcRenderer.send('bluetooth:cancel-selection'),
clearDevices: () => ipcRenderer.send('bluetooth:clear-devices'),
},
isElectron: true,
});