import { getTranslations, setRequestLocale } from 'next-intl/server' import { Link } from '@/i18n/navigation' import { getSession } from '@/lib/session' import { PageShell } from '@/components/PageShell' import { LoginForm } from './LoginForm' // Lee la sesión (cookies), así que no se puede prerenderizar. export const dynamic = 'force-dynamic' export default async function LoginPage({ params }: { params: Promise<{ locale: string }> }) { const { locale } = await params setRequestLocale(locale) const t = await getTranslations('Login') // Ya conectado: `bnetId` basta, es lo que da por buena la sesión el resto del // sitio. Sin esto se ofrecía el formulario a quien ya tenía sesión. const session = await getSession() if (session.bnetId) { return (

{t('alreadyLogged')}


{/* `` plano, NUNCA : /log-out es un GET que destruye la sesión, y lo prefetcharía al entrar en pantalla, cerrándola sola sin que nadie pulse. SiteHeader lo enlaza así por lo mismo. */}

{t.rich('alreadyLoggedOther', { logout: (c) => {c} })}

) } return (

{t('forgot')}

{t('forgotActivation')}


{t('newHere')} {t('createAccount')}


{t('publicNote')}

) }