Files
HomeAgent/cmd/gui/preload.js

27 lines
1.2 KiB
JavaScript

const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('homeagent', {
win: {
minimize: () => ipcRenderer.invoke('window:minimize'),
toggleMaximize: () => ipcRenderer.invoke('window:toggleMaximize'),
close: () => ipcRenderer.invoke('window:close'),
},
connections: {
list: () => ipcRenderer.invoke('connections:list'),
add: (conn) => ipcRenderer.invoke('connections:add', conn),
update: (id, updates) => ipcRenderer.invoke('connections:update', { id, updates }),
delete: (id) => ipcRenderer.invoke('connections:delete', id),
setCurrent: (id) => ipcRenderer.invoke('connections:setCurrent', id),
},
cli: {
request: (socketPath, apiKey, line) => ipcRenderer.invoke('cli:request', { socketPath, apiKey, line }),
},
webui: {
setAuth: (url, cookie, headers, username, password) => ipcRenderer.invoke('webui:setAuth', { url, cookie, headers, username, password }),
openLogin: (url, username, password) => ipcRenderer.invoke('webui:openLogin', { url, username, password }),
onLoginResult: (cb) => ipcRenderer.on('webui:login-result', (_e, d) => cb(d)),
},
cacheBg: (src) => ipcRenderer.invoke('bg:cache', { src }),
log: (m) => ipcRenderer.invoke('log:r', m),
});