From 39a9f09f0436069a6bf0885d6aec0a3858b1e3b3 Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Mon, 27 Jul 2026 00:45:58 +0200 Subject: [PATCH] fix(mgmt/web): the running-game cover slot says "game" when there is no art MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rendered the Dashboard stories headlessly and looked at them, which is how this turned up: with no cover the slot was an empty grey rectangle, reading as something that failed to load rather than something absent. Plenty of rows will never have art — an operator-typed command has no catalog entry behind it, a custom entry may carry none, and nothing does until `/library` has loaded. The slot keeps its fixed size so rows stay aligned when only some titles have covers; it just holds a gamepad glyph instead of nothing. --- web/src/sections/Dashboard/RunningGames.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/web/src/sections/Dashboard/RunningGames.tsx b/web/src/sections/Dashboard/RunningGames.tsx index 5eef8161..a99ff1ea 100644 --- a/web/src/sections/Dashboard/RunningGames.tsx +++ b/web/src/sections/Dashboard/RunningGames.tsx @@ -56,14 +56,20 @@ const GameRow: FC<{ const waiting = game.state === "grace"; return (
-
- {art && ( + {/* Fixed slot so rows line up whether or not a title has a cover. Plenty won't: an + operator-typed command has no catalog entry behind it, a custom entry may carry no + art, and nothing does until `/library` has loaded — an empty box reads as broken, so + the placeholder says "game" instead of nothing. */} +
+ {art ? ( + ) : ( + )}