feat: render rcon materialized match details

This commit is contained in:
devRaGonSa
2026-05-19 14:58:35 +02:00
parent f0d50d7c4f
commit 6c1edeaf1b
6 changed files with 332 additions and 211 deletions

View File

@@ -1,7 +1,7 @@
---
id: TASK-127
title: Update recent match link actions
status: pending
status: done
type: frontend
team: Frontend Senior
supporting_teams:
@@ -78,3 +78,19 @@ Recent match cards should always offer internal details when supported and only
- Stage only intended files.
- Commit the completed implementation.
- Push the branch to origin.
## Outcome
Updated recent match cards to consume materialized RCON recent-match fields. Cards now show available scores, a friendly result status/source, an internal `Ver detalles` link built from `internal_detail_match_id` or `match_id`, and an external scoreboard link only when `match_url` is present.
The rendering keeps paused Elo/MVP blocks out of the page, does not reintroduce Comunidad Hispana #03, and avoids visible "snapshot" wording. Missing-score RCON competitive-window rows render as in-progress instead of placeholder dashes.
## Validation Result
- Passed: `node --check frontend/assets/js/historico.js`
- Passed: `node --check frontend/assets/js/historico-recent-live.js`
- Passed: `docker compose up -d --build backend frontend`
- Browser-verified `http://localhost:8080/historico.html`.
- Confirmed recent cards show internal detail links and materialized RCON score `3 - 2`.
- Confirmed external scoreboard links are not rendered when `match_url` is absent.
- Confirmed no visible Elo/MVP/Comunidad Hispana #03/snapshot wording appears.

View File

@@ -1,7 +1,7 @@
---
id: TASK-128
title: Build simplified internal match detail page
status: pending
status: done
type: frontend
team: Frontend Senior
supporting_teams:
@@ -77,3 +77,20 @@ When a safe public scoreboard link is unavailable, users should still be able to
- Stage only intended files.
- Commit the completed implementation.
- Push the branch to origin.
## Outcome
Reworked `frontend/historico-partida.html` and `frontend/assets/js/historico-partida.js` into a simplified internal scoreboard-style detail page backed by `/api/historical/matches/detail?server=...&match=...`.
The page correctly URL-encodes materialized RCON match ids containing colons, displays match summary cards, source/confidence, optional external scoreboard action, player stats with K/D, top weapons, most-killed/death-by summaries, and timeline event counts. It handles missing player/timeline data with controlled empty states and does not expose raw player IDs.
## Validation Result
- Passed: `node --check frontend/assets/js/historico-partida.js`
- Passed: `docker compose up -d --build backend frontend`
- Browser-verified detail navigation from `http://localhost:8080/historico.html`.
- Browser-verified known materialized match detail renders at `http://localhost:8080/historico-partida.html?server=comunidad-hispana-02&match=comunidad-hispana-02%3A1779178461%3A1779183861%3Acarentanwarfare`.
- Confirmed AntonioPruna renders with 1 kill, 0 deaths and `M1 GARAND`.
- Confirmed the victim row renders 1 death and `death_by` AntonioPruna.
- Confirmed timeline/event counts render.
- Confirmed no visible Elo/MVP/Comunidad Hispana #03/snapshot wording appears.