From d7885970834218425b72d8fd669b778f0de53c4d Mon Sep 17 00:00:00 2001 From: devRaGonSa Date: Wed, 20 May 2026 10:50:25 +0200 Subject: [PATCH] Polish match detail final scoreboard --- ...h-rcon-match-detail-final-scoreboard-ui.md | 23 ++++++++++++++++--- .../css/historico-scoreboard-detail.css | 16 ++++++------- frontend/assets/js/historico-partida.js | 15 +----------- frontend/historico-partida.html | 15 +----------- 4 files changed, 30 insertions(+), 39 deletions(-) rename ai/tasks/{pending => done}/TASK-138-polish-rcon-match-detail-final-scoreboard-ui.md (71%) diff --git a/ai/tasks/pending/TASK-138-polish-rcon-match-detail-final-scoreboard-ui.md b/ai/tasks/done/TASK-138-polish-rcon-match-detail-final-scoreboard-ui.md similarity index 71% rename from ai/tasks/pending/TASK-138-polish-rcon-match-detail-final-scoreboard-ui.md rename to ai/tasks/done/TASK-138-polish-rcon-match-detail-final-scoreboard-ui.md index d989bea..8ed8c7c 100644 --- a/ai/tasks/pending/TASK-138-polish-rcon-match-detail-final-scoreboard-ui.md +++ b/ai/tasks/done/TASK-138-polish-rcon-match-detail-final-scoreboard-ui.md @@ -1,7 +1,7 @@ --- id: TASK-138 title: Polish RCON match detail final scoreboard UI -status: pending +status: done type: frontend team: Experto en interfaz supporting_teams: @@ -151,11 +151,28 @@ Then hard refresh with `Ctrl+F5` and verify: ## Outcome -To be completed by AI Platform Run / Codex CLI. +- Replaced the hero subtitle with only the server name, removing RCON implementation wording from the visible hero. +- Renamed the main detail heading from `Datos disponibles` to `Marcador final`. +- Increased the scoreboard score column and faction emblem sizing while preserving the left/right side layout, central score, map, mode, winner and compact metadata. +- Removed the unused hidden timeline markup from `frontend/historico-partida.html` so event labels such as `Eventos` and `Linea de tiempo` are no longer present in the match detail DOM. +- Preserved the player table, map hero, safe scoreboard action behavior and existing HLL Vietnam dark tactical styling. ## Validation Result -To be completed by AI Platform Run / Codex CLI. +- PASS: `node --check frontend/assets/js/historico-partida.js` +- PASS: `node --check frontend/assets/js/historico.js` +- PASS: `node --check frontend/assets/js/historico-recent-live.js` +- PASS: `python -m compileall backend/app` +- PASS: `powershell -ExecutionPolicy Bypass -File scripts/run-integration-tests.ps1` +- PASS: `powershell -ExecutionPolicy Bypass -File scripts/run-rcon-data-pipeline-tests.ps1` + - Note: the script completed successfully but emitted existing `ResourceWarning` messages from backend unittest sqlite connections. +- PASS: `docker compose up -d --build backend frontend` +- PASS: `Invoke-WebRequest "http://localhost:8000/health" | Select-Object -ExpandProperty Content` +- PASS: `Invoke-WebRequest "http://localhost:8000/api/historical/recent-matches?server=all-servers&limit=10" | Select-Object -ExpandProperty Content` +- Manual/rendered verification: Browser plugin was listed, but the required Node runtime tool was not exposed in this session; used local Chrome headless fallback. + - Verified rendered DOM contains `Marcador final`, `3 : 2`, `Ganador: Aliados`, `Carentan`, `1 h 30 min`, `AntonioPruna` and `M1 GARAND`. + - Verified rendered DOM does not include `Partida RCON materializada`, `Confianza`, `Fuente`, `Base`, `Eventos`, `Linea de tiempo`, event labels, `snapshot`, Elo/MVP blocks or Comunidad Hispana #03. + - Captured screenshots outside the repository at `C:\Temp\task-138-match-detail-final.png`, `C:\Temp\task-138-match-detail-mobile-final.png` and `C:\Temp\task-138-match-detail-mobile-score-final.png`. ## Change Budget diff --git a/frontend/assets/css/historico-scoreboard-detail.css b/frontend/assets/css/historico-scoreboard-detail.css index 3d802cd..0015199 100644 --- a/frontend/assets/css/historico-scoreboard-detail.css +++ b/frontend/assets/css/historico-scoreboard-detail.css @@ -18,10 +18,10 @@ .historical-scoreboard-layout__main { display: grid; - grid-template-columns: minmax(0, 1fr) minmax(220px, 320px) minmax(0, 1fr); + grid-template-columns: minmax(0, 1fr) minmax(240px, 340px) minmax(0, 1fr); align-items: center; gap: 22px; - padding: 24px 28px; + padding: 28px 30px; border: 1px solid rgba(210, 182, 118, 0.2); border-radius: 24px; background: @@ -32,14 +32,14 @@ .historical-scoreboard-side { display: grid; - grid-template-columns: 112px minmax(0, 1fr); + grid-template-columns: 124px minmax(0, 1fr); align-items: center; gap: 18px; - min-height: 136px; + min-height: 148px; } .historical-scoreboard-side--axis { - grid-template-columns: minmax(0, 1fr) 112px; + grid-template-columns: minmax(0, 1fr) 124px; text-align: right; } @@ -57,8 +57,8 @@ } .historical-scoreboard-side__emblem { - width: 112px; - height: 112px; + width: 124px; + height: 124px; border-radius: 999px; object-fit: contain; padding: 10px; @@ -110,7 +110,7 @@ .historical-scoreboard-center__score { color: var(--text); - font-size: clamp(4rem, 8vw, 7rem); + font-size: clamp(4.6rem, 8.6vw, 7.6rem); line-height: 0.9; letter-spacing: 0.02em; } diff --git a/frontend/assets/js/historico-partida.js b/frontend/assets/js/historico-partida.js index fa9aa21..3d05a88 100644 --- a/frontend/assets/js/historico-partida.js +++ b/frontend/assets/js/historico-partida.js @@ -66,7 +66,7 @@ function renderMatchDetail(item, nodes) { const mapName = item.map?.pretty_name || item.map?.name || "Mapa no disponible"; const serverName = item.server?.name || item.server?.slug || "Servidor no disponible"; nodes.title.textContent = mapName; - nodes.summary.textContent = `${serverName} - ${formatDetailSubtitle(item)}`; + nodes.summary.textContent = serverName; nodes.note.textContent = ""; renderMapHero(item, mapName, nodes); nodes.grid.innerHTML = renderScoreboardDetail(item, { mapName, serverName }); @@ -337,19 +337,6 @@ function normalizeLookupText(value) { .trim(); } -function formatDetailSubtitle(item) { - if (item.capture_basis === "rcon-materialized-admin-log") { - return "RCON"; - } - if (item.capture_basis === "rcon-competitive-window") { - return "RCON"; - } - if (item.result_source === "public-scoreboard-match") { - return "Partida del scoreboard"; - } - return "Partida historica"; -} - function formatTeamSide(value) { const normalized = String(value || "").toLowerCase(); if (normalized === "allies" || normalized === "allied") { diff --git a/frontend/historico-partida.html b/frontend/historico-partida.html index f031bb6..82bbb65 100644 --- a/frontend/historico-partida.html +++ b/frontend/historico-partida.html @@ -66,7 +66,7 @@

Partida historica

-

Datos disponibles

+

Marcador final

Leyendo el detalle interno de la partida.

@@ -106,19 +106,6 @@
-