@@ -41,26 +41,35 @@ export default {
41
41
name : 'Prize high to low' ,
42
42
} ,
43
43
[ SORTS . TIME_TO_REGISTER ] : {
44
- func : ( a , b ) => moment ( a . registrationEndDate || a . submissionEndDate )
45
- . diff ( b . registrationEndDate || b . submissionEndDate ) ,
44
+ func : ( a , b ) => {
45
+ const aDate = moment ( a . registrationEndDate || a . submissionEndTimestamp ) ;
46
+ const bDate = moment ( b . registrationEndDate || b . submissionEndTimestamp ) ;
47
+
48
+ if ( aDate . isBefore ( ) && bDate . isAfter ( ) ) return 1 ;
49
+ if ( aDate . isAfter ( ) && bDate . isBefore ( ) ) return - 1 ;
50
+ if ( aDate . isBefore ( ) && bDate . isBefore ( ) ) return bDate . diff ( aDate ) ;
51
+
52
+ return aDate . diff ( bDate ) ;
53
+ } ,
46
54
name : 'Time to register' ,
47
55
} ,
48
56
[ SORTS . TIME_TO_SUBMIT ] : {
49
57
func : ( a , b ) => {
50
58
function nextSubEndDate ( o ) {
51
59
if ( o . checkpointSubmissionEndDate && moment ( o . checkpointSubmissionEndDate ) . isAfter ( ) ) {
52
- return o . checkpointSubmissionEndDate ;
60
+ return moment ( o . checkpointSubmissionEndDate ) ;
53
61
}
54
- return o . submissionEndDate ;
62
+ return moment ( o . submissionEndTimestamp ) ;
55
63
}
56
64
57
65
const aDate = nextSubEndDate ( a ) ;
58
66
const bDate = nextSubEndDate ( b ) ;
59
67
60
- if ( moment ( aDate ) . isBefore ( ) ) return 1 ;
61
- if ( moment ( bDate ) . isBefore ( ) ) return - 1 ;
68
+ if ( aDate . isBefore ( ) && bDate . isAfter ( ) ) return 1 ;
69
+ if ( aDate . isAfter ( ) && bDate . isBefore ( ) ) return - 1 ;
70
+ if ( aDate . isBefore ( ) && bDate . isBefore ( ) ) return bDate . diff ( aDate ) ;
62
71
63
- return moment ( aDate ) . diff ( bDate ) ;
72
+ return aDate . diff ( bDate ) ;
64
73
} ,
65
74
name : 'Time to submit' ,
66
75
} ,
0 commit comments