44 lines
2.2 KiB
JavaScript
44 lines
2.2 KiB
JavaScript
// preload.js — expose IPC to renderer
|
|
const { contextBridge, ipcRenderer } = require('electron');
|
|
|
|
contextBridge.exposeInMainWorld('electronAPI', {
|
|
selectFolder: () => ipcRenderer.invoke('select-folder'),
|
|
selectFile: () => ipcRenderer.invoke('select-file'),
|
|
saveCredentials: (data) => ipcRenderer.invoke('save-credentials', data),
|
|
loadCredentials: () => ipcRenderer.invoke('load-credentials'),
|
|
createRepo: (data) => ipcRenderer.invoke('create-repo', data),
|
|
pushProject: (data) => ipcRenderer.invoke('push-project', data),
|
|
getBranches: (data) => ipcRenderer.invoke('getBranches', data),
|
|
getCommitLogs: (data) => ipcRenderer.invoke('getCommitLogs', data),
|
|
getFileTree: (data) => ipcRenderer.invoke('getFileTree', data),
|
|
readFile: (data) => ipcRenderer.invoke('readFile', data),
|
|
deleteFile: (data) => ipcRenderer.invoke('deleteFile', data),
|
|
listGiteaRepos: (data) => ipcRenderer.invoke('list-gitea-repos', data),
|
|
getGiteaRepoContents: (data) => ipcRenderer.invoke('get-gitea-repo-contents', data),
|
|
getGiteaFileContent: (data) => ipcRenderer.invoke('get-gitea-file-content', data),
|
|
uploadGiteaFile: (data) => ipcRenderer.invoke('upload-gitea-file', data),
|
|
uploadLocalFolderToGitea: (data) => ipcRenderer.invoke('upload-local-folder-to-gitea', data),
|
|
downloadGiteaFolder: (data) => ipcRenderer.invoke('download-gitea-folder', data),
|
|
downloadGiteaFile: (data) => ipcRenderer.invoke('download-gitea-file', data),
|
|
prepareDownloadDrag: (data) => ipcRenderer.invoke('prepare-download-drag', data),
|
|
startNativeDrag: (filePath) => ipcRenderer.send('ondragstart', filePath),
|
|
uploadAndPush: (data) => ipcRenderer.invoke('upload-and-push', data),
|
|
deleteGiteaRepo: (data) => ipcRenderer.invoke('delete-gitea-repo', data),
|
|
|
|
// progress subscriptions
|
|
onPushProgress: (cb) => {
|
|
ipcRenderer.on('push-progress', (event, percent) => {
|
|
try { cb(percent); } catch (_) {}
|
|
});
|
|
},
|
|
onFolderUploadProgress: (cb) => {
|
|
ipcRenderer.on('folder-upload-progress', (event, payload) => {
|
|
try { cb(payload); } catch (_) {}
|
|
});
|
|
},
|
|
onFolderDownloadProgress: (cb) => {
|
|
ipcRenderer.on('folder-download-progress', (event, payload) => {
|
|
try { cb(payload); } catch (_) {}
|
|
});
|
|
}
|
|
}); |