@@ -7,12 +7,13 @@ import React from 'react';
7
7
import PT from 'prop-types' ;
8
8
import { connect } from 'react-redux' ;
9
9
import {
10
- BUCKETS , isReviewOpportunitiesBucket ,
10
+ BUCKETS , isReviewOpportunitiesBucket , NO_LIVE_CHALLENGES_CONFIG ,
11
11
// BUCKETS, getBuckets, isReviewOpportunitiesBucket, NO_LIVE_CHALLENGES_CONFIG,
12
12
} from 'utils/challenge-listing/buckets' ;
13
13
// import { challenge as challengeUtils } from 'topcoder-react-lib';
14
14
import Bucket from './Bucket' ;
15
15
import ReviewOpportunityBucket from './ReviewOpportunityBucket' ;
16
+ import CardPlaceholder from '../placeholders/ChallengeCard' ;
16
17
import './style.scss' ;
17
18
18
19
// const Filter = challengeUtils.filter;
@@ -194,13 +195,36 @@ function Listing({
194
195
// </div>
195
196
// );
196
197
// }
198
+ const loading = loadingMyChallenges
199
+ || loadingOpenForRegistrationChallenges
200
+ || loadingOnGoingChallenges ;
201
+ const placeholders = [ ] ;
202
+ if ( challenges . length > 0 ) {
203
+ return (
204
+ < div styleName = "challengeCardContainer" >
205
+ { preListingMsg }
206
+ { ( auth . user && myChallenges . length > 0 ) ? getBucket ( BUCKETS . MY ) : null }
207
+ { /* {extraBucket ? getBucket(extraBucket) : null} */ }
208
+ { openForRegistrationChallenges . length > 0 && getBucket ( BUCKETS . OPEN_FOR_REGISTRATION ) }
209
+ { /* {getBucket(BUCKETS.ONGOING)} */ }
210
+ </ div >
211
+ ) ;
212
+ }
213
+
214
+ if ( loading ) {
215
+ for ( let i = 0 ; i < 10 ; i += 1 ) {
216
+ placeholders . push ( < CardPlaceholder id = { i } key = { i } /> ) ;
217
+ }
218
+ }
197
219
return (
198
220
< div styleName = "challengeCardContainer" >
199
- { preListingMsg }
200
- { ( auth . user && myChallenges . length > 0 ) ? getBucket ( BUCKETS . MY ) : null }
201
- { /* {extraBucket ? getBucket(extraBucket) : null} */ }
202
- { openForRegistrationChallenges . length > 0 && getBucket ( BUCKETS . OPEN_FOR_REGISTRATION ) }
203
- { /* {getBucket(BUCKETS.ONGOING)} */ }
221
+ {
222
+ loading
223
+ ? placeholders
224
+ : (
225
+ < div styleName = "no-results" > { `${ NO_LIVE_CHALLENGES_CONFIG [ activeBucket ] } ` } </ div >
226
+ )
227
+ }
204
228
</ div >
205
229
) ;
206
230
}
0 commit comments