Files
farm-tracker-sao/preload.js

30 lines
1.5 KiB
JavaScript

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),
checkUpdateManual: () => ipcRenderer.invoke('check-update-manual'),
onUpdateProgress: (cb) => ipcRenderer.on('update-progress', (_, data) => cb(data))
});