2026-03-17 16:25:21 +02:00
|
|
|
const { contextBridge, ipcRenderer } = require('electron');
|
2026-03-20 20:13:58 +02:00
|
|
|
const { IPC_CHANNELS } = require('./ipc/channels');
|
2026-03-17 16:25:21 +02:00
|
|
|
|
|
|
|
|
contextBridge.exposeInMainWorld('electronAPI', {
|
|
|
|
|
versions: {
|
|
|
|
|
electron: process.versions.electron,
|
|
|
|
|
node: process.versions.node,
|
|
|
|
|
chrome: process.versions.chrome,
|
|
|
|
|
platform: process.platform,
|
|
|
|
|
},
|
2026-03-20 20:13:58 +02:00
|
|
|
openExternal: (url: string) => ipcRenderer.send(IPC_CHANNELS.OPEN_EXTERNAL, url),
|
|
|
|
|
getAppVersion: () => ipcRenderer.invoke(IPC_CHANNELS.GET_APP_VERSION),
|
2026-03-17 16:25:21 +02:00
|
|
|
onDeepLink: (callback: (url: string) => void) => {
|
|
|
|
|
const listener = (_event: unknown, url: string) => callback(url);
|
2026-03-20 20:13:58 +02:00
|
|
|
ipcRenderer.on(IPC_CHANNELS.DEEP_LINK, listener);
|
2026-03-17 16:25:21 +02:00
|
|
|
return () => {
|
2026-03-20 20:13:58 +02:00
|
|
|
ipcRenderer.removeListener(IPC_CHANNELS.DEEP_LINK, listener);
|
2026-03-17 16:25:21 +02:00
|
|
|
};
|
|
|
|
|
},
|
2026-03-25 16:22:32 +02:00
|
|
|
getQuickAskText: () => ipcRenderer.invoke(IPC_CHANNELS.QUICK_ASK_TEXT),
|
2026-03-27 20:35:29 +02:00
|
|
|
setQuickAskMode: (mode: string) => ipcRenderer.invoke(IPC_CHANNELS.SET_QUICK_ASK_MODE, mode),
|
|
|
|
|
getQuickAskMode: () => ipcRenderer.invoke(IPC_CHANNELS.GET_QUICK_ASK_MODE),
|
2026-03-26 20:10:10 +02:00
|
|
|
replaceText: (text: string) => ipcRenderer.invoke(IPC_CHANNELS.REPLACE_TEXT, text),
|
2026-03-17 16:25:21 +02:00
|
|
|
});
|