import { getTranslations, setRequestLocale } from 'next-intl/server' import { redirect } from '@/i18n/navigation' import { getSession } from '@/lib/session' import { getAccountDashboard } from '@/lib/account' import { isAdmin } from '@/lib/admin' import { PageShell } from '@/components/PageShell' import { AccountTools } from '@/components/AccountTools' export const dynamic = 'force-dynamic' const ICONS = '/nw-themes/nw-ryu/nw-images/nw-icons' export default async function AccountPage({ params }: { params: Promise<{ locale: string }> }) { const { locale } = await params setRequestLocale(locale) const t = await getTranslations('Account') const session = await getSession() if (!session.bnetId) redirect({ href: '/login', locale }) if (!session.username) redirect({ href: '/select-account', locale }) const data = await getAccountDashboard(session) const admin = await isAdmin(session) return ( {/* Información: dos fieldsets como en Django */}

{t('infoTitle')}

{t('basicData')}

{t('bnetAccount')}: {data.bnetEmail}

{t('gameAccount')}: {data.gameAccount}

{t('regMail')}: {data.regMail}

{t('currentMail')}: {data.email}

{t('joindate')}: {data.joindate}

{t('lastIpWeb')}: {data.lastIp}

{t('lastIpServer')}: {data.lastAttemptIp}

{t('accountState')}
{/* eslint-disable-next-line @next/next/no-img-element */} rank

{t('dp')}: {data.dp}

{t('vp')}: {data.vp}

{t('battlepayCredits')}: {data.battlepayCredits}

{t('securityToken')}:{' '} {data.securityTokenDate ? `${t('requested')} - ${new Date(data.securityTokenDate).toLocaleString(locale)}` : t('notRequested')}

{data.isBanned ? ( <>

{t('banned')}: {t('yes')}

{t('banEnd')}: {data.unbanDate}

) : ( <>

{t('banned')}: {t('no')}

{t('recruited')}: {data.isRecruited ? t('yes') : t('no')}

{t('recruitedFriends')}: {data.recruitedCount}

)}
{/* Mis personajes: rejilla con char-box como en Django */} {data.characters.length > 0 && (

{t('characters')}

{data.characters.map((c) => (
{/* eslint-disable-next-line @next/next/no-img-element */} {c.name}

{c.name}

{t('level')} {c.level}

{c.zone}

{/* eslint-disable-next-line @next/next/no-img-element */} {c.gold}g{' '} {/* eslint-disable-next-line @next/next/no-img-element */} {c.silver}s{' '} {/* eslint-disable-next-line @next/next/no-img-element */} {c.copper}c

))}
)} {/* Utilidades y Herramientas: paneles plegables como en Django */}

{t('toolsTitle')}

) }