@@ -13,6 +13,7 @@ import {
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;
@@ -181,19 +182,36 @@ function Listing({
181
182
// </div>
182
183
// );
183
184
// }
184
- return challenges . length > 0 ? (
185
- < div styleName = "challengeCardContainer" >
186
- { preListingMsg }
187
- { ( auth . user && myChallenges . length > 0 ) ? getBucket ( BUCKETS . MY ) : null }
188
- { /* {extraBucket ? getBucket(extraBucket) : null} */ }
189
- { openForRegistrationChallenges . length > 0 && getBucket ( BUCKETS . OPEN_FOR_REGISTRATION ) }
190
- { /* {getBucket(BUCKETS.ONGOING)} */ }
191
- </ div >
192
- ) : (
193
- < div styleName = "challengeCardContainer" >
194
- < div styleName = "no-results" >
195
- { ` ${ NO_LIVE_CHALLENGES_CONFIG [ activeBucket ] } ` }
185
+ const loading = loadingMyChallenges
186
+ || loadingOpenForRegistrationChallenges
187
+ || loadingOnGoingChallenges ;
188
+ const placeholders = [ ] ;
189
+ if ( challenges . length > 0 ) {
190
+ return (
191
+ < div styleName = "challengeCardContainer" >
192
+ { preListingMsg }
193
+ { ( auth . user && myChallenges . length > 0 ) ? getBucket ( BUCKETS . MY ) : null }
194
+ { /* {extraBucket ? getBucket(extraBucket) : null} */ }
195
+ { openForRegistrationChallenges . length > 0 && getBucket ( BUCKETS . OPEN_FOR_REGISTRATION ) }
196
+ { /* {getBucket(BUCKETS.ONGOING)} */ }
196
197
</ div >
198
+ ) ;
199
+ }
200
+
201
+ if ( loading ) {
202
+ for ( let i = 0 ; i < 10 ; i += 1 ) {
203
+ placeholders . push ( < CardPlaceholder id = { i } key = { i } /> ) ;
204
+ }
205
+ }
206
+ return (
207
+ < div styleName = "challengeCardContainer" >
208
+ {
209
+ loading
210
+ ? placeholders
211
+ : (
212
+ < div styleName = "no-results" > { `${ NO_LIVE_CHALLENGES_CONFIG [ activeBucket ] } ` } </ div >
213
+ )
214
+ }
197
215
</ div >
198
216
) ;
199
217
}
0 commit comments