From 8e58d94bee1752c8004554829f724180f46f8369 Mon Sep 17 00:00:00 2001 From: lunarkid Date: Sat, 2 Jul 2022 11:19:29 +0700 Subject: [PATCH 1/2] improvement(reskin-profile): modal dup data --- src/actions/members.js | 7 ++++--- src/reducers/members.js | 32 ++++++++++++++++++++++++-------- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/actions/members.js b/src/actions/members.js index dee9e193..e3614361 100644 --- a/src/actions/members.js +++ b/src/actions/members.js @@ -257,10 +257,11 @@ async function getStatsDistributionDone(handle, track, subTrack, uuid, tokenV3) * @desc Create an action that signals beginning of subtrack challenges loading. * @param {String} handle Member handle. * @param {String} uuid Operation UUID. + * @param {Number} pageNum Page index. * @return {Action} */ -async function getSubtrackChallengesInit(handle, uuid) { - return { handle, uuid }; +async function getSubtrackChallengesInit(handle, uuid, pageNum) { + return { handle, uuid, pageNum }; } /** @@ -340,7 +341,7 @@ async function getSubtrackChallengesV4Done( challenges: res.challenges, refresh, handle, - })); + })).catch(e => ({ handle, error: e })); } /** diff --git a/src/reducers/members.js b/src/reducers/members.js index 76c70d52..6355d776 100644 --- a/src/reducers/members.js +++ b/src/reducers/members.js @@ -289,10 +289,16 @@ function onGetActiveChallengesDone(state, { error, payload }) { * @return {Object} New state. */ function onGetSubtrackChallengesInit(state, { payload }) { - const { handle, uuid } = payload; + const { handle, uuid, pageNum } = payload; + return { ...state, - [handle]: { ...state[handle], loadingSubTrackChallengesUUID: uuid }, + [handle]: { + ...state[handle], + loadingSubTrackChallengesUUID: uuid, + subtrackChallengesHasMore: false, + ...(pageNum === 1 ? { subtrackChallenges: [] } : {}), + }, }; } @@ -303,18 +309,28 @@ function onGetSubtrackChallengesInit(state, { payload }) { * @return {Object} New state. */ function onGetSubtrackChallengesDone(state, { error, payload }) { - if (error) { - logger.error('Failed to get member subtrack challenges', payload); - fireErrorMessage('Failed to get member subtrack challenges', ''); - return state; - } - const { uuid, challenges, refresh, handle, + error: payloadError, } = payload; + + if (error || payloadError) { + logger.error('Failed to get member subtrack challenges', payload); + fireErrorMessage('Failed to get member subtrack challenges', ''); + + return { + ...state, + [handle]: { + ...state[handle], + subtrackChallengesHasMore: false, + loadingSubTrackChallengesUUID: '', + }, + }; + } + if (uuid !== state[handle].loadingSubTrackChallengesUUID) return state; return { From cbd3117e4f588a7f010c39d95c6a3a3b536ef63c Mon Sep 17 00:00:00 2001 From: lunarkid Date: Sat, 2 Jul 2022 11:22:27 +0700 Subject: [PATCH 2/2] bump version 1000.29.3