fix(promo): handle Gems sale defined outside of single top event

This commit is contained in:
SabreCat 2022-09-15 11:40:48 -05:00
parent 10f5011781
commit 9a8d1854b9

View file

@ -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;