summaryrefslogtreecommitdiff
path: root/src/components/app/sidebars/simulation/TaskComponent.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/app/sidebars/simulation/TaskComponent.js')
-rw-r--r--src/components/app/sidebars/simulation/TaskComponent.js42
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;