const { contextBridge, ipcRenderer } = require('electron'); contextBridge.exposeInMainWorld('api', { pickFolder: () => ipcRenderer.invoke('pick-folder'), checkLogPath: (p) => ipcRenderer.invoke('check-log-path', p), getFileSize: (p) => ipcRenderer.invoke('get-file-size', p), readChunk: (p, start, end) => ipcRenderer.invoke('read-chunk', p, start, end), loadAppState: () => ipcRenderer.invoke('load-app-state'), saveAppState: (obj) => ipcRenderer.invoke('save-app-state', obj), loadDropStats: () => ipcRenderer.invoke('load-drop-stats'), saveDropStats: (obj) => ipcRenderer.invoke('save-drop-stats', obj), exportDropStats: () => ipcRenderer.invoke('export-drop-stats'), importMergeDropStats: () => ipcRenderer.invoke('import-merge-drop-stats'), loadCommunityDropStats: () => ipcRenderer.invoke('load-community-drop-stats'), saveCommunityDropStats: (obj) => ipcRenderer.invoke('save-community-drop-stats', obj), syncDropStats: (serverUrl, clientId, dropStats) => ipcRenderer.invoke('sync-drop-stats', { serverUrl, clientId, dropStats }), fetchCommunityStats: (serverUrl) => ipcRenderer.invoke('fetch-community-stats', { serverUrl }), getFilePaths: () => ipcRenderer.invoke('get-file-paths'), loadSessionHistory: () => ipcRenderer.invoke('load-session-history'), saveSessionHistory: (obj) => ipcRenderer.invoke('save-session-history', obj) });