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