import PropTypes from 'prop-types'; import React, { Component } from 'react'; import { icons, kinds, inputTypes, tooltipPositions } from 'Helpers/Props'; import Icon from 'Components/Icon'; import SpinnerButton from 'Components/Link/SpinnerButton'; 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 CheckInput from 'Components/Form/CheckInput'; import ModalContent from 'Components/Modal/ModalContent'; import ModalHeader from 'Components/Modal/ModalHeader'; import ModalBody from 'Components/Modal/ModalBody'; import ModalFooter from 'Components/Modal/ModalFooter'; import Popover from 'Components/Tooltip/Popover'; import ArtistPoster from 'Artist/ArtistPoster'; import SeriesMonitoringOptionsPopoverContent from 'AddArtist/SeriesMonitoringOptionsPopoverContent'; import SeriesTypePopoverContent from 'AddArtist/SeriesTypePopoverContent'; import styles from './AddNewSeriesModalContent.css'; class AddNewSeriesModalContent extends Component { // // Lifecycle constructor(props, context) { super(props, context); this.state = { searchForMissingEpisodes: false }; } // // Listeners onSearchForMissingEpisodesChange = ({ value }) => { this.setState({ searchForMissingEpisodes: value }); } onQualityProfileIdChange = ({ value }) => { this.props.onInputChange({ name: 'qualityProfileId', value: parseInt(value) }); } onLanguageProfileIdChange = ({ value }) => { this.props.onInputChange({ name: 'languageProfileId', value: parseInt(value) }); } onAddSeriesPress = () => { this.props.onAddSeriesPress(this.state.searchForMissingEpisodes); } // // Render render() { const { artistName, year, overview, images, isAdding, rootFolderPath, monitor, qualityProfileId, languageProfileId, seriesType, albumFolder, tags, showLanguageProfile, isSmallScreen, onModalClose, onInputChange } = this.props; return ( {artistName} { !name.contains(year) && ({year}) }
{ !isSmallScreen &&
}
{overview}
Root Folder Monitor } title="Monitoring Options" body={} position={tooltipPositions.RIGHT} /> Quality Profile Language Profile Series Type } title="Series Types" body={} position={tooltipPositions.RIGHT} /> Album Folder Tags
Add {artistName}
); } } AddNewSeriesModalContent.propTypes = { artistName: PropTypes.string.isRequired, year: PropTypes.number.isRequired, overview: PropTypes.string, images: PropTypes.arrayOf(PropTypes.object).isRequired, isAdding: PropTypes.bool.isRequired, addError: PropTypes.object, rootFolderPath: PropTypes.object, monitor: PropTypes.object.isRequired, qualityProfileId: PropTypes.object, languageProfileId: PropTypes.object, seriesType: PropTypes.object.isRequired, albumFolder: PropTypes.object.isRequired, tags: PropTypes.object.isRequired, showLanguageProfile: PropTypes.bool.isRequired, isSmallScreen: PropTypes.bool.isRequired, onModalClose: PropTypes.func.isRequired, onInputChange: PropTypes.func.isRequired, onAddSeriesPress: PropTypes.func.isRequired }; export default AddNewSeriesModalContent;