♻️ refactor: remove redundant 'X abbrechen' context menu items
'Hoster entfernen' already cancels active uploads AND removes jobs. The separate 'doodstream.com abbrechen' etc. items were redundant and confused users with two ways to do the same thing. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
8803f09974
commit
cb70b47242
@ -1018,24 +1018,6 @@ function showContextMenu(x, y) {
|
||||
const startItem = menu.querySelector('[data-action="start-selected"]');
|
||||
if (startItem) startItem.textContent = n > 1 ? `Ausgewählte starten (${n})` : 'Ausgewählte starten';
|
||||
|
||||
// Dynamic "cancel hoster" items
|
||||
const cancelSep = menu.querySelector('.ctx-hoster-cancel-sep');
|
||||
const cancelContainer = menu.querySelector('.ctx-hoster-cancel-items');
|
||||
const activeHosters = [...new Set(queueJobs.filter(j => j.status === 'uploading' || j.status === 'queued' || j.status === 'retrying' || j.status === 'getting-server' || j.status === 'preview').map(j => j.hoster))];
|
||||
cancelContainer.innerHTML = '';
|
||||
if (activeHosters.length > 0) {
|
||||
cancelSep.style.display = '';
|
||||
activeHosters.forEach(h => {
|
||||
const item = document.createElement('div');
|
||||
item.className = 'ctx-item ctx-item-danger';
|
||||
item.dataset.action = `cancel-hoster:${h}`;
|
||||
item.textContent = `${h} abbrechen`;
|
||||
cancelContainer.appendChild(item);
|
||||
});
|
||||
} else {
|
||||
cancelSep.style.display = 'none';
|
||||
}
|
||||
|
||||
// Dynamic "delete by hoster" submenu
|
||||
const deleteHosterSubmenu = menu.querySelector('.ctx-hoster-delete-submenu');
|
||||
const deleteHosterContainer = menu.querySelector('.ctx-hoster-delete-items');
|
||||
@ -1275,24 +1257,6 @@ async function handleContextAction(action) {
|
||||
} else if (action === 'always-on-top') {
|
||||
alwaysOnTopState = !alwaysOnTopState;
|
||||
await window.api.setAlwaysOnTop(alwaysOnTopState);
|
||||
} else if (action.startsWith('cancel-hoster:')) {
|
||||
const hoster = action.replace('cancel-hoster:', '');
|
||||
const jobIds = [];
|
||||
for (const job of queueJobs) {
|
||||
if (job.hoster === hoster && (job.status === 'uploading' || job.status === 'queued' || job.status === 'retrying' || job.status === 'getting-server' || job.status === 'preview')) {
|
||||
jobIds.push(job.id);
|
||||
// Mark queued/preview jobs as error immediately
|
||||
if (job.status === 'queued' || job.status === 'preview') {
|
||||
job.status = 'error';
|
||||
job.error = 'Hoster abgebrochen';
|
||||
}
|
||||
}
|
||||
}
|
||||
// Cancel active uploads via IPC
|
||||
if (jobIds.length > 0) await window.api.cancelSelectedJobs(jobIds);
|
||||
renderQueueTable();
|
||||
updateStatusBar();
|
||||
updateQueueActionButtons();
|
||||
} else if (action.startsWith('delete-hoster:')) {
|
||||
const hoster = action.replace('delete-hoster:', '');
|
||||
// Cancel active uploads for this hoster
|
||||
|
||||
@ -269,8 +269,6 @@
|
||||
<div class="ctx-item ctx-item-danger">Hoster entfernen ▸</div>
|
||||
<div class="ctx-submenu-items ctx-hoster-delete-items"></div>
|
||||
</div>
|
||||
<div class="ctx-separator ctx-hoster-cancel-sep" style="display:none"></div>
|
||||
<div class="ctx-hoster-cancel-items"></div>
|
||||
</div>
|
||||
|
||||
<div class="context-menu" id="recentContextMenu" style="display:none">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user