import type { Metadata } from 'next' import { setRequestLocale } from 'next-intl/server' import { redirect } from '@/i18n/navigation' import { getSession } from '@/lib/session' import { getPaymentTransactions, type PaymentTx } from '@/lib/trans-history' import { PageShell } from '@/components/PageShell' import { ServiceBox } from '@/components/ServiceBox' export const dynamic = 'force-dynamic' export const metadata: Metadata = { title: 'Historial de transacciones' } /** Fecha en formato DD-MM-YYYY HH:MM:SS. */ 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())}:${p(d.getSeconds())}` } function StatusBadge({ status }: { status: PaymentTx['status'] }) { return {status} } /** Caja de una pasarela con su tabla de transacciones (o "No hay movimientos"). */ function PlatformBox({ name, logo, note, txs, }: { name: string logo: string note: string txs: PaymentTx[] }) { return (

{name} {name}

Recibirás los PD correspondientes a cada transacción sólo cuando esté aprobada y el estado sea{' '} PAID (Pagado).


Importante: {note}


{txs.length === 0 ? (
No hay movimientos
) : ( {txs.map((t) => ( ))}
ID de transacción Estado Concepto Fecha creación Cantidad
{t.id} {t.concept} {fmt(t.createdAt)} {t.amount.toFixed(2)} €
)}
) } const LOGO_BASE = '/nw-themes/nw-ryu/nw-images/nw-logos' export default async function TransHistoryPage({ 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 txs = await getPaymentTransactions(session.accountId!) const stripe = txs.filter((t) => t.platform === 'Stripe') const sumup = txs.filter((t) => t.platform === 'SumUp') return (

Aquí verás la información que recibimos de nuestras diferentes plataformas de pago automáticas.


¿Has tenido algún problema con alguna transacción?

Si has tenido un problema con una de las transacciones o no has recibido tus PD, puedes contactarnos en nuestro Discord o a través del correo{' '} contacto@ultimowow.com.





) }