Event context from data, not adjacent feed lines

The buildup timeline mostly surfaced unrelated events (a substitution
before a goal explains nothing). Replaced with the sources that
actually describe the event:

- goals match to their captured shot: situation (corner / counter /
  set piece / penalty), distance to goal, xG as a plain-language
  chance percentage, and xGOT for the finish quality
- the attack-momentum curve judges whether the goal came with or
  against the run of play (prior five minutes, only when clear-cut)
- VAR / video-review feed lines still surface on the matching event —
  the one slice of play-by-play that genuinely explains a decision
- the feed's action description stays as the de-emphasized last line,
  with the redundant scorer prefix stripped; booking reasons unchanged
- name matching shared from the lineup pitch (diacritic/order-proof),
  with a unique same-side-and-minute fallback

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-06-12 14:03:54 +02:00
parent 15d955e65c
commit 089d789e49
7 changed files with 185 additions and 90 deletions
+1 -1
View File
@@ -370,7 +370,7 @@ export function MatchPreviewPage() {
{tab === 'timeline' && preview.events.length > 0 && (
<Card>
<CardBody className="px-2 sm:px-4">
<MatchTimeline events={preview.events} commentary={preview.commentary} status={f.status} minute={f.minute} homeScore={f.homeScore} awayScore={f.awayScore} />
<MatchTimeline events={preview.events} commentary={preview.commentary} shots={rich?.shots ?? []} momentum={rich?.momentum ?? []} status={f.status} minute={f.minute} homeScore={f.homeScore} awayScore={f.awayScore} />
</CardBody>
</Card>
)}