import { getTranslations } from 'next-intl/server' import { redirect, Link } from '@/i18n/navigation' import { getSession } from '@/lib/session' import { getGameCharacters } from '@/lib/characters' import { getStoreBalances } from '@/lib/store' import { PageShell } from '@/components/PageShell' import { ServiceBox } from '@/components/ServiceBox' import { NoteLegend } from '@/components/NoteLegend' import { StoreBrowser } from '@/components/StoreBrowser' /** * Enviar regalo. Es la tienda regalando: mismo catálogo y mismo carrito (así lo * dice el propio texto del original, «los objetos disponibles son los mismos de * la tienda»), pero el correo lo recibe otro personaje y hace falta el token de * seguridad. Por eso monta `StoreBrowser` en modo `gift` en vez de duplicarlo. */ export async function GiftPage({ locale, realm }: { locale: string; realm: string }) { const session = await getSession() if (!session.bnetId) redirect({ href: '/log-in', locale }) if (!session.username) redirect({ href: '/select-account', locale }) const [chars, balances] = await Promise.all([ getGameCharacters(session.accountId!), getStoreBalances(session.accountId!), ]) const t = await getTranslations('CharService') return (

{t.rich('sendGift.intro', { s: (c) => {c} })}


{t('sendGift.explain1')}

{t('sendGift.explain2')}


{t('sendGift.explain3')}


{t.rich('sendGift.securityTokenHint', { link: (c) => ( {c} ), })}


{t('sendGift.noteIrreversible')}


({ name: c.name, classCss: c.classCss }))} dp={balances.dp} vp={balances.vp} realm={realm} />
) }