diff --git a/main.js b/main.js index 03f20dc..ec1128b 100644 --- a/main.js +++ b/main.js @@ -778,15 +778,9 @@ function buildTrayMenu() { ipcMain.handle('get-folders', () => store.get('folders')); - // Ordner hinzufügen: Open-Dialog, init, Store-Update, watchen, monitoren - ipcMain.handle('add-folder', async () => { - const { canceled, filePaths } = await dialog.showOpenDialog({ - properties: ['openDirectory'] - }); - if (canceled || !filePaths[0]) { - return store.get('folders'); - } - const newFolder = filePaths[0]; + + // (1) Die Kernfunktion + async function addFolderByPath(newFolder) { await initGitRepo(newFolder); // HEAD-Hash holen @@ -799,13 +793,7 @@ function buildTrayMenu() { let folders = store.get('folders') || []; let folderObj = folders.find(f => f.path === newFolder); if (!folderObj) { - folderObj = { - path: newFolder, - monitoring: true, - linesChanged: 0, - llmCandidates: [], - lastHeadHash // <--- Hinzufügen! - }; + folderObj = { path: newFolder, monitoring: true, linesChanged: 0, llmCandidates: [], lastHeadHash }; folders.push(folderObj); store.set('folders', folders); } else { @@ -816,8 +804,40 @@ function buildTrayMenu() { watchRepo(newFolder, win); startMonitoringWatcher(newFolder, win); return store.get('folders'); + } + + + // (2) Die IPC-Handler anpassen: + ipcMain.handle('add-folder', async () => { + const { canceled, filePaths } = await dialog.showOpenDialog({ + properties: ['openDirectory'] + }); + if (canceled || !filePaths[0]) { + return store.get('folders'); + } + return await addFolderByPath(filePaths[0]); }); + ipcMain.handle('add-folder-by-path', async (_e, folderPath) => { + return await addFolderByPath(folderPath); + }); + + + // Ordner hinzufügen: Open-Dialog, init, Store-Update, watchen, monitoren + ipcMain.handle('add-folder', async () => { + const { canceled, filePaths } = await dialog.showOpenDialog({ + properties: ['openDirectory'] + }); + if (canceled || !filePaths[0]) { + return store.get('folders'); + } + const newFolder = filePaths[0]; + + + + + + // Ordner entfernen: Watcher schließen, Store-Update ipcMain.handle('remove-folder', (_e, folderObj) => { const folders = store.get('folders') || [];