@@ -465,15 +465,25 @@ export function factory(options = {}) {
465
465
challengeId ,
466
466
tokens . tokenV3 ,
467
467
tokens . tokenV2 ,
468
- ) ) . then ( ( details ) => {
469
- const track = _ . get ( details , 'payload.track' , '' ) . toLowerCase ( ) ;
470
- const checkpointsPromise = track === 'design' ? (
471
- redux . resolveAction ( actions . challenge . fetchCheckpointsDone ( tokens . tokenV2 , challengeId ) )
468
+ ) ) . then ( ( res ) => {
469
+ const challengeDetails = _ . get ( res , 'payload' , { } ) ;
470
+ const track = _ . get ( challengeDetails , 'legacy.track' , '' ) ;
471
+ let checkpointsPromise = null ;
472
+ if ( track === 'DESIGN' ) {
473
+ const p = _ . get ( challengeDetails , 'phases' , [ ] )
474
+ . filter ( x => x . name === 'Checkpoint Review' ) ;
475
+ if ( p . length && ! p [ 0 ] . isOpen ) {
476
+ checkpointsPromise = redux . resolveAction (
477
+ actions . challenge . fetchCheckpointsDone ( tokens . tokenV2 , challengeDetails . legacyId ) ,
478
+ ) ;
479
+ }
480
+ }
481
+ const resultsPromise = challengeDetails . status === 'Completed' ? (
482
+ redux . resolveAction (
483
+ actions . challenge . loadResultsDone ( tokens , challengeId , track . toLowerCase ( ) ) ,
484
+ )
472
485
) : null ;
473
- const resultsPromise = _ . get ( details , 'payload.status' , '' ) === 'Completed' ? (
474
- redux . resolveAction ( actions . challenge . loadResultsDone ( tokens , challengeId , track ) )
475
- ) : null ;
476
- return Promise . all ( [ details , checkpointsPromise , resultsPromise ] ) ;
486
+ return Promise . all ( [ res , checkpointsPromise , resultsPromise ] ) ;
477
487
} ) . then ( ( [ details , checkpoints , results ] ) => {
478
488
state = {
479
489
...state ,
0 commit comments