diff options
Diffstat (limited to 'src/containers/modals/NewSimulationModal.js')
| -rw-r--r-- | src/containers/modals/NewSimulationModal.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/containers/modals/NewSimulationModal.js b/src/containers/modals/NewSimulationModal.js new file mode 100644 index 00000000..d85b59ef --- /dev/null +++ b/src/containers/modals/NewSimulationModal.js @@ -0,0 +1,35 @@ +import React from "react"; +import {connect} from "react-redux"; +import {closeNewSimulationModal} from "../../actions/modals/simulations"; +import {addSimulation} from "../../actions/simulations"; +import TextInputModal from "../../components/modals/TextInputModal"; + +const NewSimulationModalComponent = ({visible, callback}) => ( + <TextInputModal title="New Simulation" label="Simulation title" + show={visible} + callback={callback}/> +); + +const mapStateToProps = state => { + return { + visible: state.modals.newSimulationModalVisible + }; +}; + +const mapDispatchToProps = dispatch => { + return { + callback: (text) => { + if (text) { + dispatch(addSimulation(text)); + } + dispatch(closeNewSimulationModal()); + } + }; +}; + +const NewSimulationModal = connect( + mapStateToProps, + mapDispatchToProps +)(NewSimulationModalComponent); + +export default NewSimulationModal; |
