diff options
Diffstat (limited to 'src/components/app/sidebars/simulation/TaskComponent.js')
| -rw-r--r-- | src/components/app/sidebars/simulation/TaskComponent.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/components/app/sidebars/simulation/TaskComponent.js b/src/components/app/sidebars/simulation/TaskComponent.js new file mode 100644 index 00000000..f7f65817 --- /dev/null +++ b/src/components/app/sidebars/simulation/TaskComponent.js @@ -0,0 +1,42 @@ +import approx from "approximate-number"; +import React from "react"; +import {convertSecondsToFormattedTime} from "../../../../util/date-time"; + +const TaskComponent = ({task, flopsLeft}) => { + let stateInfo; + + if (flopsLeft === task.totalFlopCount) { + stateInfo = ( + <div> + <span className="fa fa-hourglass-half mr-2"/> + Waiting + </div> + ); + } else if (flopsLeft > 0) { + stateInfo = ( + <div> + <span className="fa fa-refresh mr-2"/> + Running ({approx(task.totalFlopCount - flopsLeft)} / {approx(task.totalFlopCount)} FLOPS) + </div> + ); + } else { + stateInfo = ( + <div> + <span className="fa fa-check mr-2"/> + Completed + </div> + ); + } + + return ( + <li className="list-group-item flex-column align-items-start"> + <div className="d-flex w-100 justify-content-between"> + <h5 className="mb-1">{approx(task.totalFlopCount)} FLOPS</h5> + <small>Starts at {convertSecondsToFormattedTime(task.startTick)}</small> + </div> + {stateInfo} + </li> + ); +}; + +export default TaskComponent; |
