-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpreload.js
More file actions
34 lines (28 loc) · 1.53 KB
/
preload.js
File metadata and controls
34 lines (28 loc) · 1.53 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
const { contextBridge, ipcRenderer } = require('electron');
// Expose protected methods that allow the renderer process to use
// the ipcRenderer without exposing the entire object
contextBridge.exposeInMainWorld('api', {
// Journal operations
saveEntry: (entry) => ipcRenderer.invoke('save-entry', entry),
getEntries: (filters) => ipcRenderer.invoke('get-entries', filters),
getEntryById: (id) => ipcRenderer.invoke('get-entry-by-id', id),
deleteEntry: (id) => ipcRenderer.invoke('delete-entry', id),
// Export functionality
exportJournal: (format, data) => ipcRenderer.invoke('export-journal', format, data),
// AI operations with Ollama
generatePrompt: () => ipcRenderer.invoke('generate-prompt'),
summarizeEntry: (text) => ipcRenderer.invoke('summarize-entry', text),
analyzeSentiment: (text) => ipcRenderer.invoke('analyze-sentiment', text),
generateLetter: (prompt) => ipcRenderer.invoke('generate-letter', prompt),
// Settings operations
getSetting: (key) => ipcRenderer.invoke('get-setting', key),
saveSetting: (key, value) => ipcRenderer.invoke('save-setting', key, value),
// Stats operations
getStats: () => ipcRenderer.invoke('get-stats'),
getWordFrequency: () => ipcRenderer.invoke('get-word-frequency'),
getWritingTimes: () => ipcRenderer.invoke('get-writing-times'),
getEntryLengthTrend: () => ipcRenderer.invoke('get-entry-length-trend'),
getMoodCorrelations: () => ipcRenderer.invoke('get-mood-correlations'),
// Backup operations
createBackup: () => ipcRenderer.invoke('create-backup')
});