diff --git a/renderer/app.js b/renderer/app.js index 3fb523e..3f9be1e 100644 --- a/renderer/app.js +++ b/renderer/app.js @@ -20,6 +20,9 @@ let queueSortState = { key: 'filename', direction: 'asc' }; let historyRowsData = []; let historySortState = { key: 'date', direction: 'desc' }; +// Session-specific files for the "Files" panel (resets each session) +let sessionFilesData = []; + // --- Init --- async function init() { config = await window.api.getConfig(); @@ -33,6 +36,7 @@ async function init() { setupListeners(); setupDragDrop(); loadHistory(); + renderRecentUploadsPanel(); updateUploadView(); if (shouldAutoResumeQueue()) { @@ -605,14 +609,6 @@ async function handleContextAction(action) { persistQueueStateSoon(); } else if (action === 'copy-all-links') { copyAllLinks(); - } else if (action === 'delete-all') { - if (!uploading) { - queueJobs = []; - selectedFiles = []; - selectedJobIds.clear(); - updateUploadView(); - clearPersistedQueueStateSoon(); - } } else if (action === 'always-on-top') { alwaysOnTopState = !alwaysOnTopState; await window.api.setAlwaysOnTop(alwaysOnTopState); @@ -757,6 +753,29 @@ function handleBatchDone(summary) { document.getElementById('cancelUploadBtn').style.display = 'none'; updateStartButton(); renderQueueTable(); + + // Add completed jobs to session files panel + const dt = formatDateTime(new Date()); + for (const job of queueJobs) { + if (job.status === 'done' && job.result) { + const link = job.result.download_url || job.result.embed_url || ''; + if (link && !sessionFilesData.some(s => s.link === link && s.filename === job.fileName && s.host === job.hoster)) { + sessionFilesData.push({ + date: dt.text, dateTs: dt.ts, + filename: job.fileName || '', host: job.hoster || '', + link, isError: false, order: sessionFilesData.length + }); + } + } else if (job.status === 'error') { + sessionFilesData.push({ + date: dt.text, dateTs: dt.ts, + filename: job.fileName || '', host: job.hoster || '', + link: `[Fehler] ${job.error || ''}`, isError: true, order: sessionFilesData.length + }); + } + } + renderRecentUploadsPanel(); + loadHistory(); clearPersistedQueueStateSoon(); @@ -1020,7 +1039,6 @@ async function loadHistory() { if (!history || history.length === 0) { historyRowsData = []; container.innerHTML = '
Noch keine Uploads.
'; - renderRecentUploadsPanel(); return; } @@ -1043,18 +1061,17 @@ async function loadHistory() { } renderHistoryTable(container); - renderRecentUploadsPanel(); } function renderRecentUploadsPanel() { const tbody = document.getElementById('recentFilesBody'); if (!tbody) return; - if (!historyRowsData.length) { - tbody.innerHTML = '