fix(call-to-play): explain unavailable game calls
Calls for a game missing from the local catalog still contributed to the badge but were discarded by both the ticker and overlay. Opening the badge could therefore show a blank modal with no explanation. Render those calls with an unavailable-game label, the sender and game ID, the normal roster and chat, and safe coordination actions. The creator can mark the match started, but automatic launch remains disabled until catalog data exists. Test Plan: - `just fmt` -- passed - `just frontend-test` -- passed, 21 tests - `just build` -- passed - `git diff --cached --check` -- passed
This commit is contained in:
@@ -75,7 +75,6 @@ export const CallToPlayTicker = ({ nominations, games, accent, onOpen }: Props)
|
||||
<div className="ctp-ticker-stack">
|
||||
{active.map(nomination => {
|
||||
const game = gameById.get(nomination.gameId);
|
||||
if (!game) return null;
|
||||
const status = statusOf(nomination, now);
|
||||
if (status === 'started') return null;
|
||||
const ready = readyCountOf(nomination, now);
|
||||
@@ -102,7 +101,10 @@ export const CallToPlayTicker = ({ nominations, games, accent, onOpen }: Props)
|
||||
>
|
||||
<span className="ctp-ticker-dot" data-status={status} />
|
||||
<span className="ctp-ticker-label" data-status={status}>{LABEL[status]}</span>
|
||||
<span className="ctp-ticker-game">{game.name}</span>
|
||||
<span
|
||||
className="ctp-ticker-game"
|
||||
title={game ? undefined : `Game ID: ${nomination.gameId}`}
|
||||
>{game?.name ?? 'Game unavailable here'}</span>
|
||||
<span className="ctp-ticker-by">by {nomination.creator}</span>
|
||||
<span className="ctp-ticker-ready">{count}</span>
|
||||
<span className="ctp-ticker-time">{time}</span>
|
||||
|
||||
Reference in New Issue
Block a user