52 lines
1.6 KiB
JavaScript
52 lines
1.6 KiB
JavaScript
import React from "react"
|
|
import PropTypes from "prop-types"
|
|
import { Map } from "immutable"
|
|
|
|
import { TrackHeader } from "./track"
|
|
import { ImdbBadge } from "../../buttons/imdb"
|
|
import { Plot } from "../../details/plot"
|
|
import { Rating } from "../../details/rating"
|
|
import { ReleaseDate } from "../../details/releaseDate"
|
|
|
|
export const Header = (props) => (
|
|
<div className="card col-12 col-md-10 offset-md-1 mt-n3 mb-3">
|
|
<div className="d-flex flex-column flex-md-row">
|
|
<div className="d-flex justify-content-center">
|
|
<img
|
|
className="overflow-hidden object-fit-cover"
|
|
src={props.data.get("poster_url")}
|
|
/>
|
|
</div>
|
|
<div>
|
|
<div className="card-body">
|
|
<h5 className="card-title">{props.data.get("title")}</h5>
|
|
<p className="card-text">
|
|
<ReleaseDate date={props.data.get("year")} />
|
|
</p>
|
|
<p className="card-text">
|
|
<Rating rating={props.data.get("rating")} />
|
|
</p>
|
|
<span className="card-text">
|
|
<ImdbBadge imdbId={props.data.get("imdb_id")} />
|
|
</span>
|
|
<p className="card-text">
|
|
<Plot plot={props.data.get("plot")} />
|
|
</p>
|
|
<span className="card-text">
|
|
<TrackHeader
|
|
data={props.data}
|
|
addToWishlist={props.addToWishlist}
|
|
deleteFromWishlist={props.deleteFromWishlist}
|
|
/>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
);
|
|
Header.propTypes = {
|
|
data: PropTypes.instanceOf(Map),
|
|
deleteFromWishlist: PropTypes.func,
|
|
addToWishlist: PropTypes.func,
|
|
};
|