Files
deskhub/desktop/src/preload.js
T
2026-10-25 17:48:07 +00:00

19 lines
1.0 KiB
JavaScript

const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('deskhub', {
session: () => ipcRenderer.invoke('session:get'),
login: (data) => ipcRenderer.invoke('auth:login', data),
logout: () => ipcRenderer.invoke('auth:logout'),
api: (req) => ipcRenderer.invoke('api', req),
openWeb: (path) => ipcRenderer.invoke('web:open', { path }),
notify: (title, body) => ipcRenderer.invoke('notify', { title, body }),
settings: () => ipcRenderer.invoke('settings:get'),
setSettings: (patch) => ipcRenderer.invoke('settings:set', patch),
badge: (count, dataUrl) => ipcRenderer.invoke('badge', { count, dataUrl }),
updateCheck: () => ipcRenderer.invoke('update:check'),
updateInstall: () => ipcRenderer.invoke('update:install'),
onUpdateProgress: (cb) => ipcRenderer.on('update-progress', (_e, pct) => cb(pct)),
onNavigate: (cb) => ipcRenderer.on('navigate', (_e, page) => cb(page)),
onSessionExpired: (cb) => ipcRenderer.on('session-expired', () => cb()),
});