-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpreload.js
More file actions
31 lines (26 loc) · 1.44 KB
/
preload.js
File metadata and controls
31 lines (26 loc) · 1.44 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
const { contextBridge, ipcRenderer } = require('electron');
contextBridge.exposeInMainWorld('api', {
// Settings
getSettings: () => ipcRenderer.invoke('get-settings'),
setProvider: (v) => ipcRenderer.invoke('set-provider', v),
setApiKey: (v) => ipcRenderer.invoke('set-api-key', v),
setAnthropicKey: (v) => ipcRenderer.invoke('set-anthropic-key', v),
setGeminiKey: (v) => ipcRenderer.invoke('set-gemini-key', v),
setOllamaUrl: (v) => ipcRenderer.invoke('set-ollama-url', v),
setOllamaModel: (v) => ipcRenderer.invoke('set-ollama-model', v),
setShellOnly: (v) => ipcRenderer.invoke('set-shell-only', v),
setColorLocks: (v) => ipcRenderer.invoke('set-color-locks', v),
resetCredentials: () => ipcRenderer.invoke('reset-credentials'),
fetchOllamaModels: (url) => ipcRenderer.invoke('fetch-ollama-models', url),
setOutputDir: () => ipcRenderer.invoke('set-output-dir'),
// Image
pasteImage: () => ipcRenderer.invoke('paste-image'),
analyzeImage: (d) => ipcRenderer.invoke('analyze-image', d),
// File ops
saveDesignMd: (d) => ipcRenderer.invoke('save-design-md', d),
copyToClipboard: (t) => ipcRenderer.invoke('copy-to-clipboard', t),
openOutputFolder: () => ipcRenderer.invoke('open-output-folder'),
// Events from main process
onOpenSettings: (cb) => ipcRenderer.on('open-settings', cb),
platform: process.platform
});