Skip to content

Commit 6d3464c

Browse files
committed
fix: no challenges found
1 parent 4597e74 commit 6d3464c

File tree

6 files changed

+31
-2
lines changed

6 files changed

+31
-2
lines changed

__tests__/shared/components/challenge-listing/Listing/__snapshots__/Bucket.jsx.snap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ exports[`Matches shallow shapshot 1`] = `
8484
expanding={false}
8585
loadMore={[MockFunction]}
8686
loading={false}
87+
needLoad={false}
8788
newChallengeDetails={false}
8889
openChallengesInNewTabs={false}
8990
setFilterState={[MockFunction]}

src/shared/components/challenge-listing/Listing/Bucket/index.jsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import './style.scss';
2424
// const COLLAPSED_SIZE = 10;
2525

2626
// const Filter = challengeUtils.filter;
27+
const LOADING_MESSAGE = 'Loading Challenges';
2728

2829
export default function Bucket({
2930
bucket,
@@ -36,6 +37,7 @@ export default function Bucket({
3637
expand,
3738
filterState,
3839
// keepPlaceholders,
40+
needLoad,
3941
loading,
4042
loadMore,
4143
newChallengeDetails,
@@ -137,7 +139,12 @@ export default function Bucket({
137139
title={BUCKET_DATA[bucket].name}
138140
/>
139141
<h1 styleName="no-results">
140-
{`${NO_LIVE_CHALLENGES_CONFIG[activeBucket]}`}
142+
{
143+
needLoad ? LOADING_MESSAGE
144+
: (
145+
`${NO_LIVE_CHALLENGES_CONFIG[activeBucket]}`
146+
)
147+
}
141148
</h1>
142149
</div>
143150
</div>
@@ -262,6 +269,7 @@ Bucket.defaultProps = {
262269
expand: _.noop,
263270
challengeTypes: [],
264271
// keepPlaceholders: false,
272+
needLoad: false,
265273
loading: false,
266274
loadMore: null,
267275
newChallengeDetails: false,
@@ -286,6 +294,7 @@ Bucket.propTypes = {
286294
challengesUrl: PT.string.isRequired,
287295
filterState: PT.shape().isRequired,
288296
// keepPlaceholders: PT.bool,
297+
needLoad: PT.bool,
289298
loading: PT.bool,
290299
loadMore: PT.func,
291300
newChallengeDetails: PT.bool,

src/shared/components/challenge-listing/Listing/ReviewOpportunityBucket/index.jsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import './style.scss';
1717
const Filter = challengeUtils.filter;
1818

1919
const NO_RESULTS_MESSAGE = 'No challenges found';
20+
const LOADING_MESSAGE = 'Loading Challenges';
2021

2122
// Functional implementation of ReviewOpportunityBucket component
2223
export default function ReviewOpportunityBucket({
@@ -26,6 +27,7 @@ export default function ReviewOpportunityBucket({
2627
expandTag,
2728
filterState,
2829
keepPlaceholders,
30+
needLoad,
2931
loading,
3032
loadMore,
3133
opportunities,
@@ -133,7 +135,7 @@ export default function ReviewOpportunityBucket({
133135
onSelect={setSort}
134136
/>
135137
<h1 styleName="no-results">
136-
{NO_RESULTS_MESSAGE}
138+
{needLoad ? LOADING_MESSAGE : NO_RESULTS_MESSAGE}
137139
</h1>
138140
</div>
139141
</div>
@@ -154,6 +156,7 @@ ReviewOpportunityBucket.defaultProps = {
154156
expandedTags: [],
155157
expandTag: null,
156158
keepPlaceholders: false,
159+
needLoad: false,
157160
loading: false,
158161
loadMore: null,
159162
sort: null,
@@ -169,6 +172,7 @@ ReviewOpportunityBucket.propTypes = {
169172
filterState: PT.shape().isRequired,
170173
opportunities: PT.arrayOf(PT.shape()).isRequired,
171174
keepPlaceholders: PT.bool,
175+
needLoad: PT.bool,
172176
loading: PT.bool,
173177
loadMore: PT.func,
174178
setFilterState: PT.func.isRequired,

src/shared/components/challenge-listing/Listing/index.jsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ function Listing({
4040
// extraBucket,
4141
filterState,
4242
keepPastPlaceholders,
43+
needLoad,
4344
loadingPastChallenges,
4445
loadingReviewOpportunities,
4546
loadingMyChallenges,
@@ -152,6 +153,7 @@ function Listing({
152153
expandTag={expandTag}
153154
filterState={filterState}
154155
keepPlaceholders={keepPastPlaceholders}
156+
needLoad={needLoad}
155157
loading={loadingReviewOpportunities}
156158
loadMore={loadMoreReviewOpportunities}
157159
opportunities={reviewOpportunities}
@@ -182,6 +184,7 @@ function Listing({
182184
expandTag={expandTag}
183185
filterState={filterState}
184186
// keepPlaceholders={keepPlaceholders}
187+
needLoad={needLoad}
185188
loading={loading}
186189
loadMore={loadMore}
187190
newChallengeDetails={newChallengeDetails}
@@ -322,6 +325,7 @@ Listing.propTypes = {
322325
// extraBucket: PT.string,
323326
filterState: PT.shape().isRequired,
324327
keepPastPlaceholders: PT.bool.isRequired,
328+
needLoad: PT.bool.isRequired,
325329
loadingPastChallenges: PT.bool.isRequired,
326330
loadingMyChallenges: PT.bool.isRequired,
327331
loadingMyPastChallenges: PT.bool.isRequired,

src/shared/components/challenge-listing/index.jsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ export default function ChallengeListing(props) {
118118
// extraBucket={extraBucket}
119119
filterState={props.filterState}
120120
keepPastPlaceholders={keepPastPlaceholders}
121+
needLoad={props.needLoad}
121122
loadingPastChallenges={props.loadingPastChallenges}
122123
loadingMyChallenges={props.loadingMyChallenges}
123124
loadingMyPastChallenges={props.loadingMyPastChallenges}
@@ -241,6 +242,7 @@ ChallengeListing.propTypes = {
241242
keepPastPlaceholders: PT.bool.isRequired,
242243
// lastUpdateOfActiveChallenges: PT.number.isRequired,
243244
// loadingChallenges: PT.bool.isRequired,
245+
needLoad: PT.bool.isRequired,
244246
loadingMyChallenges: PT.bool.isRequired,
245247
loadingMyPastChallenges: PT.bool.isRequired,
246248
loadingAllChallenges: PT.bool.isRequired,

src/shared/containers/challenge-listing/Listing/index.jsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ export class ListingContainer extends React.Component {
4444
super(props);
4545

4646
this.state = {
47+
needLoad: true,
4748
previousBucketOfActiveTab: null,
4849
previousBucketOfPastChallengesTab: null,
4950
};
@@ -65,6 +66,8 @@ export class ListingContainer extends React.Component {
6566
filter,
6667
} = this.props;
6768

69+
const { needLoad } = this.state;
70+
6871
markHeaderMenu();
6972

7073
if (queryBucket !== activeBucket && _.includes(BUCKETS, queryBucket)) {
@@ -104,6 +107,10 @@ export class ListingContainer extends React.Component {
104107
});
105108
}
106109
// }
110+
111+
if (needLoad) {
112+
this.setState({ needLoad: false });
113+
}
107114
}
108115

109116
componentDidUpdate(prevProps) {
@@ -495,6 +502,7 @@ export class ListingContainer extends React.Component {
495502
} = this.props;
496503

497504
const {
505+
needLoad,
498506
previousBucketOfActiveTab,
499507
previousBucketOfPastChallengesTab,
500508
} = this.state;
@@ -630,6 +638,7 @@ export class ListingContainer extends React.Component {
630638
keepPastPlaceholders={keepPastPlaceholders}
631639
// lastUpdateOfActiveChallenges={lastUpdateOfActiveChallenges}
632640
// eslint-disable-next-line max-len
641+
needLoad={needLoad}
633642
loadingMyChallenges={Boolean(loadingMyChallengesUUID)}
634643
loadingMyPastChallenges={Boolean(loadingMyPastChallengesUUID)}
635644
loadingAllChallenges={Boolean(loadingAllChallengesUUID)}

0 commit comments

Comments
 (0)