Rango de cuenta por TOTAL DONADO (Stripe + SumUp), no por saldo

El nivel/rango usaba el saldo de PD actual, que baja al gastar. Ahora se basa en
el total donado = suma de pagos confirmados (Stripe mode test/live + SumUp),
convertidos a PD (amount * 100). Cuenta todas las pasarelas y donaciones mixtas y
no baja al gastar PD. Se usa max(donatedPD, saldo) para no rebajar el rango a
nadie (p.ej. PD de promo). getAccountDashboard expone donatedPD. Verificado:
cuenta 15 con €43 en pagos -> Nivel 11 aunque el saldo sea 0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-14 20:25:54 +00:00
parent dc3cd411f6
commit 8a5ce82afa
2 changed files with 21 additions and 1 deletions
+3 -1
View File
@@ -45,7 +45,9 @@ export default async function AccountPage({ params }: { params: Promise<{ locale
const data = await getAccountDashboard(session, locale)
const admin = await isAdmin(session)
const rank = getAccountRank(data.dp)
// El rango se basa en el TOTAL DONADO (Stripe + SumUp, sin bajar al gastar);
// se usa el máximo con el saldo actual para no rebajar el rango a nadie.
const rank = getAccountRank(Math.max(data.donatedPD, data.dp))
// Cuentas de juego de la Battle.net (para el selector si hay más de una).
const games = await getGameAccounts(session.bnetId ?? 0)