54 lines
3.4 KiB
JavaScript
54 lines
3.4 KiB
JavaScript
const { contextBridge, ipcRenderer } = require('electron');
|
|
|
|
contextBridge.exposeInMainWorld('settingsAPI', {
|
|
getSkyMode: () => ipcRenderer.invoke('get-skymode'),
|
|
setSkyMode: val => ipcRenderer.invoke('set-skymode', val),
|
|
getSkipPrompt: () => ipcRenderer.invoke('get-skip-git-prompt'),
|
|
setSkipPrompt: val => ipcRenderer.invoke('set-skip-git-prompt', val),
|
|
getIntelligentCommitThreshold: () => ipcRenderer.invoke('get-intelligent-commit-threshold'),
|
|
setIntelligentCommitThreshold: value => ipcRenderer.invoke('set-intelligent-commit-threshold', value),
|
|
getCommitModel: () => ipcRenderer.invoke('get-commit-model'),
|
|
setCommitModel: (model) => ipcRenderer.invoke('set-commit-model', model),
|
|
getReadmeModel: () => ipcRenderer.invoke('get-readme-model'),
|
|
setReadmeModel: (model) => ipcRenderer.invoke('set-readme-model', model),
|
|
close: () => ipcRenderer.send('close-settings'),
|
|
getAutostart: () => ipcRenderer.invoke('get-autostart'),
|
|
setAutostart: val => ipcRenderer.invoke('set-autostart', val),
|
|
getCloseToTray: () => ipcRenderer.invoke('get-close-to-tray'),
|
|
setCloseToTray: val => ipcRenderer.invoke('set-close-to-tray', val),
|
|
});
|
|
|
|
contextBridge.exposeInMainWorld('electronAPI', {
|
|
getFolders: () => ipcRenderer.invoke('get-folders'),
|
|
addFolder: () => ipcRenderer.invoke('add-folder'),
|
|
removeFolder: folderObj=> ipcRenderer.invoke('remove-folder', folderObj),
|
|
getSelected: () => ipcRenderer.invoke('get-selected'),
|
|
setSelected: folderObj=> ipcRenderer.invoke('set-selected', folderObj),
|
|
getCommits: folderObj=> ipcRenderer.invoke('get-commits', folderObj),
|
|
diffCommit: (folderObj, hash) => ipcRenderer.invoke('diff-commit', folderObj, hash),
|
|
revertCommit: (folderObj, hash) => ipcRenderer.invoke('revert-commit', folderObj, hash),
|
|
snapshotCommit: (folderObj, hash) => ipcRenderer.invoke('snapshot-commit', folderObj, hash),
|
|
checkoutCommit: (folderObj, hash) => ipcRenderer.invoke('checkout-commit', folderObj, hash),
|
|
getCommitCount: folderObj=> ipcRenderer.invoke('get-commit-count', folderObj),
|
|
hasDiffs: folderObj=> ipcRenderer.invoke('has-diffs', folderObj),
|
|
removeGitFolder:folderObj=> ipcRenderer.invoke('remove-git-folder', folderObj),
|
|
commitCurrentFolder: (folderObj, message) => ipcRenderer.invoke('commit-current-folder', folderObj, message),
|
|
showFolderContextMenu: folderPath => ipcRenderer.send('show-folder-context-menu', folderPath),
|
|
setMonitoring: (folderObj, monitoring) => ipcRenderer.invoke('set-monitoring', folderObj.path, monitoring),
|
|
getFolderTree: (folderPath) => ipcRenderer.invoke('get-folder-tree', folderPath),
|
|
getIntelligentCommitThreshold: () => ipcRenderer.invoke('get-intelligent-commit-threshold'),
|
|
setIntelligentCommitThreshold: value => ipcRenderer.invoke('set-intelligent-commit-threshold', value),
|
|
ollamaList: () => ipcRenderer.invoke('ollama-list'),
|
|
ollamaPull: (model) => ipcRenderer.invoke('ollama-pull', model),
|
|
onTrayToggleMonitoring: (callback) => ipcRenderer.on('tray-toggle-monitoring', callback),
|
|
onTrayRemoveFolder: (callback) => ipcRenderer.on('tray-remove-folder', callback),
|
|
onTrayAddFolder: (callback) => ipcRenderer.on('tray-add-folder', callback),
|
|
});
|
|
|
|
ipcRenderer.on('repo-updated', (_e, folder) => {
|
|
window.dispatchEvent(new CustomEvent('repo-updated', { detail: folder }));
|
|
});
|
|
|
|
ipcRenderer.on('skymode-changed', (_e, val) => {
|
|
window.dispatchEvent(new CustomEvent('skymode-changed', { detail: val }));
|
|
}); |