7.0 KiB
id, title, status, type, team, supporting_teams, roadmap_item, priority
| id | title | status | type | team | supporting_teams | roadmap_item | priority | ||
|---|---|---|---|---|---|---|---|---|---|
| TASK-134 | Redesign RCON match detail scoreboard layout | pending | frontend | Frontend Senior |
|
rcon-full-data | high |
TASK-134 - Redesign RCON Match Detail Scoreboard Layout
Goal
Redesign the internal RCON match detail page so the match result is presented like a simplified scoreboard, not as many independent summary cards.
The current page technically works, but the layout feels too fragmented because server, map, mode, marker, winner, result, start, end, confidence, source, base and timeline are all shown as separate cards. The user wants a cleaner scoreboard-like match header with the score centered and each faction/team shown on either side.
Background
HLL Vietnam now has a RCON-first materialized match pipeline. The internal match detail page already renders materialized RCON match data for known matches such as:
- server:
comunidad-hispana-02 - match:
comunidad-hispana-02:1779178461:1779183861:carentanwarfare - encoded match:
comunidad-hispana-02%3A1779178461%3A1779183861%3Acarentanwarfare
Current data is valid:
- map: Carentan
- score: 3 - 2
- winner: Aliados
- duration: 1 h 30 min
- players include AntonioPruna with 1 kill, 0 deaths and M1 GARAND
- victim row includes death_by AntonioPruna
The user has requested a visual redesign:
- The score must appear centered, similar to the public scoreboard.
- Each side/team/faction must be displayed on each side of the score.
- The separate cards for confidence, source and base must not be shown.
- The event timeline/counts section must not be shown at all.
- Start can remain visible.
- Do not show misleading unavailable technical data prominently.
Constraints
- Frontend-focused task.
- Do not change the RCON materialization model unless absolutely necessary.
- Do not reactivate Elo/MMR.
- Do not reintroduce Comunidad Hispana #03.
- Do not show
snapshotwording. - Do not show paused MVP/Elo blocks.
- Do not add charts.
- Do not break recent match cards.
- Do not break direct opening of
historico-partida.html?server=...&match=.... - Keep the visual style consistent with the existing HLL Vietnam theme.
- Do not expose raw player ids.
- Public scoreboard remains optional link/enrichment only.
Allowed Changes
frontend/historico-partida.htmlfrontend/assets/js/historico-partida.jsfrontend/assets/css/historico.cssfrontend/assets/js/historico.jsonly if needed to preserve navigation into detail.- Backend read model only if the frontend is missing a small field needed for team/faction display, but avoid backend changes if possible.
- This task file when moving it through the workflow.
Implementation Requirements
-
Work from branch
codex/task-134-rcon-match-scoreboard-layout. -
Redesign the match detail summary area into a scoreboard-style header/score strip.
-
The central area must show the result prominently, for example:
Aliados 3 - 2 EjeIf the API only provides winner/result and not factions, use default side labels:
AliadosEje
If faction/team names are later available, use them safely.
-
The score must be visually central and more prominent than the surrounding metadata.
-
Place map, mode, server and duration as secondary metadata below or around the scoreboard header, not as many separate large cards.
-
Keep
Iniciovisible, but if it is unavailable showInicio: No disponiblein a compact metadata row. -
Do not show
Finif it is unavailable. If it is available and reliable, it may be shown in the compact metadata row. -
Remove/hide the visible cards for:
ConfianzaFuenteBase
-
Remove/hide the whole timeline/event-count section from the public detail page:
- no
Eventosheading - no
Línea de tiempo - no event count tiles such as MESSAGE, TEAM SWITCH, CONNECTED, KILL, MATCH START, MATCH END
- no
-
Keep the player stats table visible and readable.
-
Keep columns or equivalent visible information for:
- Jugador
- Equipo
- K
- D
- TK
- K/D
- Armas
- Más abatido
- Muere por
-
If a cell has no data, continue to show a controlled text such as
No disponible. -
Preserve known match values:
- Score 3 - 2
- Winner Aliados
- Duration 1 h 30 min
- AntonioPruna 1/0 and M1 GARAND
- victim row death_by AntonioPruna
-
Keep layout responsive for desktop and reasonable mobile widths.
-
Avoid showing implementation-heavy labels to normal users.
-
If any technical/debug detail remains, it must be visually secondary and not in the hero/header.
Validation Commands
Run:
node --check frontend/assets/js/historico.js
node --check frontend/assets/js/historico-partida.js
node --check frontend/assets/js/historico-recent-live.js
python -m compileall backend/app
powershell -ExecutionPolicy Bypass -File scripts/run-integration-tests.ps1
powershell -ExecutionPolicy Bypass -File scripts/run-rcon-data-pipeline-tests.ps1
docker compose up -d --build backend frontend
Check backend endpoints:
Invoke-WebRequest "http://localhost:8000/health" | Select-Object -ExpandProperty Content
Invoke-WebRequest "http://localhost:8000/api/historical/recent-matches?server=all-servers&limit=10" | Select-Object -ExpandProperty Content
Open the known detail page:
$matchId = [uri]::EscapeDataString("comunidad-hispana-02:1779178461:1779183861:carentanwarfare")
Start-Process "http://localhost:8080/historico-partida.html?server=comunidad-hispana-02&match=$matchId"
Manual Verification Steps
Verify visually:
- Match detail result is no longer shown as separated summary cards for marker/winner/result.
- The score is centered and prominent.
- Aliados and Eje/team sides are shown around the score.
- Server, map, mode, duration and start are compact secondary metadata.
Confianzais not visible.Fuenteis not visible.Baseis not visible.- The event timeline section is completely absent.
- No event count tiles are visible.
- Player table remains visible.
- AntonioPruna still shows 1 kill, 0 deaths and M1 GARAND.
- Victim row still shows 1 death and
Muere por AntonioPruna. - No
snapshotwording. - No Elo/MVP blocks.
- No Comunidad Hispana #03.
- Recent matches page still links to the detail page.
Git Requirements
-
Create/use branch
codex/task-134-rcon-match-scoreboard-layout. -
Run the validations above.
-
Stage only intended files.
-
Move this task file from
ai/tasks/pendingtoai/tasks/donewhen completed. -
Add
OutcomeandValidation Resultsections to the completed task. -
Commit with message:
feat: redesign rcon match detail scoreboard layout -
Push branch to origin.
-
Final git status must be clean.
Notes
This task intentionally removes some currently visible diagnostic data from the user-facing detail page. The data can remain available in API responses or future admin/debug views, but the public match detail UI should focus on scoreboard-style readability and player stats.