-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpreload.cjs
More file actions
38 lines (37 loc) · 1.96 KB
/
Copy pathpreload.cjs
File metadata and controls
38 lines (37 loc) · 1.96 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
const { contextBridge, ipcRenderer } = require('electron')
contextBridge.exposeInMainWorld('cipher', {
dragStart: () => ipcRenderer.send('drag-start'),
dragMove: () => ipcRenderer.send('drag-move'),
dragEnd: () => ipcRenderer.send('drag-end'),
resizeStart: (edge) => ipcRenderer.send('window:resize-start', { edge }),
resizeMove: () => ipcRenderer.send('window:resize-move'),
resizeEnd: () => ipcRenderer.send('window:resize-end'),
setOpacity: (alpha) => ipcRenderer.send('set-opacity', alpha),
quit: () => ipcRenderer.send('app-quit'),
hide: () => ipcRenderer.send('hide'),
captureScreen: () => ipcRenderer.invoke('capture:screen'),
syncStagedImages: (images) => ipcRenderer.invoke('image:sync', { images }),
addImage: (base64) => ipcRenderer.invoke('image:add', { base64 }),
removeStagedImage: (index) => ipcRenderer.invoke('image:removeAt', { index }),
clearStagedImages: () => ipcRenderer.invoke('image:clear'),
loadSettings: () => ipcRenderer.invoke('settings:load'),
verifySettings: () => ipcRenderer.invoke('settings:verify'),
saveSettings: (data) => ipcRenderer.invoke('settings:save', data),
analyze: (data) => ipcRenderer.invoke('ai:analyze', data),
followUp: (data) => ipcRenderer.invoke('ai:followUp', data),
onCaptureDone: (cb) => {
const listener = (_, data) => cb(data)
ipcRenderer.on('capture:done', listener)
return () => ipcRenderer.removeListener('capture:done', listener)
},
onCaptureStart: (cb) => {
const listener = () => cb()
ipcRenderer.on('capture:start', listener)
return () => ipcRenderer.removeListener('capture:start', listener)
},
onAnalyzeProgress: (cb) => {
const listener = (_, data) => cb(data)
ipcRenderer.on('analyze:progress', listener)
return () => ipcRenderer.removeListener('analyze:progress', listener)
},
})