import type { Metadata } from 'next' import { NoteLegend } from '@/components/NoteLegend' import { getTranslations, setRequestLocale } from 'next-intl/server' import { redirect, Link } from '@/i18n/navigation' import { getSession } from '@/lib/session' import { getGameCharacters } from '@/lib/characters' import { getDPointsBalance } from '@/lib/dpoints' import { getGiftCatalog } from '@/lib/gift' import { PageShell } from '@/components/PageShell' import { ServiceBox } from '@/components/ServiceBox' import { SendGiftForm } from '@/components/SendGiftForm' export const dynamic = 'force-dynamic' export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise { const { locale } = await params const t = await getTranslations({ locale, namespace: 'CharService' }) return { title: t('sendGift.pageTitle') } } export default async function SendGiftPage({ params }: { params: Promise<{ locale: string }> }) { const { locale } = await params setRequestLocale(locale) const t = await getTranslations('CharService') const session = await getSession() if (!session.bnetId) redirect({ href: '/log-in', locale }) if (!session.username) redirect({ href: '/select-account', locale }) const [chars, catalog, pdBalance] = await Promise.all([ getGameCharacters(session.accountId!), getGiftCatalog(), getDPointsBalance(session.accountId!), ]) const currency = process.env.SUMUP_CURRENCY === 'EUR' ? '€' : process.env.SUMUP_CURRENCY || '€' return (

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


{t('sendGift.explain1')}

{t('sendGift.explain2')}


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


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


{t('sendGift.noteIrreversible')}


({ name: c.name, classCss: c.classCss }))} catalog={catalog} currency={currency} pdBalance={pdBalance} />
) }