diff --git a/renderer/app.js b/renderer/app.js index 8d32f90..31bb68b 100644 --- a/renderer/app.js +++ b/renderer/app.js @@ -3940,7 +3940,6 @@ function syncQueueFilterResetAction() { const button = document.getElementById('queueFilterResetBtn'); if (!button) return; const active = _hasActiveQueueFilters(); - button.hidden = !active; button.disabled = !active; } diff --git a/renderer/index.html b/renderer/index.html index 8bc368e..da43530 100644 --- a/renderer/index.html +++ b/renderer/index.html @@ -295,7 +295,7 @@ - + diff --git a/renderer/styles.css b/renderer/styles.css index 6c359f0..27e5bbe 100644 --- a/renderer/styles.css +++ b/renderer/styles.css @@ -405,8 +405,9 @@ body { margin-left: 2px; white-space: nowrap; } -.queue-filter-reset[hidden] { - display: none; +.queue-filter-reset:disabled { + opacity: .45; + cursor: default; } .queue-filter-bar { min-width: 0; diff --git a/tests/startup-renderer.test.js b/tests/startup-renderer.test.js index d752f6d..2b1b637 100644 --- a/tests/startup-renderer.test.js +++ b/tests/startup-renderer.test.js @@ -177,7 +177,7 @@ test('header occupies its final geometry before asynchronous initialization', () assert.match(css, /\.update-dialog\s*\{[^}]*width:\s*min\(576px,\s*100%\);/su); assert.match(css, /\.update-release-notes\s*\{[^}]*height:\s*min\(264px,\s*48vh\);/su); assert.match(html, /class="update-progress-footer"[\s\S]*id="updateProgressDetails"[\s\S]*id="updateProgressSize"[\s\S]*id="updateProgressSpeed"[\s\S]*id="updateProgressEta"[\s\S]*id="updateProgressText"/u); - assert.match(html, /id="queueFilterResetBtn"[^>]*hidden[^>]*>Filter zurücksetzen]*disabled[^>]*>Filter zurücksetzen\s*
{ renderQueueTable(); return { before, after }; })()\`); - check('Queue filter reset clears sidebar, search, host, and status together', queueFilterReset.before.hidden === false && queueFilterReset.before.disabled === false && queueFilterReset.after.hidden === true && queueFilterReset.after.disabled === true && queueFilterReset.after.sidebar === 'all' && queueFilterReset.after.search === '' && queueFilterReset.after.hoster === '' && queueFilterReset.after.status === '' && queueFilterReset.after.allPressed === 'true' && queueFilterReset.after.visible === 'filter-a|filter-b'); + check('Queue filter reset clears every filter without shifting its stable action', queueFilterReset.before.hidden === false && queueFilterReset.before.disabled === false && queueFilterReset.after.hidden === false && queueFilterReset.after.disabled === true && queueFilterReset.after.sidebar === 'all' && queueFilterReset.after.search === '' && queueFilterReset.after.hoster === '' && queueFilterReset.after.status === '' && queueFilterReset.after.allPressed === 'true' && queueFilterReset.after.visible === 'filter-a|filter-b'); const queueSelectionAnchor = await wc.executeJavaScript(\`(() => { queueJobs = ['a', 'b', 'c', 'd'].map(id => ({ id: 'anchor-' + id, file: 'C:/ui/anchor-' + id + '.bin', fileName: 'anchor-' + id + '.bin', hoster: 'byse.sx', status: 'queued', bytesUploaded: 0, bytesTotal: 100, progress: 0 }));