import React from "react"; import PropTypes from "prop-types"; import { OrderedMap, Map } from "immutable"; import { connect } from "react-redux"; import { selectMovie, updateFilter, movieWishlistToggle, fetchMovies, getMovieExploreOptions, } from "../../actions/movies"; import ListDetails from "../list/details"; import ListPosters from "../list/posters"; import { inLibrary, isWishlisted } from "../../utils"; import { ShowMore } from "../buttons/showMore"; import { MovieSubtitlesButton } from "./subtitlesButton"; import { MovieTorrentsButton } from "./torrentsButton"; function mapStateToProps(state) { return { loading: state.movieStore.get("loading"), movies: state.movieStore.get("movies"), filter: state.movieStore.get("filter"), selectedImdbId: state.movieStore.get("selectedImdbId"), exploreOptions: state.movieStore.get("exploreOptions"), }; } const mapDispatchToProps = { selectMovie, updateFilter, movieWishlistToggle, fetchMovies, getMovieExploreOptions, }; const MovieList = (props) => { let selectedMovie = Map(); if (props.movies !== undefined && props.movies.has(props.selectedImdbId)) { selectedMovie = props.movies.get(props.selectedImdbId); } return (