Refactor folder addition logic and update IPC handlers
This commit is contained in:
52
main.js
52
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') || [];
|
||||
|
||||
Reference in New Issue
Block a user