web-next: botón «+» para crear cuentas de juego (WOW2, WOW3…)

Junto al «Nombre de la cuenta» hay un botón «+» que pide la contraseña y crea
una nueva cuenta de juego bajo la Battle.net. Ruta /api/account/add-game-account:
verifica la contraseña (authenticate contra battlenet_accounts), calcula el
siguiente battlenet_index (máx 8) y crea la fila `account` con SRP6 Grunt
derivado de la contraseña (gameMakeRegistration) — igual que la activación, así
la cuenta sirve para entrar al juego. Recarga completa al crear/cambiar.
GameAccountSwitcher siempre presente (select si >1, texto si 1) + «+».

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-13 15:50:18 +00:00
parent e62ab94054
commit c2e35d33ea
6 changed files with 183 additions and 19 deletions
+5 -3
View File
@@ -56,9 +56,11 @@ export default async function AccountPage({ params }: { params: Promise<{ locale
<legend>{t('basicData')}</legend>
<div className="separate account-info">
<p><i className="fa-solid fa-user account-ficon third-brown"></i> {t('accountName')}:{' '}
{games.length > 1
? <GameAccountSwitcher accounts={games} currentId={session.accountId ?? 0} />
: <span>{wowAccountName(data.gameAccount)}</span>}
<GameAccountSwitcher
accounts={games}
currentId={session.accountId ?? 0}
currentLabel={wowAccountName(data.gameAccount)}
/>
</p>
<p><i className="fa-solid fa-at account-ficon third-brown"></i> {t('regMail')}: <span>{maskEmail(data.regMail)}</span></p>
<p><i className="fa-solid fa-at account-ficon third-brown"></i> {t('currentMail')}: <span>{maskEmail(data.email)}</span></p>