import React from "react" import PropTypes from "prop-types" import { OrderedMap, Map } from "immutable" import { connect } from "react-redux" import { addTorrent } from "../../actions/torrents" import { refreshSubtitles } from "../../actions/subtitles" import { addMovieToWishlist, deleteMovie, deleteMovieFromWishlist, getMovieDetails, selectMovie, updateFilter } from "../../actions/movies" import ListPosters from "../list/posters" import ListDetails from "../list/details" import MovieButtons from "./buttons" import Row from "react-bootstrap/Row" function mapStateToProps(state) { return { loading : state.movieStore.get("loading"), movies : state.movieStore.get("movies"), filter : state.movieStore.get("filter"), selectedImdbId : state.movieStore.get("selectedImdbId"), lastFetchUrl : state.movieStore.get("lastFetchUrl"), exploreOptions : state.movieStore.get("exploreOptions"), }; } const mapDispatchToProps = { selectMovie, getMovieDetails, addTorrent, addMovieToWishlist, deleteMovie, deleteMovieFromWishlist, refreshSubtitles, updateFilter, }; const MovieList = (props) => { let selectedMovie = undefined; if (props.movies !== undefined && props.movies.has(props.selectedImdbId)) { selectedMovie = props.movies.get(props.selectedImdbId); } return ( ); } MovieList.propTypes = { movies: PropTypes.instanceOf(OrderedMap), exploreOptions: PropTypes.instanceOf(Map), selectedImdbId: PropTypes.string, filter: PropTypes.string, loading: PropTypes.bool, lastFetchUrl: PropTypes.string, updateFilter: PropTypes.func, selectMovie: PropTypes.func, addMovieToWishlist: PropTypes.func, deleteMovieFromWishlist: PropTypes.func, deleteMovie: PropTypes.func, addTorrent: PropTypes.func, refreshSubtitles: PropTypes.func, getMovieDetails: PropTypes.func, match: PropTypes.object, }; export default connect(mapStateToProps, mapDispatchToProps)(MovieList);