summaryrefslogtreecommitdiff
path: root/frontend/src/components/simulations/SimulationAuthList.js
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/components/simulations/SimulationAuthList.js')
-rw-r--r--frontend/src/components/simulations/SimulationAuthList.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/frontend/src/components/simulations/SimulationAuthList.js b/frontend/src/components/simulations/SimulationAuthList.js
new file mode 100644
index 00000000..f29dc96d
--- /dev/null
+++ b/frontend/src/components/simulations/SimulationAuthList.js
@@ -0,0 +1,43 @@
+import PropTypes from "prop-types";
+import React from "react";
+import Shapes from "../../shapes/index";
+import SimulationAuthRow from "./SimulationAuthRow";
+
+const SimulationAuthList = ({ authorizations }) => {
+ return (
+ <div className="vertically-expanding-container">
+ {authorizations.length === 0 ? (
+ <div className="alert alert-info">
+ <span className="info-icon fa fa-question-circle mr-2" />
+ <strong>No simulations here yet...</strong> Add some with the 'New
+ Simulation' button!
+ </div>
+ ) : (
+ <table className="table table-striped">
+ <thead>
+ <tr>
+ <th>Simulation name</th>
+ <th>Last edited</th>
+ <th>Access rights</th>
+ <th />
+ </tr>
+ </thead>
+ <tbody>
+ {authorizations.map(authorization => (
+ <SimulationAuthRow
+ simulationAuth={authorization}
+ key={authorization.simulation.id}
+ />
+ ))}
+ </tbody>
+ </table>
+ )}
+ </div>
+ );
+};
+
+SimulationAuthList.propTypes = {
+ authorizations: PropTypes.arrayOf(Shapes.Authorization).isRequired
+};
+
+export default SimulationAuthList;