import 'babel-polyfill' import React from 'react' import ReactDOM from 'react-dom' import { bindActionCreators } from 'redux' import { Provider, connect } from 'react-redux' import { Router, Route, IndexRoute, IndexRedirect, Link, hashHistory } from 'react-router' import { routerActions } from 'react-router-redux' import { UserAuthWrapper } from 'redux-auth-wrapper' // Root reducer import rootReducer from './reducers/index' // Action creators import * as actionCreators from './actions/actionCreators' // Store import store, { history } from './store' // Components import NavBar from './components/navbar' import Error from './components/errors' import MovieList from './components/movies/list' import UserLoginForm from './components/users/login' import UserEdit from './components/users/edit' import UserSignUp from './components/users/signup' class Main extends React.Component { componentWillMount() { this.props.isUserLoggedIn() } render() { return (
{React.cloneElement(this.props.children, this.props)}
); } } function mapStateToProps(state) { return { movieStore: state.movieStore, userStore: state.userStore, errors: state.errors, } } function mapDispatchToProps(dispatch) { return bindActionCreators(actionCreators, dispatch); } const App = connect(mapStateToProps, mapDispatchToProps)(Main); // Redirects to /login by default const UserIsAuthenticated = UserAuthWrapper({ authSelector: state => state.userStore, redirectAction: routerActions.replace, wrapperDisplayName: 'UserIsAuthenticated', predicate: user => user.isLogged, failureRedirectPath: '/users/login', }) // TODO find a better way const MovieListPopular = (props) => ( ) const MovieListPolochon = (props) => ( ) ReactDOM.render(( ),document.getElementById('app'));