1
0

Add folder relocation logic in renderer.js

This commit is contained in:
2025-05-25 04:50:31 +02:00
parent e4dcd636a6
commit f11ea9ebb5

View File

@@ -124,6 +124,47 @@ folders.forEach(folderObj => {
`;
// jetzt Listener setzen
// relocate missing folder
li.addEventListener('click', async e => {
if (e.target.closest('.pause-play-btn, .remove-btn')) return;
// Nur wenn Folder fehlt
if (folderObj.needsRelocation) {
// Öffne Ordner-Auswahldialog
const paths = await window.electronAPI.pickFolder(); // Sollte ein Array zurückgeben
const newPath = paths && paths[0];
if (!newPath) return;
// Prüfe auf gültiges Git-Repo
const isGit = await window.electronAPI.isGitRepo(newPath);
if (!isGit) {
alert('Das ist kein gültiges Git-Repository.');
return;
}
// Folder umziehen
await window.electronAPI.relocateFolder(folderObj.path, newPath);
// UI aktualisieren
await renderSidebar();
// Ggf. neuen Ordner direkt selektieren:
const newFolderObj = (await window.electronAPI.getFolders())
.find(f => f.path === newPath);
if (newFolderObj) {
await window.electronAPI.setSelected(newFolderObj);
await renderContent(newFolderObj);
}
return;
}
// Sonst Standardverhalten (Folder auswählen)
await window.electronAPI.setSelected(folderObj);
await renderSidebar();
await renderContent(folderObj);
});
const pauseBtn = li.querySelector('.pause-play-btn');
pauseBtn.addEventListener('click', async e => {
e.stopPropagation();