♻️ 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"]');
|
const startItem = menu.querySelector('[data-action="start-selected"]');
|
||||||
if (startItem) startItem.textContent = n > 1 ? `Ausgewählte starten (${n})` : 'Ausgewählte starten';
|
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
|
// Dynamic "delete by hoster" submenu
|
||||||
const deleteHosterSubmenu = menu.querySelector('.ctx-hoster-delete-submenu');
|
const deleteHosterSubmenu = menu.querySelector('.ctx-hoster-delete-submenu');
|
||||||
const deleteHosterContainer = menu.querySelector('.ctx-hoster-delete-items');
|
const deleteHosterContainer = menu.querySelector('.ctx-hoster-delete-items');
|
||||||
@ -1275,24 +1257,6 @@ async function handleContextAction(action) {
|
|||||||
} else if (action === 'always-on-top') {
|
} else if (action === 'always-on-top') {
|
||||||
alwaysOnTopState = !alwaysOnTopState;
|
alwaysOnTopState = !alwaysOnTopState;
|
||||||
await window.api.setAlwaysOnTop(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:')) {
|
} else if (action.startsWith('delete-hoster:')) {
|
||||||
const hoster = action.replace('delete-hoster:', '');
|
const hoster = action.replace('delete-hoster:', '');
|
||||||
// Cancel active uploads for this hoster
|
// Cancel active uploads for this hoster
|
||||||
|
|||||||
@ -269,8 +269,6 @@
|
|||||||
<div class="ctx-item ctx-item-danger">Hoster entfernen ▸</div>
|
<div class="ctx-item ctx-item-danger">Hoster entfernen ▸</div>
|
||||||
<div class="ctx-submenu-items ctx-hoster-delete-items"></div>
|
<div class="ctx-submenu-items ctx-hoster-delete-items"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="ctx-separator ctx-hoster-cancel-sep" style="display:none"></div>
|
|
||||||
<div class="ctx-hoster-cancel-items"></div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="context-menu" id="recentContextMenu" style="display:none">
|
<div class="context-menu" id="recentContextMenu" style="display:none">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user