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