Skip to content

Redesign match detail timeline rendering#37

Merged
adrunkhuman merged 9 commits intomasterfrom
redesign/merge-timeline
Mar 25, 2026
Merged

Redesign match detail timeline rendering#37
adrunkhuman merged 9 commits intomasterfrom
redesign/merge-timeline

Conversation

@adrunkhuman
Copy link
Copy Markdown
Owner

Summary

  • move match events into the score header and lineup area, including HT/FT dividers and tighter spacing
  • align divider score markers with the minute column and keep HT/FT rendering correct for low-event matches
  • harden lineup event association with canonical player-name matching and add regression coverage for the new rendering path

Testing

  • go test ./internal/ui
  • go test ./...

adrunkhuman and others added 9 commits March 22, 2026 23:51
…tations

Goals now show score progression labels (1-0) inline. Red cards appear in the
score header interleaved with goals. HT/FT dividers stay in the score section.
Lineup players are annotated with goal glyphs, card glyphs, and substitution
arrows (→ sub-off with player dimmed, ← sub-on) matched by last-name lookup.

Removes: Timeline section, formatEventLabel, formatSubstitutionLabel,
scorerTimeline, scorerLines, formatScorerLabel.
Adds: headerEventRows, formatScorerLabelWithScore, playerLastName,
playerEventIndex, renderAnnotatedPlayer.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Score header: goals now embed the minute in the side label with icon adjacent
to center ("Name min' ⚽" / "⚽ min' Name"), and the center column carries the
score progression "(1-0)". This matches the original web layout's centric design.

Missed penalties (MISS) restored to the score header — they are significant
events that belong alongside goals and red cards.

Lineup subs: remove dimming from sub-off player; both directions now render at
equal visual priority with plain "→ min'" / "← min'" annotations.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ator

Each lineup row now uses a 5-column layout:

  [home name →right] [home events →right] | [away events ←left] [away name ←left]

Events (cards, sub arrows) cluster next to the | separator. Empty event
columns produce a wider gap — no visual clutter for players with no events.
Goals removed from lineup annotations; they belong in the score header only.

Sub display: plain → min' (sub-off) and ← min' (sub-on), no dimming.
HT divider format unified with FT: "HT X - Y" instead of "HT X-Y".

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Goals now render name+icon in the side label with the minute in the
centre column — removing score-progression labels (1-0) etc. Card event
column next to the separator narrowed to a single emoji (YC/RC or
empty), dropping the minute from that column.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Moves "HT"/"FT" tags into the left dash run and puts only the score
("X - Y" or "X-Y") into the shared 9-char centre column, so the dash
in the score sits at the same column position as event-row minutes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Widens the shared centre column from 9 to 11 chars and switches
renderMatchDividerRow to padRight so "HT 1 - 0" keeps its natural
left-to-right layout. padCenter'd minutes in the same 11-char column
now land their midpoint at the same position as the dash in "HT X - Y".

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
renderMatchDetailRow: midWidth 11→7, gap 1→0. padCenter of a 3-char
minute now leaves 2 leading spaces between the icon and the first
digit; the minute centre column still aligns with the dash in the
HT/FT divider (both land at the same terminal column).

renderAnnotatedLineupRow: gap 1→0. Player names sit directly against
the card event column, removing the extra space between each name
and the separator.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@adrunkhuman adrunkhuman merged commit 16900e4 into master Mar 25, 2026
1 check passed
@adrunkhuman adrunkhuman deleted the redesign/merge-timeline branch March 25, 2026 05:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant