import React from "react" import { Map, List } from "immutable" import PropTypes from "prop-types" const ListDetails = (props) => (

{props.data.get("title")}

{props.data.get("title")}

{props.data.get("year")}

{props.data.get("plot")}

{props.children}
) ListDetails.propTypes = { data: PropTypes.instanceOf(Map).isRequired, children: PropTypes.object, }; export default ListDetails; const Runtime = (props) => { if (props.runtime === undefined) { return null; } return (

 {props.runtime} min

); } Runtime.propTypes = { runtime: PropTypes.number }; const Ratings = (props) => { if (props.rating === undefined) { return null; } return (

 {Number(props.rating).toFixed(1)}  {props.votes !== undefined && ({props.votes} counts) }

); } Ratings.propTypes = { rating: PropTypes.number, votes: PropTypes.number, }; const TrackingLabel = (props) => { let wishlistStr = props.wishlisted ? "Wishlisted" : ""; if (props.trackedEpisode !== null && props.trackedSeason !== null && props.trackedEpisode !== undefined && props.trackedSeason !== undefined) { if ((props.trackedSeason === 0) && (props.trackedEpisode === 0)) { wishlistStr = "Whole show tracked"; } else { wishlistStr = `Tracked from season ${props.trackedSeason} episode ${props.trackedEpisode}`; } } if (wishlistStr === "") { return null; } return ( {wishlistStr} ); } TrackingLabel.propTypes = { wishlisted: PropTypes.bool, trackedSeason: PropTypes.number, trackedEpisode: PropTypes.number, }; const PolochonMetadata = (props) => { if (!props.quality || props.quality === "") { return null; } return (

{props.quality} {props.container} {props.videoCodec} {props.audioCodec} {props.releaseGroup}

); } PolochonMetadata.propTypes = { quality: PropTypes.string, container: PropTypes.string, videoCodec: PropTypes.string, audioCodec: PropTypes.string, releaseGroup: PropTypes.string, }; const Genres = (props) => { if (props.genres === undefined) { return null; } // Uppercase first genres const prettyGenres = props.genres.toJS().map( (word) => word[0].toUpperCase() + word.substr(1) ).join(", "); return (

 {prettyGenres}

); } Genres.propTypes = { genres: PropTypes.instanceOf(List), };