feat: implement folder watching functionality with IPC integration

This commit is contained in:
Anish Sarkar 2026-04-02 11:17:49 +05:30
parent 775dea7894
commit 28f556224a
5 changed files with 280 additions and 0 deletions

View file

@ -1,5 +1,14 @@
import { app, ipcMain, shell } from 'electron';
import { IPC_CHANNELS } from './channels';
import {
selectFolder,
addWatchedFolder,
removeWatchedFolder,
getWatchedFolders,
getWatcherStatus,
pauseWatcher,
resumeWatcher,
} from '../modules/folder-watcher';
export function registerIpcHandlers(): void {
ipcMain.on(IPC_CHANNELS.OPEN_EXTERNAL, (_event, url: string) => {
@ -16,4 +25,23 @@ export function registerIpcHandlers(): void {
ipcMain.handle(IPC_CHANNELS.GET_APP_VERSION, () => {
return app.getVersion();
});
// Folder sync handlers
ipcMain.handle(IPC_CHANNELS.FOLDER_SYNC_SELECT_FOLDER, () => selectFolder());
ipcMain.handle(IPC_CHANNELS.FOLDER_SYNC_ADD_FOLDER, (_event, config) =>
addWatchedFolder(config)
);
ipcMain.handle(IPC_CHANNELS.FOLDER_SYNC_REMOVE_FOLDER, (_event, folderPath: string) =>
removeWatchedFolder(folderPath)
);
ipcMain.handle(IPC_CHANNELS.FOLDER_SYNC_GET_FOLDERS, () => getWatchedFolders());
ipcMain.handle(IPC_CHANNELS.FOLDER_SYNC_GET_STATUS, () => getWatcherStatus());
ipcMain.handle(IPC_CHANNELS.FOLDER_SYNC_PAUSE, () => pauseWatcher());
ipcMain.handle(IPC_CHANNELS.FOLDER_SYNC_RESUME, () => resumeWatcher());
}