import { notFound } from 'next/navigation' import { getTranslations, setRequestLocale } from 'next-intl/server' import { redirect } from '@/i18n/navigation' import { getSession } from '@/lib/session' import { getGameCharacters } from '@/lib/characters' import { getPaidService } from '@/lib/paid-services' import { PaidServiceForm } from '@/components/PaidServiceForm' /** Contenido común de una página de servicio de pago (guardas + form). */ export async function ServicePageContent({ service, locale }: { service: string; locale: string }) { setRequestLocale(locale) const cfg = getPaidService(service) if (!cfg) notFound() const t = await getTranslations('Paid') const session = await getSession() if (!session.bnetId) redirect({ href: '/login', locale }) if (!session.username) redirect({ href: '/select-account', locale }) const [chars, price] = await Promise.all([getGameCharacters(session.accountId!), cfg!.price({})]) return (

{t(`${service}.title`)}

c.name)} checkoutEndpoint={`/api/character/${service}/checkout`} payLabel={t(`${service}.pay`, { price })} />
) }