24 lines
1.1 KiB
TypeScript
24 lines
1.1 KiB
TypeScript
// See the Electron documentation for details on how to use preload scripts:
|
|
// https://www.electronjs.org/docs/latest/tutorial/process-model#preload-scripts
|
|
import { contextBridge, ipcRenderer } from 'electron';
|
|
|
|
contextBridge.exposeInMainWorld('electronWindow', {
|
|
minimize: () => ipcRenderer.send('window:minimize'),
|
|
maximize: () => ipcRenderer.send('window:maximize'),
|
|
fullscreen: () => ipcRenderer.send('window:fullscreen'),
|
|
close: () => ipcRenderer.send('window:close'),
|
|
openAutoplay: () => ipcRenderer.send('window:open-autoplay'),
|
|
closeAutoplay: () => ipcRenderer.send('window:close-autoplay'),
|
|
openHuddle: () => ipcRenderer.send('window:open-huddle'),
|
|
closeHuddle: () => ipcRenderer.send('window:close-huddle'),
|
|
});
|
|
|
|
contextBridge.exposeInMainWorld('electronLink', {
|
|
fetchMetadata: (url: string) => ipcRenderer.invoke('link:fetch-metadata', url),
|
|
openExternal: (url: string) => ipcRenderer.invoke('link:open-external', url),
|
|
});
|
|
|
|
contextBridge.exposeInMainWorld('electronApp', {
|
|
setDockBadge: (count: number) => ipcRenderer.send('app:set-dock-badge', count),
|
|
});
|