import _ from 'lodash'; import PropTypes from 'prop-types'; import React, { Component } from 'react'; import { inputTypes } from 'Helpers/Props'; import Button from 'Components/Link/Button'; import Form from 'Components/Form/Form'; import FormGroup from 'Components/Form/FormGroup'; import FormLabel from 'Components/Form/FormLabel'; import FormInputGroup from 'Components/Form/FormInputGroup'; import ModalContent from 'Components/Modal/ModalContent'; import ModalHeader from 'Components/Modal/ModalHeader'; import ModalBody from 'Components/Modal/ModalBody'; import ModalFooter from 'Components/Modal/ModalFooter'; const posterSizeOptions = [ { key: 'small', value: 'Small' }, { key: 'medium', value: 'Medium' }, { key: 'large', value: 'Large' } ]; class AddListMovieOverviewOptionsModalContent extends Component { // // Lifecycle constructor(props, context) { super(props, context); this.state = { size: props.size, showStudio: props.showStudio }; } componentDidUpdate(prevProps) { const { size, showStudio } = this.props; const state = {}; if (size !== prevProps.size) { state.size = size; } if (showStudio !== prevProps.showStudio) { state.showStudio = showStudio; } if (!_.isEmpty(state)) { this.setState(state); } } // // Listeners onChangeOverviewOption = ({ name, value }) => { this.setState({ [name]: value }, () => { this.props.onChangeOverviewOption({ [name]: value }); }); } // // Render render() { const { onModalClose } = this.props; const { size, showStudio } = this.state; return ( Overview Options
Poster Size Show Studio
); } } AddListMovieOverviewOptionsModalContent.propTypes = { size: PropTypes.string.isRequired, showStudio: PropTypes.bool.isRequired, onChangeOverviewOption: PropTypes.func.isRequired, onModalClose: PropTypes.func.isRequired }; export default AddListMovieOverviewOptionsModalContent;