77 lines
2.3 KiB
Markdown
77 lines
2.3 KiB
Markdown
# TASK-256 - Polish player profile layout, name fallback and user copy
|
|
|
|
## Summary
|
|
|
|
This task polishes the public player profile in `stats.html` after TASK-253 and TASK-255.
|
|
|
|
Changes included:
|
|
|
|
- moved external profile links out of the lower summary grid
|
|
- kept selected search-result names as UI fallback when the profile payload has no player name
|
|
- replaced technical user-facing copy with player-friendly messages
|
|
- kept KPM visibility restricted to `kpm_status == ready`
|
|
|
|
## External Profile Layout
|
|
|
|
`Perfiles externos` now renders directly under the `Perfil personal` state text and before the weekly/monthly comparison cards.
|
|
|
|
The lower summary grid now only contains:
|
|
|
|
- `Identidad`
|
|
- `Ventana semanal`
|
|
- `Ventana mensual`
|
|
|
|
The links remain responsive and wrap on narrow screens.
|
|
|
|
## Player Name Fallback
|
|
|
|
Root cause:
|
|
|
|
- degraded weekly/monthly profile payloads can return no `player_name`
|
|
- the frontend then fell back to `Sin nombre`
|
|
- this ignored the player name already selected from search results
|
|
|
|
Fix:
|
|
|
|
- the selected result name is passed into `loadPlayerProfile(...)`
|
|
- visible name priority is:
|
|
- payload player name if it is usable
|
|
- selected search-result name
|
|
- current search text if it looks like a name
|
|
- `Jugador seleccionado`
|
|
|
|
Raw Steam/Epic identifiers are not used as visible profile names.
|
|
|
|
## User Copy
|
|
|
|
Replaced visible technical wording:
|
|
|
|
- `Backend no disponible...` -> `Servicio no disponible...`
|
|
- `Verifica backend...` -> `Intentalo de nuevo en unos segundos.`
|
|
- `Jugador sin estadisticas suficientes...` -> `Todavia no hay estadisticas suficientes para este jugador.`
|
|
- `Ranking ausente` -> `Sin posicion`
|
|
- backend/recalculation note -> `Comparativa basada en los datos disponibles actualmente.`
|
|
|
|
Internal variable names and fetch URLs still use backend terminology where required by code.
|
|
|
|
## Validation
|
|
|
|
Executed:
|
|
|
|
- `node --check frontend/assets/js/stats.js`
|
|
|
|
Static checks:
|
|
|
|
- no visible `Sin nombre` fallback remains in stats UI
|
|
- no visible profile copy mentions backend, endpoint, payload, read model, ranking block, or recalculation
|
|
- KPM is still rendered only for `kpm_status == ready`
|
|
- Steam profile links still resolve to Steam + Hellor + HLL Records + Helo
|
|
- Epic profile links still resolve to Hellor + HLL Records
|
|
|
|
## Notes
|
|
|
|
- No backend changes.
|
|
- No TeamKills changes.
|
|
- No asset changes.
|
|
- No scheduler/RCON/server configuration changes.
|