-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpreload.js
More file actions
49 lines (41 loc) · 2.24 KB
/
preload.js
File metadata and controls
49 lines (41 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// preload.js
// Secure bridge between renderer and main process
const { contextBridge, ipcRenderer } = require('electron');
/**
* Expose protected methods that allow the renderer process
* to use ipcRenderer without exposing the entire object
*/
contextBridge.exposeInMainWorld('api', {
// Session operations
saveSession: (data) => ipcRenderer.invoke('save-session', data),
getSessions: () => ipcRenderer.invoke('get-sessions'),
getSessionsByDate: (data) => ipcRenderer.invoke('get-sessions-by-date', data),
updateSession: (data) => ipcRenderer.invoke('update-session', data),
deleteSession: (data) => ipcRenderer.invoke('delete-session', data),
deleteAllSessions: () => ipcRenderer.invoke('delete-all-sessions'),
// Company operations
createCompany: (data) => ipcRenderer.invoke('create-company', data),
getCompanies: () => ipcRenderer.invoke('get-companies'),
getCompany: (data) => ipcRenderer.invoke('get-company', data),
updateCompany: (data) => ipcRenderer.invoke('update-company', data),
updateCompanyExcelConfig: (data) => ipcRenderer.invoke('update-company-excel-config', data),
deleteCompany: (data) => ipcRenderer.invoke('delete-company', data),
getSessionsGrouped: () => ipcRenderer.invoke('get-sessions-grouped'),
getSessionsByDateCompany: (data) => ipcRenderer.invoke('get-sessions-by-date-company', data),
// Settings operations
getSetting: (data) => ipcRenderer.invoke('get-setting', data),
setSetting: (data) => ipcRenderer.invoke('set-setting', data),
// Stats operations
getWeekTotal: () => ipcRenderer.invoke('get-week-total'),
getCurrentStreak: () => ipcRenderer.invoke('get-current-streak'),
// Export operations
getTodaySessions: () => ipcRenderer.invoke('get-today-sessions'),
getTodaysSessionsSummary: () => ipcRenderer.invoke('get-todays-sessions-summary'),
previewDayEnd: () => ipcRenderer.invoke('preview-day-end'),
exportDayEnd: () => ipcRenderer.invoke('export-day-end'),
// Navigation
navigateTo: (data) => ipcRenderer.invoke('navigate', data),
// Window controls
minimizeWindow: () => ipcRenderer.send('minimize-window'),
closeWindow: () => ipcRenderer.send('close-window')
});