refactor: simplify series page — drop redundant versus/headline, blank out placeholder scores, make round badge the bracket link
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -73,7 +73,6 @@ def build_series_view(series_id, payload):
|
|||||||
"leader": leader_team,
|
"leader": leader_team,
|
||||||
"trailer": trailer_team,
|
"trailer": trailer_team,
|
||||||
"state": state,
|
"state": state,
|
||||||
"headline": _headline(state, leader_team, trailer_team, top_wins, bot_wins),
|
|
||||||
"games": normalized_games,
|
"games": normalized_games,
|
||||||
"played_games": played,
|
"played_games": played,
|
||||||
"next_game": next_game,
|
"next_game": next_game,
|
||||||
@@ -157,23 +156,6 @@ def _game_view(game):
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def _headline(state, leader, trailer, top_wins, bot_wins):
|
|
||||||
if state["is_game7"]:
|
|
||||||
return "Win-or-go-home \u2014 Game 7 tonight."
|
|
||||||
if state["is_clincher"] and leader:
|
|
||||||
return f"{leader['full']} can close it out in Game {state['game_number']}."
|
|
||||||
if state["is_pivotal"]:
|
|
||||||
return f"Series tied 2\u20112 \u2014 pivotal Game {state['game_number']}."
|
|
||||||
if state["is_opener"]:
|
|
||||||
return "Series opener."
|
|
||||||
if leader and trailer:
|
|
||||||
return (
|
|
||||||
f"{leader['full']} leads {state['hi']}\u2011{state['lo']} "
|
|
||||||
f"\u2014 Game {state['game_number']} next."
|
|
||||||
)
|
|
||||||
return f"Series even {top_wins}\u2011{bot_wins}."
|
|
||||||
|
|
||||||
|
|
||||||
def _format_start(start_utc):
|
def _format_start(start_utc):
|
||||||
if not start_utc:
|
if not start_utc:
|
||||||
return "", ""
|
return "", ""
|
||||||
|
|||||||
+11
-49
@@ -603,6 +603,17 @@ main {
|
|||||||
border: 1px solid rgba(212, 175, 55, 0.28);
|
border: 1px solid rgba(212, 175, 55, 0.28);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.badge-round-link {
|
||||||
|
text-decoration: none;
|
||||||
|
transition: border-color 0.12s ease, color 0.12s ease, background 0.12s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badge-round-link:hover {
|
||||||
|
border-color: var(--cup-gold-1);
|
||||||
|
color: var(--cup-gold-2);
|
||||||
|
background: rgba(212, 175, 55, 0.16);
|
||||||
|
}
|
||||||
|
|
||||||
.badge-conf {
|
.badge-conf {
|
||||||
background: rgba(79, 195, 247, 0.12);
|
background: rgba(79, 195, 247, 0.12);
|
||||||
color: var(--ice-accent);
|
color: var(--ice-accent);
|
||||||
@@ -795,36 +806,6 @@ main {
|
|||||||
margin-top: 0.25rem;
|
margin-top: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.series-versus {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
gap: 0.2rem;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.series-versus-label {
|
|
||||||
font-size: 0.7rem;
|
|
||||||
letter-spacing: 0.15em;
|
|
||||||
color: var(--cup-silver-dim);
|
|
||||||
}
|
|
||||||
|
|
||||||
.series-versus-score {
|
|
||||||
font-size: 1.4rem;
|
|
||||||
font-weight: 600;
|
|
||||||
color: var(--cup-gold-2);
|
|
||||||
}
|
|
||||||
|
|
||||||
.series-versus-best {
|
|
||||||
font-size: 0.75rem;
|
|
||||||
color: var(--cup-silver-dim);
|
|
||||||
}
|
|
||||||
|
|
||||||
.series-headline {
|
|
||||||
font-size: 1rem;
|
|
||||||
color: var(--cup-silver-1);
|
|
||||||
max-width: 46ch;
|
|
||||||
}
|
|
||||||
|
|
||||||
.series-next-card {
|
.series-next-card {
|
||||||
background: var(--card);
|
background: var(--card);
|
||||||
border: 1px solid var(--cup-gold-dim);
|
border: 1px solid var(--cup-gold-dim);
|
||||||
@@ -1172,22 +1153,3 @@ main {
|
|||||||
.bracket-accordion { display: flex; }
|
.bracket-accordion { display: flex; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Banner bracket link (both pages) */
|
|
||||||
.banner-bracket-link {
|
|
||||||
background: transparent;
|
|
||||||
border: 1px solid var(--cup-gold-dim);
|
|
||||||
color: var(--cup-gold-1);
|
|
||||||
padding: 0.35rem 0.7rem;
|
|
||||||
border-radius: 999px;
|
|
||||||
font-size: 0.78rem;
|
|
||||||
letter-spacing: 0.05em;
|
|
||||||
text-decoration: none;
|
|
||||||
transition: border-color 0.12s ease, color 0.12s ease;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.banner-bracket-link:hover {
|
|
||||||
border-color: var(--cup-gold-1);
|
|
||||||
color: var(--cup-gold-2);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,12 +11,11 @@
|
|||||||
<body class="playoff-mode series-mode">
|
<body class="playoff-mode series-mode">
|
||||||
<header class="series-header">
|
<header class="series-header">
|
||||||
<a class="header-title header-link" href="/">← NHL Scoreboard</a>
|
<a class="header-title header-link" href="/">← NHL Scoreboard</a>
|
||||||
<a class="banner-bracket-link" href="/bracket">Bracket</a>
|
|
||||||
</header>
|
</header>
|
||||||
<main class="series-main">
|
<main class="series-main">
|
||||||
<section class="series-hero">
|
<section class="series-hero">
|
||||||
<div class="series-hero-eyebrow">
|
<div class="series-hero-eyebrow">
|
||||||
<span class="badge badge-round">{{ series.round_label|upper }}</span>
|
<a class="badge badge-round badge-round-link" href="/bracket" aria-label="View the playoff bracket">{{ series.round_label|upper }}</a>
|
||||||
{% if series.state.is_game7 %}<span class="badge badge-game7">GAME 7</span>
|
{% if series.state.is_game7 %}<span class="badge badge-game7">GAME 7</span>
|
||||||
{% elif series.state.is_clincher %}<span class="badge badge-clincher">CLINCHER</span>
|
{% elif series.state.is_clincher %}<span class="badge badge-clincher">CLINCHER</span>
|
||||||
{% elif series.state.is_pivotal %}<span class="badge badge-pivotal">PIVOTAL</span>{% endif %}
|
{% elif series.state.is_pivotal %}<span class="badge badge-pivotal">PIVOTAL</span>{% endif %}
|
||||||
@@ -31,11 +30,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="series-team-wins">{{ series.top_wins }}</div>
|
<div class="series-team-wins">{{ series.top_wins }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="series-versus">
|
|
||||||
<span class="series-versus-label">SERIES</span>
|
|
||||||
<span class="series-versus-score">{{ series.top_wins }} – {{ series.bottom_wins }}</span>
|
|
||||||
<span class="series-versus-best">Best of {{ series.length }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="series-team {% if series.leader and series.leader.abbrev == series.bottom.abbrev %}series-team-leader{% endif %}">
|
<div class="series-team {% if series.leader and series.leader.abbrev == series.bottom.abbrev %}series-team-leader{% endif %}">
|
||||||
{% if series.bottom.logo %}<img class="series-team-logo" src="{{ series.bottom.logo }}" alt="{{ series.bottom.abbrev }}">{% endif %}
|
{% if series.bottom.logo %}<img class="series-team-logo" src="{{ series.bottom.logo }}" alt="{{ series.bottom.abbrev }}">{% endif %}
|
||||||
<div class="series-team-name">{{ series.bottom.full }}</div>
|
<div class="series-team-name">{{ series.bottom.full }}</div>
|
||||||
@@ -46,7 +40,6 @@
|
|||||||
<div class="series-team-wins">{{ series.bottom_wins }}</div>
|
<div class="series-team-wins">{{ series.bottom_wins }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="series-headline">{{ series.headline }}</p>
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{% if series.next_game %}
|
{% if series.next_game %}
|
||||||
@@ -78,13 +71,13 @@
|
|||||||
<div class="series-game-team">
|
<div class="series-game-team">
|
||||||
<span class="series-game-abbrev">{{ game.away.abbrev }}</span>
|
<span class="series-game-abbrev">{{ game.away.abbrev }}</span>
|
||||||
<span class="series-game-score {% if game.winner_abbrev == game.away.abbrev %}series-game-winner{% endif %}">
|
<span class="series-game-score {% if game.winner_abbrev == game.away.abbrev %}series-game-winner{% endif %}">
|
||||||
{% if game.away.score is not none %}{{ game.away.score }}{% else %}—{% endif %}
|
{% if game.away.score is not none %}{{ game.away.score }}{% endif %}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="series-game-team">
|
<div class="series-game-team">
|
||||||
<span class="series-game-abbrev">{{ game.home.abbrev }}</span>
|
<span class="series-game-abbrev">{{ game.home.abbrev }}</span>
|
||||||
<span class="series-game-score {% if game.winner_abbrev == game.home.abbrev %}series-game-winner{% endif %}">
|
<span class="series-game-score {% if game.winner_abbrev == game.home.abbrev %}series-game-winner{% endif %}">
|
||||||
{% if game.home.score is not none %}{{ game.home.score }}{% else %}—{% endif %}
|
{% if game.home.score is not none %}{{ game.home.score }}{% endif %}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user