diff --git a/src/shared/components/challenge-detail/RecommendedActiveChallenges/ChallengesCard/index.jsx b/src/shared/components/challenge-detail/RecommendedActiveChallenges/ChallengesCard/index.jsx index 955061b9ec..51805e70b0 100644 --- a/src/shared/components/challenge-detail/RecommendedActiveChallenges/ChallengesCard/index.jsx +++ b/src/shared/components/challenge-detail/RecommendedActiveChallenges/ChallengesCard/index.jsx @@ -29,6 +29,7 @@ export default function ChallengesCard({ userHandle, expandedTags, expandTag, + isLoggedIn, }) { const { id, @@ -101,6 +102,7 @@ export default function ChallengesCard({ selectChallengeDetailsTab={_.noop} userHandle={userHandle} className={styles['challenge-status-container']} + isLoggedIn={isLoggedIn} /> @@ -132,4 +134,5 @@ ChallengesCard.propTypes = { userHandle: PT.string, expandedTags: PT.arrayOf(PT.number), expandTag: PT.func, + isLoggedIn: PT.bool.isRequired, }; diff --git a/src/shared/components/challenge-detail/RecommendedActiveChallenges/index.jsx b/src/shared/components/challenge-detail/RecommendedActiveChallenges/index.jsx index 74e41986d1..3b7ab75ea6 100644 --- a/src/shared/components/challenge-detail/RecommendedActiveChallenges/index.jsx +++ b/src/shared/components/challenge-detail/RecommendedActiveChallenges/index.jsx @@ -14,6 +14,7 @@ export default function RecommendedActiveChallenges({ auth, expandedTags, expandTag, + isLoggedIn, }) { const items = _.map(challenges, (c, idx) => ( )); @@ -69,4 +71,5 @@ RecommendedActiveChallenges.propTypes = { }).isRequired, expandedTags: PT.arrayOf(PT.number), expandTag: PT.func, + isLoggedIn: PT.bool.isRequired, }; diff --git a/src/shared/components/challenge-listing/ChallengeCard/NumSubmissions/index.jsx b/src/shared/components/challenge-listing/ChallengeCard/NumSubmissions/index.jsx index 2a8e1fc507..49bae55535 100644 --- a/src/shared/components/challenge-listing/ChallengeCard/NumSubmissions/index.jsx +++ b/src/shared/components/challenge-listing/ChallengeCard/NumSubmissions/index.jsx @@ -23,6 +23,7 @@ export default function NumSubmissions({ newChallengeDetails, selectChallengeDetailsTab, openChallengesInNewTabs, + isLoggedIn, }) { let tip; const numOfSub = numOfSubmissions || 0; @@ -31,7 +32,8 @@ export default function NumSubmissions({ case 1: tip = '1 total submission'; break; default: tip = `${numOfSub} total submissions`; } - const query = numOfSub ? `?tab=${DETAIL_TABS.SUBMISSIONS}` : ''; + + const query = (numOfSub && isLoggedIn) ? `?tab=${DETAIL_TABS.SUBMISSIONS}` : ''; const { track } = legacy; let link = `${challengesUrl}/${id}${query}`; if (!newChallengeDetails && track !== 'DATA_SCIENCE') { @@ -81,4 +83,5 @@ NumSubmissions.propTypes = { newChallengeDetails: PT.bool.isRequired, selectChallengeDetailsTab: PT.func.isRequired, openChallengesInNewTabs: PT.bool, + isLoggedIn: PT.bool.isRequired, }; diff --git a/src/shared/components/challenge-listing/ChallengeCard/Status/index.jsx b/src/shared/components/challenge-listing/ChallengeCard/Status/index.jsx index 4cc52569dc..3409350d6e 100644 --- a/src/shared/components/challenge-listing/ChallengeCard/Status/index.jsx +++ b/src/shared/components/challenge-listing/ChallengeCard/Status/index.jsx @@ -61,6 +61,7 @@ export default function ChallengeStatus(props) { selectChallengeDetailsTab, openChallengesInNewTabs, userId, + isLoggedIn, } = props; /* TODO: Split into a separate ReactJS component! */ @@ -183,6 +184,7 @@ export default function ChallengeStatus(props) { newChallengeDetails={newChallengeDetails} selectChallengeDetailsTab={selectChallengeDetailsTab} openChallengesInNewTabs={openChallengesInNewTabs} + isLoggedIn={isLoggedIn} /> { @@ -247,6 +249,7 @@ export default function ChallengeStatus(props) { newChallengeDetails={newChallengeDetails} selectChallengeDetailsTab={selectChallengeDetailsTab} openChallengesInNewTabs={openChallengesInNewTabs} + isLoggedIn={isLoggedIn} /> { @@ -308,4 +311,5 @@ ChallengeStatus.propTypes = { selectChallengeDetailsTab: PT.func.isRequired, className: PT.string, userId: PT.string, + isLoggedIn: PT.bool.isRequired, }; diff --git a/src/shared/components/challenge-listing/ChallengeCard/index.jsx b/src/shared/components/challenge-listing/ChallengeCard/index.jsx index 4704109a94..fd31079915 100644 --- a/src/shared/components/challenge-listing/ChallengeCard/index.jsx +++ b/src/shared/components/challenge-listing/ChallengeCard/index.jsx @@ -35,6 +35,7 @@ function ChallengeCard({ selectChallengeDetailsTab, userId, domRef, + isLoggedIn, }) { const challenge = passedInChallenge; const { @@ -117,6 +118,7 @@ function ChallengeCard({ sampleWinnerProfile={sampleWinnerProfile} selectChallengeDetailsTab={selectChallengeDetailsTab} userId={userId} + isLoggedIn={isLoggedIn} /> @@ -149,6 +151,7 @@ ChallengeCard.propTypes = { expandedTags: PT.arrayOf(PT.number), expandTag: PT.func, domRef: PT.func, + isLoggedIn: PT.bool.isRequired, }; export default ChallengeCard; diff --git a/src/shared/components/challenge-listing/Listing/Bucket/index.jsx b/src/shared/components/challenge-listing/Listing/Bucket/index.jsx index d0fb4f87da..2084f17f11 100644 --- a/src/shared/components/challenge-listing/Listing/Bucket/index.jsx +++ b/src/shared/components/challenge-listing/Listing/Bucket/index.jsx @@ -47,6 +47,7 @@ export default function Bucket({ expandTag, activeBucket, searchTimestamp, + isLoggedIn, }) { const refs = useRef([]); refs.current = []; @@ -113,6 +114,7 @@ export default function Bucket({ expandedTags={expandedTags} expandTag={expandTag} domRef={addToRefs} + isLoggedIn={isLoggedIn} /> )); @@ -219,4 +221,5 @@ Bucket.propTypes = { expandTag: PT.func, activeBucket: PT.string, searchTimestamp: PT.number, + isLoggedIn: PT.bool.isRequired, }; diff --git a/src/shared/components/challenge-listing/Listing/index.jsx b/src/shared/components/challenge-listing/Listing/index.jsx index 065d15d4e7..4cb0456b56 100644 --- a/src/shared/components/challenge-listing/Listing/index.jsx +++ b/src/shared/components/challenge-listing/Listing/index.jsx @@ -45,6 +45,7 @@ function Listing({ expandedTags, expandTag, pastSearchTimestamp, + isLoggedIn, }) { const buckets = getBuckets(userChallenges); const isChallengesAvailable = (bucket) => { @@ -92,6 +93,7 @@ function Listing({ setSort={sort => setSort(bucket, sort)} sort={sorts[bucket]} challengeTypes={challengeTypes} + isLoggedIn={isLoggedIn} /> ) : ( @@ -121,6 +123,7 @@ function Listing({ userId={_.get(auth, 'user.userId')} activeBucket={activeBucket} searchTimestamp={searchTimestamp} + isLoggedIn={isLoggedIn} /> ) ); @@ -214,6 +217,7 @@ Listing.propTypes = { sorts: PT.shape().isRequired, pastSearchTimestamp: PT.number, userChallenges: PT.arrayOf(PT.shape()), + isLoggedIn: PT.bool.isRequired, }; const mapStateToProps = (state) => { diff --git a/src/shared/components/challenge-listing/index.jsx b/src/shared/components/challenge-listing/index.jsx index 6f48e13731..3594ab91be 100644 --- a/src/shared/components/challenge-listing/index.jsx +++ b/src/shared/components/challenge-listing/index.jsx @@ -40,6 +40,7 @@ export default function ChallengeListing(props) { loadingChallenges, preListingMsg, isBucketSwitching, + isLoggedIn, } = props; let { challenges } = props; @@ -116,6 +117,7 @@ export default function ChallengeListing(props) { loadMoreActive={props.loadMoreActive} loadingActiveChallenges={props.loadingChallenges} userChallenges={props.userChallenges} + isLoggedIn={isLoggedIn} /> ); } @@ -239,4 +241,5 @@ ChallengeListing.propTypes = { loadMoreActive: PT.func, isBucketSwitching: PT.bool, userChallenges: PT.arrayOf(PT.string), + isLoggedIn: PT.bool.isRequired, }; diff --git a/src/shared/containers/challenge-detail/index.jsx b/src/shared/containers/challenge-detail/index.jsx index 23a284c250..f190dda52c 100644 --- a/src/shared/containers/challenge-detail/index.jsx +++ b/src/shared/containers/challenge-detail/index.jsx @@ -602,6 +602,7 @@ class ChallengeDetailPageContainer extends React.Component { auth={auth} expandedTags={expandedTags} expandTag={expandTag} + isLoggedIn={isLoggedIn} /> ) : null } diff --git a/src/shared/containers/challenge-listing/Listing/index.jsx b/src/shared/containers/challenge-listing/Listing/index.jsx index 5ee83d859b..4202cae17b 100644 --- a/src/shared/containers/challenge-listing/Listing/index.jsx +++ b/src/shared/containers/challenge-listing/Listing/index.jsx @@ -214,6 +214,8 @@ export class ListingContainer extends React.Component { const { tokenV3 } = auth; + const isLoggedIn = !_.isEmpty(auth.tokenV3); + let loadMorePast; if (!allPastChallengesLoaded) { loadMorePast = () => { @@ -312,6 +314,7 @@ export class ListingContainer extends React.Component { auth={auth} isBucketSwitching={isBucketSwitching} userChallenges={userChallenges} + isLoggedIn={isLoggedIn} /> );