diff --git a/src/components/ModalMovieDetails.js b/src/components/ModalMovieDetails.js index 0598443..c728345 100644 --- a/src/components/ModalMovieDetails.js +++ b/src/components/ModalMovieDetails.js @@ -1,37 +1,45 @@ -import React from 'react'; -import Aux from '../hoc/Aux'; -import AddIcon from '../static/images/add.svg'; -import PlayIcon from '../static/images/play-button.svg'; - import React from 'react' -export default function ModalMovieDetails(props) { +import AddIcon from '../static/images/add.svg' +import PlayIcon from '../static/images/play-button.svg' + +const MovieDetails = ({ + movie: { + title, + name, + vote_average, + release_date, + first_air_date, + runtime, + episode_run_time, + number_of_episodes, + number_of_seasons, + overview, + }, +}) => { return ( - -
-

- {props.movie.title || props.movie.name} -

-

- - Rating: {props.movie.vote_average * 10}%{" "} - - Release date: {props.movie.release_date || props.movie.first_air_date} Runtime: {props.movie.runtime || props.movie.episode_run_time}m -

-

- {props.movie.number_of_episodes ? " Episodes: " + props.movie.number_of_episodes : ""} - {props.movie.number_of_seasons ? " Seasons: " + props.movie.number_of_seasons : ""} -

-

{props.movie.overview}

- - -
-
- ); -} \ No newline at end of file +
+

{title || name}

+

+ Rating: {vote_average * 10}% + Release date: {release_date || first_air_date} Runtime:{' '} + {runtime || episode_run_time}m +

+

+ {number_of_episodes ? ' Episodes: ' + number_of_episodes : ''} + {number_of_seasons ? ' Seasons: ' + number_of_seasons : ''} +

+

{overview}

+ + +
+ ) +} + +export default MovieDetails diff --git a/src/components/Movie/Movie.js b/src/components/Movie.js similarity index 100% rename from src/components/Movie/Movie.js rename to src/components/Movie.js diff --git a/src/components/Movie/MovieDetails.js b/src/components/Movie/MovieDetails.js deleted file mode 100644 index dd16e42..0000000 --- a/src/components/Movie/MovieDetails.js +++ /dev/null @@ -1,45 +0,0 @@ -import React from 'react' - -import AddIcon from '../../static/images/add.svg' -import PlayIcon from '../../static/images/play-button.svg' - -export default function MovieDetails({ - movie: { - title, - name, - vote_average, - release_date, - first_air_date, - runtime, - episode_run_time, - number_of_episodes, - number_of_seasons, - overview, - }, -}) { - return ( -
-
-

{title || name}

-

- Rating: {vote_average * 10}% - Release date: {release_date || first_air_date} Runtime:{' '} - {runtime || episode_run_time}m -

-

- {number_of_episodes ? ' Episodes: ' + number_of_episodes : ''} - {number_of_seasons ? ' Seasons: ' + number_of_seasons : ''} -

-

{overview}

- - -
-
- ) -} diff --git a/src/components/UI/Modal.js b/src/components/UI/Modal.js index f3a95e8..c282e2e 100644 --- a/src/components/UI/Modal.js +++ b/src/components/UI/Modal.js @@ -2,17 +2,10 @@ import React from 'react' import Backdrop from './Backdrop' -const Modal = ({ - show, - modalClosed, - children, - movie: { backdrop_path, poster_path }, -}) => { +const Modal = ({ show, modalClosed, children, backgroundImage }) => { const backgroundStyle = { backgroundSize: 'cover', - backgroundImage: `url(https://image.tmdb.org/t/p/original/${ - backdrop_path || poster_path - })`, + backgroundImage: `url(https://image.tmdb.org/t/p/original/${backgroundImage})`, } return ( diff --git a/src/pages/Home.js b/src/pages/Home.js index 5b180a5..9dde159 100644 --- a/src/pages/Home.js +++ b/src/pages/Home.js @@ -2,15 +2,15 @@ import React, { useState } from 'react' import MainContent from '../components/MainContent' import Modal from '../components/UI/Modal' -import MovieDetails from '../components/Movie/MovieDetails' +import ModalMovieDetails from '../components/ModalMovieDetails' const Home = () => { const [toggleModal, setToggleModal] = useState(false) - const [movieOverview, setMovieOverview] = useState({}) + const [movieDetails, setMovieDetails] = useState({}) const selectMovieHandler = async (movie) => { setToggleModal(true) - setMovieOverview(movie) + setMovieDetails(movie) } const closeModal = () => { @@ -25,9 +25,9 @@ const Home = () => { - + ) diff --git a/src/pages/Search.js b/src/pages/Search.js index 9ea9699..aa7e594 100644 --- a/src/pages/Search.js +++ b/src/pages/Search.js @@ -5,8 +5,8 @@ import { useDispatch, useSelector } from 'react-redux' import { useDebounce } from '../hooks/useDebounce' import * as movieActions from '../store/actions' import Modal from '../components/UI/Modal' -import MovieDetails from '../components/Movie/MovieDetails' -import Movie from '../components/Movie/Movie' +import ModalMovieDetails from '../components/ModalMovieDetails' +import Movie from '../components/Movie' // A custom hook that builds on useLocation to parse // the query string for you. @@ -42,12 +42,10 @@ const Search = () => { <>
{searchResults.map((movie) => { - let movieRows = [] - let movieImageUrl if (movie.poster_path !== null && movie.media_type !== 'person') { - movieImageUrl = + const movieImageUrl = 'https://image.tmdb.org/t/p/w500' + movie.poster_path - const movieComponent = ( + return ( onSelectMovieHandler(movie)} key={movie.id} @@ -55,18 +53,17 @@ const Search = () => { movie={movie} /> ) - movieRows.push(movieComponent) } - return movieRows })}
- + ) : (