import type { Metadata } from 'next' import { setRequestLocale } from 'next-intl/server' import { redirect } from '@/i18n/navigation' import { getSession } from '@/lib/session' import { getPointsHistory, getPointsBalances, type PointsMovement } from '@/lib/points-history' import { PageShell } from '@/components/PageShell' import { ServiceBox } from '@/components/ServiceBox' export const dynamic = 'force-dynamic' export const metadata: Metadata = { title: 'Historial de PD y PV' } /** Fecha en formato DD-MM-YYYY HH:MM. */ function fmt(d: Date): string { const p = (n: number) => String(n).padStart(2, '0') return `${p(d.getDate())}-${p(d.getMonth() + 1)}-${d.getFullYear()} ${p(d.getHours())}:${p(d.getMinutes())}` } function methodClass(method: PointsMovement['method']): string { if (method === 'SumUp') return 'green-info' if (method === 'Stripe') return 'purple-info' return 'second-brown' } export default async function PointsHistoryPage({ params }: { params: Promise<{ locale: string }> }) { const { locale } = await params setRequestLocale(locale) const session = await getSession() if (!session.bnetId) redirect({ href: '/login', locale }) if (!session.username) redirect({ href: '/select-account', locale }) const [movements, balances] = await Promise.all([ getPointsHistory(session.accountId!), getPointsBalances(session.accountId!), ]) return (

Aquí verás los consumos de PD y PV más recientes que ha tenido la cuenta.

Con esta información podrás tener control de todo lo que has adquirido así como también chequear que toda la actividad sea normal.

Si observas algún movimiento sospechoso, puedes contactar con el equipo de Nova WoW.


Historial de PD y PV

Saldo actual: {balances.dp} PD ·{' '} {balances.pv} PV


{movements.length === 0 ? (
No hay movimientos
) : ( {movements.map((m, i) => ( ))}
Fecha Concepto Método PD PV Importe Estado
{fmt(m.date)} {m.concept} {m.method} {m.pd != null ? `+${m.pd}` : '—'} {m.pv != null ? `+${m.pv}` : '—'} {m.amount != null ? `${m.amount.toFixed(2)} €` : '—'} {m.status}
)}
) }