Change the imdb button to a clickable badge

This commit is contained in:
Grégoire Delattre 2019-06-25 14:41:22 +02:00
parent 84ccc6e1eb
commit 941f0dc676
5 changed files with 20 additions and 27 deletions

View File

@ -1,22 +1,18 @@
import React from "react" import React from "react"
import PropTypes from "prop-types" import PropTypes from "prop-types"
const ImdbLink = (props) => { export const ImdbBadge = ({ imdbId }) => {
if (!props.imdbId || props.imdbId === "") { if (imdbId === undefined) { return null }
return null;
}
return( return (
<a <h5 className="d-inline">
className={`btn btn-warning ${props.xs ? "btn-sm" : ""}`} <a
href={`http://www.imdb.com/title/${props.imdbId}`}> className="badge badge-pill badge-warning m-1"
<i className="fa fa-external-link"></i> IMDB href={`https://www.imdb.com/title/${imdbId}`}>
</a> IMDb <i className="fa fa-external-link"></i>
</a>
</h5>
); );
}; }
ImdbLink.propTypes = { ImdbBadge.propTypes = { imdbId: PropTypes.string };
imdbId: PropTypes.string, ImdbBadge.defaultProps = { imdbId: undefined };
xs: PropTypes.bool,
};
export default ImdbLink;

View File

@ -4,6 +4,7 @@ import PropTypes from "prop-types"
import { PolochonMetadata } from "../buttons/polochon" import { PolochonMetadata } from "../buttons/polochon"
import { DownloadAndStream } from "../buttons/download" import { DownloadAndStream } from "../buttons/download"
import { ImdbBadge } from "../buttons/imdb"
const ListDetails = (props) => { const ListDetails = (props) => {
if (props.loading) { return null } if (props.loading) { return null }
@ -28,6 +29,7 @@ const ListDetails = (props) => {
votes={props.data.get("votes")} votes={props.data.get("votes")}
/> />
<div> <div>
<ImdbBadge imdbId={props.data.get("imdb_id")} />
<DownloadAndStream <DownloadAndStream
url={props.data.get("polochon_url")} url={props.data.get("polochon_url")}
name={props.data.get("title")} name={props.data.get("title")}

View File

@ -3,7 +3,6 @@ import PropTypes from "prop-types"
import { Map } from "immutable" import { Map } from "immutable"
import SubtitlesButton from "../buttons/subtitles" import SubtitlesButton from "../buttons/subtitles"
import ImdbButton from "../buttons/imdb"
import TorrentsButton from "./torrents" import TorrentsButton from "./torrents"
import ActionsButton from "./actions" import ActionsButton from "./actions"
@ -38,8 +37,6 @@ const MovieButtons = (props) => (
type="movie" type="movie"
/> />
} }
<ImdbButton imdbId={props.movie.get("imdb_id")} size="sm"/>
</ButtonToolbar> </ButtonToolbar>
); );
MovieButtons.propTypes = { MovieButtons.propTypes = {

View File

@ -9,10 +9,10 @@ import { addShowToWishlist, deleteShowFromWishlist, getEpisodeDetails, fetchShow
import { DownloadAndStream } from "../buttons/download" import { DownloadAndStream } from "../buttons/download"
import { PolochonMetadata } from "../buttons/polochon" import { PolochonMetadata } from "../buttons/polochon"
import { ImdbBadge } from "../buttons/imdb"
import Loader from "../loader/loader" import Loader from "../loader/loader"
import SubtitlesButton from "../buttons/subtitles" import SubtitlesButton from "../buttons/subtitles"
import ImdbButton from "../buttons/imdb"
import RefreshIndicator from "../buttons/refresh" import RefreshIndicator from "../buttons/refresh"
import Tooltip from "react-bootstrap/Tooltip" import Tooltip from "react-bootstrap/Tooltip"
@ -91,15 +91,15 @@ const Header = (props) => (
src={props.data.get("poster_url")} src={props.data.get("poster_url")}
/> />
</div> </div>
<div className=""> <div>
<div className="card-body"> <div className="card-body">
<h5 className="card-title">{props.data.get("title")}</h5> <h5 className="card-title">{props.data.get("title")}</h5>
<p className="card-text">{props.data.get("year")}</p> <p className="card-text">{props.data.get("year")}</p>
<p className="card-text">{props.data.get("rating")}</p> <p className="card-text">{props.data.get("rating")}</p>
<div className="my-1">
<ImdbBadge imdbId={props.data.get("imdb_id")} />
</div>
<p className="card-text plot">{props.data.get("plot")}</p> <p className="card-text plot">{props.data.get("plot")}</p>
<p className="card-text">
<ImdbButton imdbId={props.data.get("imdb_id")} xs/>
</p>
<TrackHeader <TrackHeader
data={props.data} data={props.data}
addToWishlist={props.addToWishlist} addToWishlist={props.addToWishlist}

View File

@ -7,7 +7,6 @@ import Dropdown from "react-bootstrap/Dropdown"
import ButtonToolbar from "react-bootstrap/ButtonToolbar" import ButtonToolbar from "react-bootstrap/ButtonToolbar"
import { WishlistButton, RefreshButton } from "../buttons/actions" import { WishlistButton, RefreshButton } from "../buttons/actions"
import ImdbButton from "../buttons/imdb"
const ShowButtons = (props) => ( const ShowButtons = (props) => (
<ButtonToolbar> <ButtonToolbar>
@ -17,7 +16,6 @@ const ShowButtons = (props) => (
deleteFromWishlist={props.deleteFromWishlist} deleteFromWishlist={props.deleteFromWishlist}
getDetails={props.getDetails} getDetails={props.getDetails}
/> />
<ImdbButton imdbId={props.show.get("imdb_id")}/>
<Link className="btn btn-primary" to={"/shows/details/" + props.show.get("imdb_id")}> <Link className="btn btn-primary" to={"/shows/details/" + props.show.get("imdb_id")}>
<i className="fa fa-external-link"></i> Details <i className="fa fa-external-link"></i> Details
</Link> </Link>