diff --git a/renderer.js b/renderer.js index 1281f3a..08c31a0 100644 --- a/renderer.js +++ b/renderer.js @@ -72,58 +72,77 @@ window.addEventListener('DOMContentLoaded', async () => { const selected = await window.electronAPI.getSelected(); folderList.innerHTML = ''; - folders.forEach(folderObj => { - const folder = folderObj.path; - const isMonitoring = folderObj.monitoring; - const li = document.createElement('li'); - li.className = [ - 'flex items-center justify-between px-3 py-2 rounded cursor-pointer', - selected && folder === selected.path ? 'selected' : '' - ].join(' '); +folders.forEach(folderObj => { + const folder = folderObj.path; + const isMonitoring = folderObj.monitoring; + const li = document.createElement('li'); + li.className = [ + 'flex items-center justify-between px-3 py-2 rounded cursor-pointer', + selected && folder === selected.path ? 'selected' : '' + ].join(' '); - li.innerHTML = ` -
- - - - ${basename(folder)} -
- - `; - - // play/pause Button korrekt initialisieren - const pausePlayBtn = document.createElement('button'); - pausePlayBtn.className = 'pause-play-btn ml-2 p-1 rounded'; - pausePlayBtn.title = isMonitoring ? 'Monitoring pausieren' : 'Monitoring starten'; - // statt Emoji: SVG-Strings - pausePlayBtn.innerHTML = isMonitoring - ? /* Pause-Icon */ - ` + // beide Buttons schon im Template unter „right“ + li.innerHTML = ` +
+ + + + + ${basename(folder)} +
+
+ + + + +
+ `; - pausePlayBtn.addEventListener('click', async e => { - e.stopPropagation(); - await window.electronAPI.setMonitoring(folderObj, !isMonitoring); - await renderSidebar(); - }); - li.appendChild(pausePlayBtn); + // jetzt Listener setzen + const pauseBtn = li.querySelector('.pause-play-btn'); + pauseBtn.addEventListener('click', async e => { + e.stopPropagation(); + await window.electronAPI.setMonitoring(folderObj, !isMonitoring); + await renderSidebar(); + }); + const removeBtn = li.querySelector('.remove-btn'); + removeBtn.addEventListener('click', async e => { + e.stopPropagation(); + // ... dein Remove-Logic hier ... + }); + + // Kontextmenü / Click zum Select + li.addEventListener('contextmenu', e => { + e.preventDefault(); + window.electronAPI.showFolderContextMenu(folderObj.path); + }); + li.addEventListener('click', async e => { + if (e.target.closest('.pause-play-btn, .remove-btn')) return; + await window.electronAPI.setSelected(folderObj); + await renderSidebar(); + await renderContent(folderObj); + }); + + folderList.appendChild(li); li.addEventListener('contextmenu', e => { e.preventDefault(); window.electronAPI.showFolderContextMenu(folderObj.path);