import PropTypes from 'prop-types'; import React, { Component } from 'react'; import TextTruncate from 'react-text-truncate'; import BookCover from 'Book/BookCover'; import CheckInput from 'Components/Form/CheckInput'; import SpinnerButton from 'Components/Link/SpinnerButton'; import ModalBody from 'Components/Modal/ModalBody'; import ModalContent from 'Components/Modal/ModalContent'; import ModalFooter from 'Components/Modal/ModalFooter'; import ModalHeader from 'Components/Modal/ModalHeader'; import { kinds } from 'Helpers/Props'; import stripHtml from 'Utilities/String/stripHtml'; import AddAuthorOptionsForm from '../Common/AddAuthorOptionsForm.js'; import styles from './AddNewBookModalContent.css'; class AddNewBookModalContent extends Component { // // Lifecycle constructor(props, context) { super(props, context); this.state = { searchForNewBook: false }; } // // Listeners onSearchForNewBookChange = ({ value }) => { this.setState({ searchForNewBook: value }); } onAddBookPress = () => { this.props.onAddBookPress(this.state.searchForNewBook); } // // Render render() { const { bookTitle, authorName, disambiguation, overview, images, isAdding, isExistingAuthor, isSmallScreen, onModalClose, ...otherProps } = this.props; return ( Add new Book
{ isSmallScreen ? null:
}
{bookTitle}
{ !!disambiguation && ({disambiguation}) }
By: {authorName}
{ overview ?
: null } { !isExistingAuthor && }
Add {bookTitle}
); } } AddNewBookModalContent.propTypes = { bookTitle: PropTypes.string.isRequired, authorName: PropTypes.string.isRequired, disambiguation: PropTypes.string.isRequired, overview: PropTypes.string, images: PropTypes.arrayOf(PropTypes.object).isRequired, isAdding: PropTypes.bool.isRequired, addError: PropTypes.object, isExistingAuthor: PropTypes.bool.isRequired, isSmallScreen: PropTypes.bool.isRequired, onModalClose: PropTypes.func.isRequired, onAddBookPress: PropTypes.func.isRequired }; export default AddNewBookModalContent;