25 lines
1.3 KiB
TypeScript
25 lines
1.3 KiB
TypeScript
import { contextBridge, ipcRenderer } from 'electron'
|
|
|
|
console.log('--- PRELOAD SCRIPT LOADED SUCCESSFULLY ---')
|
|
|
|
contextBridge.exposeInMainWorld('electronAPI', {
|
|
exportPDF: (title: string, htmlContent?: string) => ipcRenderer.invoke('export-pdf', title, htmlContent),
|
|
selectHtmlFile: () => ipcRenderer.invoke('select-html-file'),
|
|
updateTitlebarButtons: (symbolColor: string) => ipcRenderer.invoke('update-titlebar-buttons', symbolColor),
|
|
onRemoteClipboardSyncToRemote: (callback: () => void) => {
|
|
ipcRenderer.on('remote-clipboard-sync-to-remote', callback);
|
|
return () => ipcRenderer.removeListener('remote-clipboard-sync-to-remote', callback);
|
|
},
|
|
onRemoteClipboardSyncFromRemote: (callback: () => void) => {
|
|
ipcRenderer.on('remote-clipboard-sync-from-remote', callback);
|
|
return () => ipcRenderer.removeListener('remote-clipboard-sync-from-remote', callback);
|
|
},
|
|
onRemoteClipboardAutoSync: (callback: (text: string) => void) => {
|
|
const handler = (_event: Electron.IpcRendererEvent, text: string) => callback(text);
|
|
ipcRenderer.on('remote-clipboard-auto-sync', handler);
|
|
return () => ipcRenderer.removeListener('remote-clipboard-auto-sync', handler);
|
|
},
|
|
clipboardReadText: () => ipcRenderer.invoke('clipboard-read-text'),
|
|
clipboardWriteText: (text: string) => ipcRenderer.invoke('clipboard-write-text', text),
|
|
})
|