import type { Metadata } from 'next' import { getTranslations, setRequestLocale } from 'next-intl/server' import { redirect, Link } from '@/i18n/navigation' import { getSession } from '@/lib/session' import { is2faEnabled } from '@/lib/two-factor' import { PageShell } from '@/components/PageShell' import { TwoFactorLogin } from '@/components/TwoFactorLogin' export const dynamic = 'force-dynamic' export const metadata: Metadata = { title: 'Verificación en 2 pasos' } const IMG = '/nw-themes/nw-ryu/nw-images' export default async function Security2faLoginPage({ params }: { params: Promise<{ locale: string }> }) { const { locale } = await params setRequestLocale(locale) const t = await getTranslations('Misc') const session = await getSession() if (!session.bnetId) redirect({ href: '/login', locale }) if (!session.username) redirect({ href: '/select-account', locale }) const enabled = session.accountId ? await is2faEnabled(session.accountId) : false return (

{t('twofaLogin.info')}

{t('twofaLogin.backToAccount')} {t('twofaLogin.back')}

{t('twofaLogin.previewAlt')}

{t.rich('twofaLogin.p1', { s: (c) => {c} })}


{t('twofaLogin.p2')}

{t('twofaLogin.p3')}


{t('twofaLogin.p4')}


{t('twofaLogin.backupCodes')}

{t('twofaLogin.p5')}

{t('twofaLogin.p6')}

{t('twofaLogin.p7')}

{t('twofaLogin.p8')}


{t.rich('twofaLogin.requestToken', { link: (c) => {c} })}


{t('twofaLogin.note')}

{t('twofaLogin.noteText')}

) }