From 9a8d1854b93d08dc9b84de812658e206f5a82e4d Mon Sep 17 00:00:00 2001 From: SabreCat Date: Thu, 15 Sep 2022 11:40:48 -0500 Subject: [PATCH] fix(promo): handle Gems sale defined outside of single top event --- website/server/libs/payments/gems.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/server/libs/payments/gems.js b/website/server/libs/payments/gems.js index adb05b906d..831f88213a 100644 --- a/website/server/libs/payments/gems.js +++ b/website/server/libs/payments/gems.js @@ -1,5 +1,6 @@ +import find from 'lodash/find'; import { getAnalyticsServiceByEnvironment } from '../analyticsService'; -import { getCurrentEvent } from '../worldState'; // eslint-disable-line import/no-cycle +import { getCurrentEventList } from '../worldState'; // eslint-disable-line import/no-cycle import { // eslint-disable-line import/no-cycle getUserInfo, sendTxn as txnEmail, @@ -86,9 +87,10 @@ function getAmountForGems (data) { const { gemsBlock } = data; - const currentEvent = getCurrentEvent(); - if (currentEvent && currentEvent.gemsPromo && currentEvent.gemsPromo[gemsBlock.key]) { - return currentEvent.gemsPromo[gemsBlock.key] / 4; + const currentEventsList = getCurrentEventList(); + const promoEvent = find(currentEventsList, event => Boolean(event.gemsPromo)); + if (promoEvent && promoEvent.gemsPromo[gemsBlock.key]) { + return promoEvent.gemsPromo[gemsBlock.key] / 4; } return gemsBlock.gems / 4;