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 (
);
}
}
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 &&
}
);
}
}