@@ -289,10 +289,16 @@ function onGetActiveChallengesDone(state, { error, payload }) {
289
289
* @return {Object } New state.
290
290
*/
291
291
function onGetSubtrackChallengesInit ( state , { payload } ) {
292
- const { handle, uuid } = payload ;
292
+ const { handle, uuid, pageNum } = payload ;
293
+
293
294
return {
294
295
...state ,
295
- [ handle ] : { ...state [ handle ] , loadingSubTrackChallengesUUID : uuid } ,
296
+ [ handle ] : {
297
+ ...state [ handle ] ,
298
+ loadingSubTrackChallengesUUID : uuid ,
299
+ subtrackChallengesHasMore : false ,
300
+ ...( pageNum === 1 ? { subtrackChallenges : [ ] } : { } ) ,
301
+ } ,
296
302
} ;
297
303
}
298
304
@@ -303,18 +309,28 @@ function onGetSubtrackChallengesInit(state, { payload }) {
303
309
* @return {Object } New state.
304
310
*/
305
311
function onGetSubtrackChallengesDone ( state , { error, payload } ) {
306
- if ( error ) {
307
- logger . error ( 'Failed to get member subtrack challenges' , payload ) ;
308
- fireErrorMessage ( 'Failed to get member subtrack challenges' , '' ) ;
309
- return state ;
310
- }
311
-
312
312
const {
313
313
uuid,
314
314
challenges,
315
315
refresh,
316
316
handle,
317
+ error : payloadError ,
317
318
} = payload ;
319
+
320
+ if ( error || payloadError ) {
321
+ logger . error ( 'Failed to get member subtrack challenges' , payload ) ;
322
+ fireErrorMessage ( 'Failed to get member subtrack challenges' , '' ) ;
323
+
324
+ return {
325
+ ...state ,
326
+ [ handle ] : {
327
+ ...state [ handle ] ,
328
+ subtrackChallengesHasMore : false ,
329
+ loadingSubTrackChallengesUUID : '' ,
330
+ } ,
331
+ } ;
332
+ }
333
+
318
334
if ( uuid !== state [ handle ] . loadingSubTrackChallengesUUID ) return state ;
319
335
320
336
return {
0 commit comments