web-next: página de jugadores /<slug>-players con datos reales de la BD

Extiende la ruta dinámica [realm] para servir también /<slug>-players (slug
del reino en realmlist). PlayersBoard (server) consulta acore_characters:
- Personajes creados por clase (conteo por clase y facción) + totales.
- Top de muertes con honor (characters.totalKills/todayKills, LIMIT 10).
- Top de logros (nº de logros por personaje vía character_achievement;
  los «puntos» no existen en la BD del servidor, vienen del DBC del cliente).
- Primeros del reino - Nivel 80 (primer personaje por fecha del logro 20 =
  Nivel 80, overall/por clase/por raza; vacío si aún no hay nivel 80).
Imágenes reales del tema (nw-classes/nw-races/nw-icons). lib/players.ts con
los mapas de clase/raza/facción. RealmInfo extraído a su componente. Enlace
JUGADORES de la cabecera ahora dinámico (/<slug>-players), como REINO.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-13 12:53:50 +00:00
parent cae1c224b0
commit 5d724afb8d
6 changed files with 343 additions and 37 deletions
+3 -1
View File
@@ -17,10 +17,12 @@ export function SiteHeader({
loggedIn,
accountLabel,
realmHref,
playersHref,
}: {
loggedIn: boolean
accountLabel: string
realmHref: string
playersHref: string
}) {
const router = useRouter()
const [open, setOpen] = useState(false)
@@ -89,7 +91,7 @@ export function SiteHeader({
</p>
{loggedIn && (
<p>
<a href="/novawow-players">JUGADORES</a>
<a href={playersHref}>JUGADORES</a>
</p>
)}
</div>