import PropTypes from 'prop-types'; import React from 'react'; import Icon from 'Components/Icon'; import Popover from 'Components/Tooltip/Popover'; import { icons, kinds, tooltipPositions } from 'Helpers/Props'; import SceneInfo from './SceneInfo'; import styles from './EpisodeNumber.css'; function EpisodeNumber(props) { const { episodeNumber, absoluteEpisodeNumber, sceneSeasonNumber, sceneEpisodeNumber, sceneAbsoluteEpisodeNumber, unverifiedSceneNumbering, alternateTitles, artistType } = props; const hasSceneInformation = sceneSeasonNumber !== undefined || sceneEpisodeNumber !== undefined || (artistType === 'anime' && sceneAbsoluteEpisodeNumber !== undefined) || !!alternateTitles.length; return ( { hasSceneInformation ? {episodeNumber} { artistType === 'anime' && !!absoluteEpisodeNumber && ({absoluteEpisodeNumber}) } } title="Scene Information" body={ } position={tooltipPositions.RIGHT} /> : {episodeNumber} { artistType === 'anime' && !!absoluteEpisodeNumber && ({absoluteEpisodeNumber}) } } { unverifiedSceneNumbering && } { artistType === 'anime' && !absoluteEpisodeNumber && } ); } EpisodeNumber.propTypes = { seasonNumber: PropTypes.number.isRequired, episodeNumber: PropTypes.number.isRequired, absoluteEpisodeNumber: PropTypes.number, sceneSeasonNumber: PropTypes.number, sceneEpisodeNumber: PropTypes.number, sceneAbsoluteEpisodeNumber: PropTypes.number, unverifiedSceneNumbering: PropTypes.bool.isRequired, alternateTitles: PropTypes.arrayOf(PropTypes.object).isRequired, artistType: PropTypes.string }; EpisodeNumber.defaultProps = { unverifiedSceneNumbering: false, alternateTitles: [] }; export default EpisodeNumber;