import { getTranslations, setRequestLocale } from 'next-intl/server' import { redirect } from '@/i18n/navigation' import { getSession } from '@/lib/session' import { getAccountDashboard } from '@/lib/account' import { LogoutButton } from '@/components/LogoutButton' export const dynamic = 'force-dynamic' 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 card = 'rounded-lg border border-amber-900/60 bg-[#241812] p-4' return (

{t('title')}

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

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

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

{t('points')}

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

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

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

{t('characters')}

{data.characters.length === 0 ? (

{t('noCharacters')}

) : (
{data.characters.map((c) => (

{c.name}

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

{c.gold}g {c.silver}s {c.copper}c

))}
)}
) }