discord/desktop/preload.js
pavel 3acd082fb0
All checks were successful
/ upload (release) Successful in 4m59s
crazy refactor
2026-02-27 20:34:33 +01:00

20 lines
1,008 B
JavaScript

const { contextBridge, ipcRenderer } = require('electron');
function onIpc(channel, callback) {
const listener = (_event, payload) => callback(payload);
ipcRenderer.on(channel, listener);
return () => ipcRenderer.removeListener(channel, listener);
}
contextBridge.exposeInMainWorld('electronAPI', {
copyToClipboard: (text) => ipcRenderer.invoke('clipboard-write', text),
getUpdateState: () => ipcRenderer.invoke('get-update-state'),
checkForUpdatesNow: () => ipcRenderer.invoke('check-for-updates-now'),
checkForUpdates: () => ipcRenderer.send('check-for-updates'),
downloadUpdate: () => ipcRenderer.send('download-update'),
quitAndInstall: () => ipcRenderer.send('quit-and-install'),
onUpdateState: (callback) => onIpc('update-state', callback),
onUpdateAvailable: (callback) => onIpc('update-available', callback),
onUpdateDownloaded: (callback) => onIpc('update-downloaded', callback),
onUpdateError: (callback) => onIpc('update-error', callback)
});