28 lines
1.0 KiB
JavaScript
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,
|
|
});
|