import React from 'react' import axios from 'axios' import { Control, Form } from 'react-redux-form'; import fuzzy from 'fuzzy'; function MoviePosters(props) { let movies = props.movies.slice(); // Filter the movies if (props.filter !== "") { const filtered = fuzzy.filter(props.filter, movies, { extract: (el) => el.title }); movies = filtered.map((el) => el.original); } // Limit the number of results if (movies.length > props.perPage) { movies = movies.slice(0, props.perPage); } return (
{movies.map(function(movie, index) { const selected = (movie.imdb_id === props.selectedMovieId) ? true : false; return ( props.onClick(movie.imdb_id)} /> )} )}
); } class MovieListFilter extends React.Component { render() { return (
); } } function MoviePoster(props) { const selected = props.selected ? ' thumbnail-selected' : ''; const imgClass = 'thumbnail' + selected; return (
); } function MovieDetails(props) { return (

{props.movie.title}

{props.movie.title}

 {props.movie.runtime} min

 {props.movie.rating} ({props.movie.votes} counts)

{props.movie.plot}

); } class MovieButtons extends React.Component { constructor(props) { super(props); this.handleClick = this.handleClick.bind(this); } handleClick(e) { e.preventDefault(); if (this.props.fetching) { return } this.props.getMovieDetails(this.props.movie.imdb_id); } render() { const imdb_link = `http://www.imdb.com/title/${this.props.movie.imdb_id}`; return (
{this.props.fetching || Refresh } {this.props.fetching && Refreshing } {this.props.movie.polochon_url !== "" && Download } IMDB
); } } export default class MovieList extends React.Component { componentWillMount() { this.props.fetchMovies(this.props.moviesUrl); } render() { const movies = this.props.movieStore.movies; const selectedMovieId = this.props.movieStore.selectedImdbId; let index = movies.map((el) => el.imdb_id).indexOf(selectedMovieId); if (index === -1) { index = 0; } const selectedMovie = movies[index]; return (
{selectedMovie && }
); } }