11import { useMemo , useCallback } from 'react' ;
2- import { isNotDefined } from '@togglecorp/fujs' ;
2+ import { isDefined , isNotDefined } from '@togglecorp/fujs' ;
33
44import Table from '#components/Table' ;
55import Link from '#components/Link' ;
@@ -24,11 +24,6 @@ type SurgeAlertListItem = NonNullable<GetSurgeAlertResponse['results']>[number];
2424
2525const surgeAlertKeySelector = ( item : SurgeAlertListItem ) => item . id ;
2626
27- // FIXME: use a separate utility
28- const aMonthAgo = new Date ( ) ;
29- aMonthAgo . setMonth ( aMonthAgo . getMonth ( ) - 1 ) ;
30- aMonthAgo . setHours ( 0 , 0 , 0 , 0 ) ;
31-
3227const today = new Date ( ) ;
3328const todayTimestamp = today . getTime ( ) ;
3429
@@ -121,7 +116,27 @@ function SurgeAlertsTable() {
121116 createDateColumn < SurgeAlertListItem , number > (
122117 'start' ,
123118 strings . surgeAlertsTableStartDate ,
124- ( surgeAlert ) => surgeAlert . start ,
119+ ( surgeAlert ) => {
120+ const startDate = isDefined ( surgeAlert . start )
121+ ? new Date ( surgeAlert . start ) : undefined ;
122+ const endDate = isDefined ( surgeAlert . end ) ? new Date ( surgeAlert . end ) : undefined ;
123+
124+ const closed = isDefined ( surgeAlert . end )
125+ ? new Date ( surgeAlert . end ) . getTime ( ) < todayTimestamp : undefined ;
126+
127+ if ( isDefined ( endDate ) && closed ) {
128+ return endDate . toLocaleString ( ) ;
129+ }
130+
131+ if ( isDefined ( startDate ) ) {
132+ const dateStarted = startDate . getTime ( ) < todayTimestamp
133+ ? strings . surgeAlertImmediately
134+ : startDate . toLocaleString ( ) ;
135+
136+ return dateStarted ;
137+ }
138+ return undefined ;
139+ } ,
125140 ) ,
126141 createStringColumn < SurgeAlertListItem , number > (
127142 'name' ,
@@ -162,6 +177,7 @@ function SurgeAlertsTable() {
162177 ) ,
163178 ] ) , [
164179 getStatus ,
180+ strings . surgeAlertImmediately ,
165181 strings . surgeAlertsTableAlertDate ,
166182 strings . surgeAlertsTableDuration ,
167183 strings . surgeAlertsTableStartDate ,
0 commit comments