fix for rewards

This commit is contained in:
Sean Yesmunt 2020-05-20 11:52:59 -04:00
parent efde3e6914
commit 132455395e
4 changed files with 42 additions and 36 deletions

24
dist/bundle.es.js vendored
View file

@ -2075,7 +2075,7 @@ function doClaimRewardType(rewardType, options = {}) {
reward_type: rewards.TYPE_REWARD_CODE
} : unclaimedRewards.find(ur => ur.reward_type === rewardType); // Try to claim the email reward right away, even if we haven't called reward_list yet
if (rewardType !== rewards.TYPE_REWARD_CODE || rewardType !== rewards.TYPE_CONFIRM_EMAIL || rewardType !== rewards.TYPE_DAILY_VIEW || rewardType !== rewards.TYPE_NEW_ANDROID || rewardType !== rewards.TYPE_PAID_CONTENT) {
if (rewardType !== rewards.TYPE_REWARD_CODE && rewardType !== rewards.TYPE_CONFIRM_EMAIL && rewardType !== rewards.TYPE_DAILY_VIEW && rewardType !== rewards.TYPE_NEW_ANDROID && rewardType !== rewards.TYPE_PAID_CONTENT) {
if (!reward || reward.transaction_id) {
// already claimed or doesn't exist, do nothing
return;
@ -2093,7 +2093,7 @@ function doClaimRewardType(rewardType, options = {}) {
const params = options.params || {};
if (!params.claim_code) {
if (!params.claim_code && reward) {
params.claim_code = reward.claim_code;
}
@ -3200,16 +3200,18 @@ function setClaimRewardState(state, reward, isClaiming, errorMessage = '') {
const newClaimErrorsByType = Object.assign({}, state.claimErrorsByType); // Currently, for multiple rewards of the same type, they will both show "claiming" when one is beacuse we track this by `reward_type`
// To fix this we will need to use `claim_code` instead, and change all selectors to match
if (isClaiming) {
newClaimPendingByType[reward.reward_type] = isClaiming;
} else {
delete newClaimPendingByType[reward.reward_type];
}
if (reward) {
if (isClaiming) {
newClaimPendingByType[reward.reward_type] = isClaiming;
} else {
delete newClaimPendingByType[reward.reward_type];
}
if (errorMessage) {
newClaimErrorsByType[reward.reward_type] = errorMessage;
} else {
delete newClaimErrorsByType[reward.reward_type];
if (errorMessage) {
newClaimErrorsByType[reward.reward_type] = errorMessage;
} else {
delete newClaimErrorsByType[reward.reward_type];
}
}
return Object.assign({}, state, {

24
dist/bundle.js vendored
View file

@ -4462,7 +4462,7 @@ function doClaimRewardType(rewardType) {
return ur.reward_type === rewardType;
}); // Try to claim the email reward right away, even if we haven't called reward_list yet
if (rewardType !== rewards__WEBPACK_IMPORTED_MODULE_5__["default"].TYPE_REWARD_CODE || rewardType !== rewards__WEBPACK_IMPORTED_MODULE_5__["default"].TYPE_CONFIRM_EMAIL || rewardType !== rewards__WEBPACK_IMPORTED_MODULE_5__["default"].TYPE_DAILY_VIEW || rewardType !== rewards__WEBPACK_IMPORTED_MODULE_5__["default"].TYPE_NEW_ANDROID || rewardType !== rewards__WEBPACK_IMPORTED_MODULE_5__["default"].TYPE_PAID_CONTENT) {
if (rewardType !== rewards__WEBPACK_IMPORTED_MODULE_5__["default"].TYPE_REWARD_CODE && rewardType !== rewards__WEBPACK_IMPORTED_MODULE_5__["default"].TYPE_CONFIRM_EMAIL && rewardType !== rewards__WEBPACK_IMPORTED_MODULE_5__["default"].TYPE_DAILY_VIEW && rewardType !== rewards__WEBPACK_IMPORTED_MODULE_5__["default"].TYPE_NEW_ANDROID && rewardType !== rewards__WEBPACK_IMPORTED_MODULE_5__["default"].TYPE_PAID_CONTENT) {
if (!reward || reward.transaction_id) {
// already claimed or doesn't exist, do nothing
return;
@ -4480,7 +4480,7 @@ function doClaimRewardType(rewardType) {
var params = options.params || {};
if (!params.claim_code) {
if (!params.claim_code && reward) {
params.claim_code = reward.claim_code;
}
@ -7112,16 +7112,18 @@ function setClaimRewardState(state, reward, isClaiming) {
var newClaimErrorsByType = Object.assign({}, state.claimErrorsByType); // Currently, for multiple rewards of the same type, they will both show "claiming" when one is beacuse we track this by `reward_type`
// To fix this we will need to use `claim_code` instead, and change all selectors to match
if (isClaiming) {
newClaimPendingByType[reward.reward_type] = isClaiming;
} else {
delete newClaimPendingByType[reward.reward_type];
}
if (reward) {
if (isClaiming) {
newClaimPendingByType[reward.reward_type] = isClaiming;
} else {
delete newClaimPendingByType[reward.reward_type];
}
if (errorMessage) {
newClaimErrorsByType[reward.reward_type] = errorMessage;
} else {
delete newClaimErrorsByType[reward.reward_type];
if (errorMessage) {
newClaimErrorsByType[reward.reward_type] = errorMessage;
} else {
delete newClaimErrorsByType[reward.reward_type];
}
}
return Object.assign({}, state, {

View file

@ -39,10 +39,10 @@ export function doClaimRewardType(rewardType, options = {}) {
// Try to claim the email reward right away, even if we haven't called reward_list yet
if (
rewardType !== rewards.TYPE_REWARD_CODE ||
rewardType !== rewards.TYPE_CONFIRM_EMAIL ||
rewardType !== rewards.TYPE_DAILY_VIEW ||
rewardType !== rewards.TYPE_NEW_ANDROID ||
rewardType !== rewards.TYPE_REWARD_CODE &&
rewardType !== rewards.TYPE_CONFIRM_EMAIL &&
rewardType !== rewards.TYPE_DAILY_VIEW &&
rewardType !== rewards.TYPE_NEW_ANDROID &&
rewardType !== rewards.TYPE_PAID_CONTENT
) {
if (!reward || reward.transaction_id) {
@ -66,7 +66,7 @@ export function doClaimRewardType(rewardType, options = {}) {
// Set `claim_code` so the api knows which reward to give if there are multiple of the same type
const params = options.params || {};
if (!params.claim_code) {
if (!params.claim_code && reward) {
params.claim_code = reward.claim_code;
}

View file

@ -41,15 +41,17 @@ function setClaimRewardState(state, reward, isClaiming, errorMessage = '') {
// Currently, for multiple rewards of the same type, they will both show "claiming" when one is beacuse we track this by `reward_type`
// To fix this we will need to use `claim_code` instead, and change all selectors to match
if (isClaiming) {
newClaimPendingByType[reward.reward_type] = isClaiming;
} else {
delete newClaimPendingByType[reward.reward_type];
}
if (errorMessage) {
newClaimErrorsByType[reward.reward_type] = errorMessage;
} else {
delete newClaimErrorsByType[reward.reward_type];
if (reward) {
if (isClaiming) {
newClaimPendingByType[reward.reward_type] = isClaiming;
} else {
delete newClaimPendingByType[reward.reward_type];
}
if (errorMessage) {
newClaimErrorsByType[reward.reward_type] = errorMessage;
} else {
delete newClaimErrorsByType[reward.reward_type];
}
}
return Object.assign({}, state, {