diff --git a/src/components/Movies/Movies.jsx b/src/components/Movies/Movies.jsx index e69de29..57cff1c 100644 --- a/src/components/Movies/Movies.jsx +++ b/src/components/Movies/Movies.jsx @@ -0,0 +1,47 @@ +import { useState } from 'react'; +import { Box, CircularProgress, useMediaQuery, Typography } from '@mui/material'; +import { useSelector } from 'react-redux'; + +import { MovieList, Pagination, FeaturedMovie } from '../index'; +import { useGetMoviesQuery } from '../../services/TMDB'; + +function Movies() { + const [page, setPage] = useState(1); + const { genreIdOrCategoryName, searchQuery } = useSelector((state) => state.currentGenreOrCategory); + const { data, error, isFetching } = useGetMoviesQuery({ genreIdOrCategoryName, page, searchQuery }); + + const lg = useMediaQuery((theme) => theme.breakpoints.only('lg')); + const numberOfMovies = lg ? 17 : 19; + + if (isFetching) { + return ( + + + + ); + } + + if (!data.results.length) { + return ( + + + No movies that match that name. +
+ Please searh for something else. +
+
+ ); + } + + if (error) return 'An error has occured.'; + + return ( +
+ + + +
+ ); +} + +export default Movies;