Only map the required props/funcs to the show view

This commit is contained in:
Grégoire Delattre 2017-05-23 20:16:29 +02:00
parent c8b65f8da9
commit 1abea1e0c2
2 changed files with 12 additions and 10 deletions

View File

@ -1,7 +1,8 @@
import React from 'react' import React from 'react'
import { connect } from 'react-redux' import { connect } from 'react-redux'
import { bindActionCreators } from 'redux' import { bindActionCreators } from 'redux'
import * as actionCreators from '../../actions/actionCreators' import { addTorrent, addShowToWishlist, deleteFromWishlist,
updateShowDetails, updateEpisodeDetailsStore, getEpisodeDetails } from '../../actions/actionCreators'
import Loader from '../loader/loader' import Loader from '../loader/loader'
import DownloadButton from '../buttons/download' import DownloadButton from '../buttons/download'
@ -9,29 +10,30 @@ import DownloadButton from '../buttons/download'
import { OverlayTrigger, Tooltip } from 'react-bootstrap' import { OverlayTrigger, Tooltip } from 'react-bootstrap'
function mapStateToProps(state) { function mapStateToProps(state) {
return { showStore: state.showStore }; return {
loading: state.showStore.loading,
show: state.showStore.show,
};
} }
const mapDispatchToProps = (dispatch) => const mapDispatchToProps = (dispatch) =>
bindActionCreators(actionCreators, dispatch) bindActionCreators({addTorrent, addShowToWishlist, deleteFromWishlist,
updateShowDetails, updateEpisodeDetailsStore, getEpisodeDetails }, dispatch)
class ShowDetails extends React.Component { class ShowDetails extends React.Component {
componentWillMount() {
this.props.fetchShowDetails(this.props.params.imdbId);
}
render() { render() {
// Loading // Loading
if (this.props.showStore.loading) { if (this.props.loading) {
return (<Loader />); return (<Loader />);
} }
return ( return (
<div className="row" id="container"> <div className="row" id="container">
<Header <Header
data={this.props.showStore.show} data={this.props.show}
addToWishlist={this.props.addShowToWishlist} addToWishlist={this.props.addShowToWishlist}
deleteFromWishlist={this.props.deleteShowFromWishlist} deleteFromWishlist={this.props.deleteShowFromWishlist}
/> />
<SeasonsList <SeasonsList
data={this.props.showStore.show} data={this.props.show}
addTorrent={this.props.addTorrent} addTorrent={this.props.addTorrent}
addToWishlist={this.props.addShowToWishlist} addToWishlist={this.props.addShowToWishlist}
getEpisodeDetails={this.props.getEpisodeDetails} getEpisodeDetails={this.props.getEpisodeDetails}

View File

@ -181,7 +181,7 @@ export default function getRoutes(App) {
component: ShowDetails, component: ShowDetails,
onEnter: function(nextState, replace, next) { onEnter: function(nextState, replace, next) {
loginCheck(nextState, replace, next, function() { loginCheck(nextState, replace, next, function() {
store.dispatch(actionCreators.fetchShows(`/shows/search/${nextState.params.imdbId}`)); store.dispatch(actionCreators.fetchShowDetails(nextState.params.imdbId));
}); });
}, },
}, },