@@ -79,7 +79,7 @@ export default function ChallengeHeader(props) {
79
79
} else if ( reliabilityBonus ) {
80
80
bonusType = 'Reliability Bonus' ;
81
81
}
82
- const registrationEnded = new Date ( registrationEndDate ) . getTime ( ) < Date . now ( ) ;
82
+ const registrationEnded = new Date ( registrationEndDate ) . getTime ( ) < Date . now ( ) || status . toLowerCase ( ) !== 'active' ;
83
83
const submissionEnded = new Date ( submissionEndDate ) . getTime ( ) < Date . now ( ) ;
84
84
const hasSubmissions = userDetails && userDetails . hasUserSubmittedForReview ;
85
85
const nextDeadline = currentPhases && currentPhases . length > 0 && currentPhases [ 0 ] . phaseType ;
@@ -114,15 +114,25 @@ export default function ChallengeHeader(props) {
114
114
return ( new Date ( a . actualEndTime || a . scheduledEndTime ) ) . getTime ( ) -
115
115
( new Date ( b . actualEndTime || b . scheduledEndTime ) ) . getTime ( ) ;
116
116
} ) ;
117
-
118
- if ( relevantPhases . length > 1 && appealsEndDate ) {
117
+ if ( subTrack === 'FIRST_2_FINISH' && status === 'COMPLETED' ) {
118
+ const phases = allPhases . filter ( p => p . phaseType === 'Iterative Review' && p . phaseStatus === 'Closed' ) ;
119
+ const endPhaseDate = Math . max ( ...phases . map ( d => new Date ( d . scheduledEndTime ) ) ) ;
120
+ relevantPhases = _ . filter ( relevantPhases , p => ( p . phaseType . toLowerCase ( ) . includes ( 'registration' ) ||
121
+ new Date ( p . scheduledEndTime ) . getTime ( ) < endPhaseDate ) ) ;
122
+ relevantPhases . push ( {
123
+ id : - 1 ,
124
+ phaseType : 'Winners' ,
125
+ scheduledEndTime : endPhaseDate ,
126
+ } ) ;
127
+ } else if ( relevantPhases . length > 1 && appealsEndDate ) {
119
128
const lastPhase = relevantPhases [ relevantPhases . length - 1 ] ;
120
129
const lastPhaseTime = (
121
130
new Date ( lastPhase . actualEndTime || lastPhase . scheduledEndTime )
122
131
) . getTime ( ) ;
123
132
const appealsEnd = ( new Date ( appealsEndDate ) . getTime ( ) ) ;
124
133
if ( lastPhaseTime < appealsEnd ) {
125
134
relevantPhases . push ( {
135
+ id : - 1 ,
126
136
phaseType : 'Winners' ,
127
137
scheduledEndTime : appealsEndDate ,
128
138
} ) ;
@@ -202,14 +212,23 @@ export default function ChallengeHeader(props) {
202
212
< div styleName = "deadlines-view" >
203
213
< div styleName = "deadlines-overview" >
204
214
< div styleName = "deadlines-overview-text" >
205
- < div styleName = "next-deadline" >
206
- Next Deadline: < span styleName = "deadline-highlighted" > { nextDeadline || '-' } </ span >
207
- </ div >
208
- < div styleName = "current-phase" >
209
- < span styleName = "deadline-highlighted" >
210
- { timeLeft }
211
- </ span > until current deadline ends
212
- </ div >
215
+ {
216
+ ( status || '' ) . toLowerCase ( ) === 'active' ?
217
+ ( < div styleName = "next-deadline" >
218
+ Next Deadline: < span styleName = "deadline-highlighted" > { nextDeadline || '-' } </ span >
219
+ </ div > ) :
220
+ ( < div >
221
+ Status: < span styleName = "deadline-highlighted" > { _ . capitalize ( status ) } </ span >
222
+ </ div > )
223
+ }
224
+ {
225
+ ( status || '' ) . toLowerCase ( ) === 'active' &&
226
+ < div styleName = "current-phase" >
227
+ < span styleName = "deadline-highlighted" >
228
+ { timeLeft }
229
+ </ span > until current deadline ends
230
+ </ div >
231
+ }
213
232
</ div >
214
233
< a onClick = { props . onToggleDeadlines } styleName = "deadlines-collapser" >
215
234
{ props . showDeadlineDetail ?
0 commit comments