Activación de cuenta: recuperar el diseño del tema y decir QUÉ cuenta se activó

La página mostraba un genérico «¡Cuenta activada!» + enlace a iniciar sesión.
Se recupera la estructura de las plantillas del tema (activation_success.html /
activation_invalid.html): bienvenida, la cuenta en `yellow-info`, y el aviso de
enlace inválido en `red-info2` con la línea de contacto.

El original dejaba un hueco: renderizaba `{{ username }}` pero la vista hacía
`render(...)` SIN contexto, así que salía «La cuenta  ha sido activada». Aquí
`activateAccount` devuelve el email y sí se muestra. Va el email tal cual se
registró, no el normalizado: ese va en MAYÚSCULAS porque lo exige el SRP6 de
Battle.net y en pantalla quedaría como INNA@INNA.CL.

El nombre del servidor sale de `getRealmName()` (acore_auth.realmlist), como en
el resto de páginas, en vez de escribirlo a mano.

Verificado en producción: el caso inválido lo pinta el servidor y sale idéntico
al del tema; y activando una fila de prueba, el API devuelve {success, email} y
reutilizar el enlace o mandar un hash que no existe dan `invalidLink` (filas de
prueba borradas después).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-15 17:43:46 +00:00
parent 8c85cf2dbe
commit a78417e954
5 changed files with 44 additions and 22 deletions
@@ -1,5 +1,6 @@
import { getTranslations, setRequestLocale } from 'next-intl/server'
import { PageShell } from '@/components/PageShell'
import { getRealmName } from '@/lib/realm'
import { ActivateClient } from './ActivateClient'
export default async function ActivatePage({
@@ -13,12 +14,13 @@ export default async function ActivatePage({
setRequestLocale(locale)
const { act } = await searchParams
const t = await getTranslations('Activate')
const realm = await getRealmName()
return (
<PageShell title={t('title')}>
<div className="box-content">
<div className="body-box-content centered">
<ActivateClient hash={act ?? ''} />
<ActivateClient hash={act ?? ''} realm={realm} />
</div>
</div>
</PageShell>