diff --git a/src/shared/components/challenge-listing/Listing/index.jsx b/src/shared/components/challenge-listing/Listing/index.jsx index f3331dcf8a..228a18f40f 100644 --- a/src/shared/components/challenge-listing/Listing/index.jsx +++ b/src/shared/components/challenge-listing/Listing/index.jsx @@ -59,6 +59,7 @@ function Listing({ expandTag, // pastSearchTimestamp, isLoggedIn, + meta, }) { // const buckets = getBuckets(userChallenges); // const isChallengesAvailable = (bucket) => { @@ -78,6 +79,7 @@ function Listing({ let loadMore; // let searchTimestamp; let bucketChallenges = []; + let newExpanded = expanded; switch (bucket) { // case BUCKETS.PAST: // keepPlaceholders = keepPastPlaceholders; @@ -90,16 +92,19 @@ function Listing({ bucketChallenges = [].concat(myChallenges); loading = loadingMyChallenges; loadMore = allMyChallengesLoaded ? null : loadMoreMy; + newExpanded = newExpanded || (+meta.myChallengesCount === bucketChallenges.length); break; case BUCKETS.OPEN_FOR_REGISTRATION: bucketChallenges = [].concat(openForRegistrationChallenges); loading = loadingOpenForRegistrationChallenges; loadMore = allOpenForRegistrationChallengesLoaded ? null : loadMoreOpenForRegistration; + newExpanded = newExpanded || (+meta.openChallengesCount === bucketChallenges.length); break; case BUCKETS.ONGOING: bucketChallenges = [].concat(challenges); loading = loadingOnGoingChallenges; loadMore = allActiveChallengesLoaded ? null : loadMoreOnGoing; + newExpanded = newExpanded || (+meta.ongoingChallengesCount === bucketChallenges.length); break; default: break; @@ -137,7 +142,7 @@ function Listing({ challengesUrl={challengesUrl} communityName={communityName} expand={() => selectBucket(bucket)} - expanded={expanded} + expanded={newExpanded} expandedTags={expandedTags} expandTag={expandTag} filterState={filterState} @@ -268,6 +273,7 @@ Listing.propTypes = { // pastSearchTimestamp: PT.number, // userChallenges: PT.arrayOf(PT.string), isLoggedIn: PT.bool.isRequired, + meta: PT.shape().isRequired, }; const mapStateToProps = (state) => { diff --git a/src/shared/components/challenge-listing/index.jsx b/src/shared/components/challenge-listing/index.jsx index 4f81bf113d..5f43397bc6 100644 --- a/src/shared/components/challenge-listing/index.jsx +++ b/src/shared/components/challenge-listing/index.jsx @@ -44,6 +44,7 @@ export default function ChallengeListing(props) { preListingMsg, // isBucketSwitching, isLoggedIn, + meta, } = props; // const { challenges } = props; @@ -131,6 +132,7 @@ export default function ChallengeListing(props) { // loadingActiveChallenges={props.loadingChallenges} // userChallenges={props.userChallenges} isLoggedIn={isLoggedIn} + meta={meta} /> ); // } @@ -236,4 +238,5 @@ ChallengeListing.propTypes = { // isBucketSwitching: PT.bool, // userChallenges: PT.arrayOf(PT.string), isLoggedIn: PT.bool.isRequired, + meta: PT.shape().isRequired, }; diff --git a/src/shared/containers/challenge-listing/Listing/index.jsx b/src/shared/containers/challenge-listing/Listing/index.jsx index fee463fe3f..c08bb5d45f 100644 --- a/src/shared/containers/challenge-listing/Listing/index.jsx +++ b/src/shared/containers/challenge-listing/Listing/index.jsx @@ -375,6 +375,7 @@ export class ListingContainer extends React.Component { hideTcLinksInSidebarFooter, // isBucketSwitching, // userChallenges, + meta, } = this.props; const { tokenV3 } = auth; @@ -530,6 +531,7 @@ export class ListingContainer extends React.Component { // isBucketSwitching={isBucketSwitching} // userChallenges={[]} isLoggedIn={isLoggedIn} + meta={meta} /> ); @@ -555,7 +557,7 @@ ListingContainer.defaultProps = { preListingMsg: null, prizeMode: 'money-usd', queryBucket: BUCKETS.ALL, - // meta: {}, + meta: {}, // isBucketSwitching: false, // userChallenges: [], }; @@ -637,7 +639,7 @@ ListingContainer.propTypes = { expandedTags: PT.arrayOf(PT.number).isRequired, expandTag: PT.func.isRequired, queryBucket: PT.string, - // meta: PT.shape(), + meta: PT.shape(), // isBucketSwitching: PT.bool, selectBucketDone: PT.func.isRequired, getTotalChallengesCount: PT.func.isRequired,