web-next: nombre de cuenta como WOW<n> y correos en minúsculas
- «Nombre de la cuenta» muestra WOW<n> (de la cuenta de juego <bnetId>#<n>: 15#1 → WOW1; con varias, WOW1/WOW2/WOW3…) vía wowAccountName(). - maskEmail() pasa el correo a minúsculas siempre, sin importar cómo esté guardado en la BD. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -8,15 +8,23 @@ import { AccountTools } from '@/components/AccountTools'
|
||||
|
||||
export const dynamic = 'force-dynamic'
|
||||
|
||||
// Enmascara el correo: muestra los primeros caracteres del usuario y el dominio.
|
||||
// Enmascara el correo (siempre en minúsculas): primeros caracteres + dominio.
|
||||
function maskEmail(e: string): string {
|
||||
if (!e) return ''
|
||||
e = e.toLowerCase()
|
||||
const [local, domain] = e.split('@')
|
||||
if (!domain) return e
|
||||
const visible = local.slice(0, Math.min(6, Math.max(1, local.length - 2)))
|
||||
return `${visible}***@${domain}`
|
||||
}
|
||||
|
||||
// Nombre visible de la cuenta de juego: «15#1» → «WOW1» (el nº tras # es la
|
||||
// cuenta de juego; con varias serían WOW1, WOW2, WOW3…).
|
||||
function wowAccountName(username: string): string {
|
||||
const i = username.indexOf('#')
|
||||
return i >= 0 ? `WOW${username.slice(i + 1)}` : username
|
||||
}
|
||||
|
||||
const ICONS = '/nw-themes/nw-ryu/nw-images/nw-icons'
|
||||
|
||||
export default async function AccountPage({ params }: { params: Promise<{ locale: string }> }) {
|
||||
@@ -43,7 +51,7 @@ export default async function AccountPage({ params }: { params: Promise<{ locale
|
||||
<fieldset className="account-fieldset">
|
||||
<legend>{t('basicData')}</legend>
|
||||
<div className="separate account-info">
|
||||
<p><i className="fa-solid fa-user account-ficon third-brown"></i> {t('accountName')}: <span>{data.gameAccount}</span></p>
|
||||
<p><i className="fa-solid fa-user account-ficon third-brown"></i> {t('accountName')}: <span>{wowAccountName(data.gameAccount)}</span></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>
|
||||
<p><i className="fa-solid fa-calendar-days account-ficon third-brown"></i> {t('joindate')}: <span>{data.joindate}</span></p>
|
||||
|
||||
Reference in New Issue
Block a user