diff --git a/src/public/js/app.js b/src/public/js/app.js
index cd70a6b..6fb6f4b 100644
--- a/src/public/js/app.js
+++ b/src/public/js/app.js
@@ -28,7 +28,7 @@ import { Router } from 'react-router'
import { routerActions } from 'react-router-redux'
// Action creators
-import * as actionCreators from './actions/actionCreators'
+import { dismissAlert } from './actions/actionCreators'
// Store
import store, { history } from './store'
@@ -42,23 +42,21 @@ import getRoutes from './routes'
function mapStateToProps(state) {
return {
- movieStore: state.movieStore,
- showStore: state.showStore,
- userStore: state.userStore,
+ username: state.userStore.username,
torrentCount: state.torrentStore.torrents.length,
alerts: state.alerts,
}
}
function mapDispatchToProps(dispatch) {
- return bindActionCreators(actionCreators, dispatch);
+ return bindActionCreators({ dismissAlert }, dispatch);
}
function Main(props) {
return (
@@ -67,7 +65,7 @@ function Main(props) {
dismissAlert={props.dismissAlert}
/>
- {React.cloneElement(props.children, props)}
+ {props.children}
);
diff --git a/src/public/js/components/movies/list.js b/src/public/js/components/movies/list.js
index 6014cb2..3056dd8 100644
--- a/src/public/js/components/movies/list.js
+++ b/src/public/js/components/movies/list.js
@@ -1,4 +1,7 @@
import React from 'react'
+import { connect } from 'react-redux'
+import { bindActionCreators } from 'redux'
+import * as actionCreators from '../../actions/actionCreators'
import DownloadButton from '../buttons/download'
import TorrentsButton from './torrents'
@@ -6,6 +9,12 @@ import ActionsButton from './actions'
import ListPosters from '../list/posters'
import ListDetails from '../list/details'
+function mapStateToProps(state) {
+ return { movieStore: state.movieStore };
+}
+const mapDispatchToProps = (dipatch) =>
+ bindActionCreators(actionCreators, dipatch)
+
function MovieButtons(props) {
const imdb_link = `http://www.imdb.com/title/${props.movie.imdb_id}`;
const hasMovie = (props.movie.polochon_url !== "");
@@ -16,7 +25,6 @@ function MovieButtons(props) {
movieId={props.movie.imdb_id}
getDetails={props.getMovieDetails}
deleteMovie={props.deleteMovie}
- isUserAdmin={props.isUserAdmin}
hasMovie={hasMovie}
wishlisted={props.movie.wishlisted}
addToWishlist={props.addToWishlist}
@@ -44,7 +52,7 @@ function MovieButtons(props) {
);
}
-export default class MovieList extends React.Component {
+class MovieList extends React.Component {
constructor(props) {
super(props);
}
@@ -84,7 +92,6 @@ export default class MovieList extends React.Component {
getMovieDetails={this.props.getMovieDetails}
addTorrent={this.props.addTorrent}
deleteMovie={this.props.deleteMovie}
- isUserAdmin={this.props.userStore.isAdmin}
addToWishlist={this.props.addMovieToWishlist}
deleteFromWishlist={this.props.deleteMovieFromWishlist}
fetchMovies={this.props.fetchMovies}
@@ -96,3 +103,4 @@ export default class MovieList extends React.Component {
);
}
}
+export default connect(mapStateToProps, mapDispatchToProps)(MovieList);
diff --git a/src/public/js/components/shows/details.js b/src/public/js/components/shows/details.js
index 81f0332..bb68de9 100644
--- a/src/public/js/components/shows/details.js
+++ b/src/public/js/components/shows/details.js
@@ -1,11 +1,20 @@
import React from 'react'
+import { connect } from 'react-redux'
+import { bindActionCreators } from 'redux'
+import * as actionCreators from '../../actions/actionCreators'
import Loader from '../loader/loader'
import DownloadButton from '../buttons/download'
import { OverlayTrigger, Tooltip } from 'react-bootstrap'
-export default class ShowDetails extends React.Component {
+function mapStateToProps(state) {
+ return { showStore: state.showStore };
+}
+const mapDispatchToProps = (dispatch) =>
+ bindActionCreators(actionCreators, dispatch)
+
+class ShowDetails extends React.Component {
componentWillMount() {
this.props.fetchShowDetails(this.props.params.imdbId);
}
@@ -32,6 +41,7 @@ export default class ShowDetails extends React.Component {
);
}
}
+export default connect(mapStateToProps, mapDispatchToProps)(ShowDetails);
function Header(props){
return (
diff --git a/src/public/js/components/shows/list.js b/src/public/js/components/shows/list.js
index 7434765..1323f58 100644
--- a/src/public/js/components/shows/list.js
+++ b/src/public/js/components/shows/list.js
@@ -1,10 +1,19 @@
import React from 'react'
+import { connect } from 'react-redux'
+import { bindActionCreators } from 'redux'
+import * as actionCreators from '../../actions/actionCreators'
import ListDetails from '../list/details'
import ListPosters from '../list/posters'
import ShowButtons from './listButtons'
-export default class ShowList extends React.Component {
+function mapStateToProps(state) {
+ return { showStore: state.showStore };
+}
+const mapDispatchToProps = (dispatch) =>
+ bindActionCreators(actionCreators, dispatch)
+
+class ShowList extends React.Component {
componentWillMount() {
if (this.props.showsUrl) {
this.props.fetchShows(this.props.showsUrl);
@@ -54,3 +63,4 @@ export default class ShowList extends React.Component {
);
}
}
+export default connect(mapStateToProps, mapDispatchToProps)(ShowList);
diff --git a/src/public/js/components/torrents/list.js b/src/public/js/components/torrents/list.js
index 38a7998..cc791c0 100644
--- a/src/public/js/components/torrents/list.js
+++ b/src/public/js/components/torrents/list.js
@@ -6,8 +6,8 @@ import { addTorrent } from '../../actions/actionCreators'
function mapStateToProps(state) {
return { torrents: state.torrentStore.torrents };
}
-const mapDispatchToProps = (dipatch) =>
- bindActionCreators({ addTorrent }, dipatch)
+const mapDispatchToProps = (dispatch) =>
+ bindActionCreators({ addTorrent }, dispatch)
class TorrentList extends React.PureComponent {
render() {