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), })