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

@@ -0,0 +1,96 @@
---
id: TASK-127
title: Update recent match link actions
status: done
type: frontend
team: Frontend Senior
supporting_teams:
- Experto en interfaz
- Backend Senior
roadmap_item: rcon-full-data
priority: medium
---
# TASK-127 - Update recent match link actions
## Goal
Update recent match cards so internal details and external scoreboard links are prioritized clearly and safely.
## Background
Recent match cards should always offer internal details when supported and only show public scoreboard links when the backend provides a safe `match_url`. RCON remains primary, and the UI must not expose stale wording or paused Elo/MVP content.
## Constraints
- Do not reintroduce Comunidad Hispana #03.
- Do not show paused Elo/MVP blocks.
- Do not expose public "snapshot" wording.
- Do not show broken external links.
- Do not change backend behavior unless strictly required and justified.
- Preserve HLL Vietnam tactical, sober styling.
## Allowed Changes
- `frontend/assets/js/historico.js`
- `frontend/assets/js/historico-recent-live.js` if needed
- minimal CSS only if needed for the action layout
- this task file when moving it through the workflow
## Implementation Requirements
- Work from a dedicated branch for this task.
- Read first:
- `AGENTS.md`
- `ai/architecture-index.md`
- `ai/repo-context.md`
- `ai/orchestrator/frontend-senior.md`
- `ai/orchestrator/ui-expert.md`
- `frontend/historico.html`
- `frontend/assets/js/historico.js`
- `frontend/assets/js/historico-recent-live.js`
- `frontend/assets/css/historico.css`
- Show score when result exists.
- Show `Ver detalles` internal link for every match with internal detail support.
- Show `Ver scoreboard` or `Ver partida externa` only when `match_url` exists.
- If a match has no score yet, show `En curso` or `Resultado no disponible` instead of `---` when a better status exists.
- Keep cards compatible with existing API fallback payloads.
## Validation Commands
- `node --check frontend/assets/js/historico.js`
- `node --check frontend/assets/js/historico-recent-live.js` if changed
- `docker compose up -d --build backend frontend`
## Manual Verification Steps
- Open `http://localhost:8080/historico.html`.
- Confirm scores appear where available.
- Confirm internal detail link is visible when supported.
- Confirm external scoreboard link appears only when `match_url` exists.
- Confirm there is no Elo/MVP/server #03/snapshot wording.
- Confirm `git diff --name-only` matches the allowed scope.
## Git Requirements
- Create a dedicated branch for this task, for example `codex/task-127-recent-match-actions`.
- Run relevant validation before committing.
- 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.