diff --git a/src/components/Movie/MovieDetails.js b/src/components/Movie/MovieDetails.js index 68e49e9..f88da53 100644 --- a/src/components/Movie/MovieDetails.js +++ b/src/components/Movie/MovieDetails.js @@ -1,24 +1,23 @@ -import React from 'react'; +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 AddIcon from '../../static/images/add.svg' +import PlayIcon from '../../static/images/play-button.svg' export default function MovieDetails(props) { 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 : ''} @@ -26,16 +25,16 @@ export default function MovieDetails(props) { ? ' Seasons: ' + props.movie.number_of_seasons : ''}

-

{props.movie.overview}

- -
- - ); +
+ ) } diff --git a/src/components/UI/Modal.js b/src/components/UI/Modal.js index 8cc52f2..f3a95e8 100644 --- a/src/components/UI/Modal.js +++ b/src/components/UI/Modal.js @@ -1,25 +1,31 @@ -import React from 'react'; +import React from 'react' -import Aux from '../../hoc/Aux'; -import Backdrop from './Backdrop'; +import Backdrop from './Backdrop' -export default function Modal(props) { +const Modal = ({ + show, + modalClosed, + children, + movie: { backdrop_path, poster_path }, +}) => { const backgroundStyle = { backgroundSize: 'cover', backgroundImage: `url(https://image.tmdb.org/t/p/original/${ - props.movie.backdrop_path || props.movie.poster_path + backdrop_path || poster_path })`, - }; + } return ( - - +
+
- {props.children} + {children}
- - ); +
+ ) } + +export default Modal diff --git a/src/hoc/Aux.js b/src/hoc/Aux.js deleted file mode 100644 index 52e8242..0000000 --- a/src/hoc/Aux.js +++ /dev/null @@ -1,3 +0,0 @@ -const aux = (props) => props.children; - -export default aux; diff --git a/src/pages/Home.js b/src/pages/Home.js index 9de16bf..85972b8 100644 --- a/src/pages/Home.js +++ b/src/pages/Home.js @@ -1,43 +1,39 @@ -import React, { Component } from 'react'; +import React, { useState } from 'react' -import MainContent from '../components/MainContent'; -import Modal from '../components/UI/Modal'; -import MovieDetails from '../components/Movie/MovieDetails'; +import MainContent from '../components/MainContent' +import Modal from '../components/UI/Modal' +import MovieDetails from '../components/Movie/MovieDetails' + +const Home = () => { + const [toggleModal, setToggleModal] = useState(false) + const [movieOverview, setMovieOverview] = useState({}) -class Home extends Component { - state = { - /** Toggles the modal when a movie is clicked. */ - toggleModal: false, - /** Holds the movie information for a single movie. */ - movieOverview: {}, - }; /* Get the appropriate details for a specific movie that was clicked */ - selectMovieHandler = async (movie) => { - this.setState({ toggleModal: true }); - await this.setState({ movieOverview: movie }); - }; - - closeModal = () => { - this.setState({ toggleModal: false }); - }; - - render() { - return ( - <> -
- -
- - - - - ); + const selectMovieHandler = async (movie) => { + console.log('movei is', movie) + setToggleModal(true) + setMovieOverview(movie) } + + const closeModal = () => { + setToggleModal(false) + } + + return ( + <> +
+ +
+ + + + + ) } -export default Home; +export default Home