SurfSense/surfsense_desktop/src/preload.ts

19 lines
665 B
TypeScript

const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('electronAPI', {
versions: {
electron: process.versions.electron,
node: process.versions.node,
chrome: process.versions.chrome,
platform: process.platform,
},
openExternal: (url: string) => ipcRenderer.send('open-external', url),
getAppVersion: () => ipcRenderer.invoke('get-app-version'),
onDeepLink: (callback: (url: string) => void) => {
const listener = (_event: unknown, url: string) => callback(url);
ipcRenderer.on('deep-link', listener);
return () => {
ipcRenderer.removeListener('deep-link', listener);
};
},
});