@@ -18,6 +18,7 @@ import { COMPETITION_TRACKS } from 'utils/tc';
1818import { phaseEndDate } from 'utils/challenge-listing/helper' ;
1919import {
2020 getTimeLeft ,
21+ isRegistrationPhase ,
2122} from 'utils/challenge-detail/helper' ;
2223
2324import LeftArrow from 'assets/images/arrow-prev.svg' ;
@@ -112,9 +113,12 @@ export default function ChallengeHeader(props) {
112113 registrationEnded = ! regPhase . isOpen ;
113114 }
114115
115- const currentPhases = challenge . phases
116- . filter ( p => p . name !== 'Registration' && p . isOpen )
117- . sort ( ( a , b ) => moment ( a . scheduledEndDate ) . diff ( b . scheduledEndDate ) ) [ 0 ] ;
116+ const allOpenPhases = challenge . phases
117+ . filter ( p => p . isOpen )
118+ . sort ( ( a , b ) => moment ( a . scheduledEndDate ) . diff ( b . scheduledEndDate ) ) ;
119+
120+ const currentPhases = allOpenPhases
121+ . filter ( p => ! isRegistrationPhase ( p ) ) [ 0 ] ;
118122
119123 const trackLower = track ? track . replace ( ' ' , '-' ) . toLowerCase ( ) : 'design' ;
120124
@@ -138,14 +142,14 @@ export default function ChallengeHeader(props) {
138142
139143 const openPhases = sortedAllPhases . filter ( p => p . isOpen ) ;
140144 let nextPhase = openPhases [ 0 ] ;
141- if ( hasRegistered && openPhases [ 0 ] && openPhases [ 0 ] . name === 'Registration' ) {
145+ if ( hasRegistered && openPhases [ 0 ] && isRegistrationPhase ( openPhases [ 0 ] ) ) {
142146 nextPhase = openPhases [ 1 ] || { } ;
143147 }
144148
145149 const deadlineEnd = moment ( nextPhase && phaseEndDate ( nextPhase ) ) ;
146150 const currentTime = moment ( ) ;
147151
148- const timeDiff = getTimeLeft ( currentPhases , 'to go' , true ) ;
152+ const timeDiff = getTimeLeft ( currentPhases || allOpenPhases [ 0 ] , 'to go' , true ) ;
149153
150154 if ( ! timeDiff . late ) {
151155 timeDiff . text = timeDiff . text . replace ( 'to go' , '' ) ;
0 commit comments