From a105d5412a01c09b25f6eef94aa70bf8ddcc515a Mon Sep 17 00:00:00 2001 From: Cal Corum Date: Tue, 7 Apr 2026 00:12:26 -0500 Subject: [PATCH] fix: pass diamond tier colors to card template The tier_style.html template references {{ filled_bg }} for diamond quad backgrounds but it was never set in the rendering code, making the tier indicator invisible. Co-Authored-By: Claude Opus 4.6 (1M context) --- app/routers_v2/players.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/app/routers_v2/players.py b/app/routers_v2/players.py index 34fefe1..e3fd018 100644 --- a/app/routers_v2/players.py +++ b/app/routers_v2/players.py @@ -143,6 +143,14 @@ def normalize_franchise(franchise: str) -> str: return FRANCHISE_NORMALIZE.get(titled, titled) +TIER_DIAMOND_COLORS = { + 1: "linear-gradient(135deg, #40b040 0%, #1a6b1a 50%, #145214 100%)", + 2: "linear-gradient(135deg, #50a0e8 0%, #2070b0 50%, #185488 100%)", + 3: "linear-gradient(135deg, #e85050 0%, #a82020 50%, #7e1818 100%)", + 4: "linear-gradient(135deg, #a060d0 0%, #6b2d8e 50%, #50226a 100%)", +} + + def resolve_refractor_tier(player_id: int, variant: int) -> int: """Determine the refractor tier (0-4) from a player's variant hash. @@ -809,6 +817,7 @@ async def get_animated_card( else: card_data["cardset_name"] = this_player.description card_data["refractor_tier"] = refractor_tier + card_data["filled_bg"] = TIER_DIAMOND_COLORS.get(refractor_tier, "") card_data["request"] = request html_response = templates.TemplateResponse("player_card.html", card_data) @@ -845,6 +854,7 @@ async def get_animated_card( else: card_data["cardset_name"] = this_player.description card_data["refractor_tier"] = refractor_tier + card_data["filled_bg"] = TIER_DIAMOND_COLORS.get(refractor_tier, "") card_data["request"] = request html_response = templates.TemplateResponse("player_card.html", card_data) @@ -944,6 +954,9 @@ async def get_batter_card( card_data["refractor_tier"] = ( tier if tier is not None else resolve_refractor_tier(player_id, variant) ) + card_data["filled_bg"] = TIER_DIAMOND_COLORS.get( + card_data["refractor_tier"], "" + ) card_data["request"] = request html_response = templates.TemplateResponse("player_card.html", card_data) @@ -984,6 +997,9 @@ async def get_batter_card( card_data["refractor_tier"] = ( tier if tier is not None else resolve_refractor_tier(player_id, variant) ) + card_data["filled_bg"] = TIER_DIAMOND_COLORS.get( + card_data["refractor_tier"], "" + ) card_data["request"] = request html_response = templates.TemplateResponse("player_card.html", card_data)