diff --git a/src/shared/containers/challenge-detail/index.jsx b/src/shared/containers/challenge-detail/index.jsx index 8720745ef7..63013b6476 100644 --- a/src/shared/containers/challenge-detail/index.jsx +++ b/src/shared/containers/challenge-detail/index.jsx @@ -166,7 +166,6 @@ class ChallengeDetailPageContainer extends React.Component { reviewTypes, getAllCountries, getReviewTypes, - history, } = this.props; if ( @@ -192,7 +191,7 @@ class ChallengeDetailPageContainer extends React.Component { && !challenge.fetchedWithAuth) ) { - loadChallengeDetails(auth, challengeId, history); + loadChallengeDetails(auth, challengeId); } if (!allCountries.length) { @@ -219,8 +218,14 @@ class ChallengeDetailPageContainer extends React.Component { auth, challenge, loadingRecommendedChallengesUUID, + history, } = this.props; + if (challenge.isLegacyChallenge && !history.location.pathname.includes(challenge.id)) { + history.location.pathname = `/challenges/${challenge.id}`; // eslint-disable-line no-param-reassign + history.push(history.location.pathname, history.state); + } + const recommendedTechnology = getRecommendedTags(challenge); if ( challenge @@ -843,15 +848,12 @@ const mapDispatchToProps = (dispatch) => { dispatch(lookupActions.getReviewTypesInit()); dispatch(lookupActions.getReviewTypesDone(tokenV3)); }, - loadChallengeDetails: (tokens, challengeId, history) => { + loadChallengeDetails: (tokens, challengeId) => { const a = actions.challenge; dispatch(a.getDetailsInit(challengeId)); dispatch(a.getDetailsDone(challengeId, tokens.tokenV3, tokens.tokenV2)) .then((res) => { const ch = res.payload; - if (ch.isLegacyChallenge) { - history.location.pathname = `/challenges/${ch.id}`; // eslint-disable-line no-param-reassign - } if (ch.track === 'DESIGN') { const p = ch.allPhases || ch.phases || [] .filter(x => x.name === 'Checkpoint Review');