@@ -4,13 +4,13 @@ import { useImmerAtom } from 'jotai/immer';
44import { useResetAtom } from 'jotai/utils'
55import { createTaskDetailAtom , monacoEditorAtom , userInfoAtom } from '../../atoms' ;
66import { CronTime } from '@webest/web-page-monitor-helper' ;
7- import { fetchAPI , useI18n , innerHTML , useHeadTitle , arrayToCsv , downloadBlob } from "../../helpers/index" ;
7+ import { fetchAPI , useI18n , innerHTML , useHeadTitle , arrayToCsv , downloadBlob , genClassNameAndString } from "../../helpers/index" ;
88import Link from "next/link" ;
99import { ScriptList } from "../../components/scriptList" ;
1010import { useRouter } from "next/router" ;
1111import styles from "../../styles/modules/taskList.module.scss" ;
1212
13-
13+ const [ cn , cs ] = genClassNameAndString ( styles ) ;
1414const TaskListSimpPage : NextPage = ( ) => {
1515
1616 const [ taskDetail , setTaskDetail ] = useImmerAtom ( createTaskDetailAtom ) ;
@@ -93,6 +93,35 @@ const TaskListSimpPage: NextPage = () => {
9393 )
9494 }
9595 } ,
96+ {
97+ Header : t ( 'Running status' ) ,
98+ id : 'runningStatus' ,
99+ Cell : ( { row : { original : or } } ) => {
100+ let status ;
101+ let endDate ;
102+ let color ;
103+ let now = Date . now ( ) ;
104+ if ( or . endTime ) {
105+ endDate = new Date ( or . endTime ) . valueOf ( ) ;
106+ }
107+ if ( now > endDate ) {
108+ status = t ( 'Expired' ) ;
109+ color = 'red' ;
110+ } else if ( now + 1000 * 3600 * 24 > endDate ) {
111+ status = t ( 'Expiring soon' ) ;
112+ color = 'yellow' ;
113+ } else {
114+ status = t ( 'Running' ) ;
115+ color = 'green' ;
116+ }
117+ return (
118+ < >
119+ < span { ...cn ( `statusIcon${ color } statusIcon` ) } > ●</ span >
120+ { status }
121+ </ >
122+ )
123+ }
124+ } ,
96125 {
97126 Header : t ( 'Edit / Delete' ) ,
98127 id : 'editOrView' ,
0 commit comments