UI: separate Updating filter for queued/active/paused downloads

Updating gets its own chip so Updatable shows only games the user could
still trigger. Anything mid-flight — queued, actively downloading,
paused with a partial on disk, or installing — moves to the new bucket.

Implemented in gameCategory(): downloading is true for both queued and
active jobs, so wartende Downloads (the user's words) show up in the
same list as the one actively transferring.
This commit is contained in:
Knutwurst committed 2026-06-24 20:57:17 +02:00
1 parent 3f4c4a15f5
commit bffa9b2a3f
2 files changed
+5 -1

No files matched your search

+4 -1
View File
@@ -311,9 +311,12 @@ function renderGames() {
// Mutually-exclusive bucket per game for the filter chips.
function gameCategory(game) {
// In-flight work (queued, active, paused, installing) lives in its own
// bucket so Updatable shows only what the user could still trigger.
if (game.installing || game.downloading || game.resumable) return "updating";
// checking is transient (version lookup still running); keep it visible under
// Updatable rather than letting it fall out of every specific filter.
if (game.installing || game.downloading || game.status === "checking") return "updatable";
if (game.status === "checking") return "updatable";
if (game.patch_title_match === false) return "blocked";
if (game.status === "available" && isDownloadAllowed(game)) return "updatable";
if (!sourcePolicy(game).allow_install && !sourcePolicy(game).allow_download) return "blocked";
+1
View File
@@ -110,6 +110,7 @@
</div>
<div class="segmented" role="group" aria-label="Filter">
<button class="is-selected" data-filter="updatable" aria-pressed="true">Updatable</button>
<button data-filter="updating" aria-pressed="false">Updating</button>
<button data-filter="uptodate" aria-pressed="false">Up to date</button>
<button data-filter="needsfw" aria-pressed="false">Needs FW</button>
<button data-filter="blocked" aria-pressed="false">Can't update</button>