From 687a80924acfe252aab0a239d6963954ee7d3ff0 Mon Sep 17 00:00:00 2001 From: M_Viper Date: Tue, 24 Mar 2026 20:38:19 +0000 Subject: [PATCH] Upload preload.js via GUI --- preload.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/preload.js b/preload.js index 6a05fc1..646c405 100644 --- a/preload.js +++ b/preload.js @@ -110,6 +110,12 @@ contextBridge.exposeInMainWorld('electronAPI', { return () => ipcRenderer.removeListener('push-progress', listener); }, + onPrePushBackupStatus: (cb) => { + const listener = (event, payload) => { try { cb(payload); } catch (_) {} }; + ipcRenderer.on('pre-push-backup-status', listener); + return () => ipcRenderer.removeListener('pre-push-backup-status', listener); + }, + onFolderUploadProgress: (cb) => { const listener = (event, payload) => { try { cb(payload); } catch (_) {} }; ipcRenderer.on('folder-upload-progress', listener); @@ -134,6 +140,22 @@ contextBridge.exposeInMainWorld('electronAPI', { return () => ipcRenderer.removeListener('batch-action-progress', listener); }, + // Backup Management + exportGiteaProjectsToLocal: (data) => ipcRenderer.invoke('export-gitea-projects-to-local', data), + setupBackupProvider: (data) => ipcRenderer.invoke('setup-backup-provider', data), + testBackupProvider: (data) => ipcRenderer.invoke('test-backup-provider', data), + getBackupAuthStatus: (data) => ipcRenderer.invoke('get-backup-auth-status', data), + createCloudBackup: (data) => ipcRenderer.invoke('create-cloud-backup', data), + listCloudBackups: (data) => ipcRenderer.invoke('list-cloud-backups', data), + restoreCloudBackup: (data) => ipcRenderer.invoke('restore-cloud-backup', data), + deleteCloudBackup: (data) => ipcRenderer.invoke('delete-cloud-backup', data), + + onBackupCreated: (cb) => { + const listener = (event, payload) => { try { cb(payload); } catch (_) {} }; + ipcRenderer.on('backup-created', listener); + return () => ipcRenderer.removeListener('backup-created', listener); + }, + // Window Controls windowMinimize: () => ipcRenderer.send('window-minimize'), windowMaximize: () => ipcRenderer.send('window-maximize'),