diff --git a/src/AppRouter.js b/src/AppRouter.js
index 48aa069..809a3a0 100644
--- a/src/AppRouter.js
+++ b/src/AppRouter.js
@@ -1,23 +1,22 @@
-import React from 'react'
-import { BrowserRouter, Route, Switch, Redirect } from 'react-router-dom'
-
-import Home from './pages/Home'
-import NotFound from './pages/NotFound'
-import Search from './pages/Search'
-import Navbar from './components/Navbar'
-import Footer from './components/Footer'
+import React from 'react';
+import { BrowserRouter, Redirect, Route, Switch } from 'react-router-dom';
+import Footer from './components/Footer';
+import Navbar from './components/Navbar';
+import Home from './pages/Home';
+import NotFound from './pages/NotFound';
+import Search from './pages/Search';
const AppRouter = () => (
-
-
-
- } />
-
-
-
-
-
-
-)
+
+
+
+ } />
+
+
+
+
+
+
+);
-export default AppRouter
+export default AppRouter;
diff --git a/src/pages/NotFound.js b/src/pages/NotFound.js
index e2d9ada..12b8df6 100644
--- a/src/pages/NotFound.js
+++ b/src/pages/NotFound.js
@@ -1,6 +1,7 @@
import React from 'react'
const NotFound = () => {
+<<<<<<< HEAD
return (
NOT FOUND
@@ -9,3 +10,25 @@ const NotFound = () => {
}
export default NotFound
+=======
+ return (
+
+ {/* TODO: add css to match netflix not found page */}
+
LOST YOUR WAY?
+
+ Sorry, we can't find that page. You'll find lots to explore on
+ the home page.
+
+
+
+ Error Code NSES-404
+
+
+ FROM LOST IN SPACE
+
+
+ );
+};
+
+export default NotFound;
+>>>>>>> e91ba1936642090199bf3c2946edc8cc861f864f
diff --git a/src/pages/Search.js b/src/pages/Search.js
index b4c4aa3..4023ae0 100644
--- a/src/pages/Search.js
+++ b/src/pages/Search.js
@@ -1,91 +1,108 @@
-import React, { useState, useEffect } from 'react'
-import { useLocation } from 'react-router-dom'
-import { useDispatch, useSelector } from 'react-redux'
-
-import { useDebounce } from '../hooks/useDebounce'
-import * as movieActions from '../store/actions'
-import Modal from '../components/UI/Modal'
-import ModalMovieDetails from '../components/ModalMovieDetails'
+import React, { useEffect, useState } from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { useLocation } from 'react-router-dom';
+import ModalMovieDetails from '../components/ModalMovieDetails';
+import Modal from '../components/UI/Modal';
+import { useDebounce } from '../hooks/useDebounce';
+import * as movieActions from '../store/actions';
// A custom hook that builds on useLocation to parse
// the query string for you.
const useQuery = () => {
- return new URLSearchParams(useLocation().search)
-}
+ return new URLSearchParams(useLocation().search);
+};
const Search = () => {
- let query = useQuery()
- const debouncedSearchTerm = useDebounce(query.get('q'), 500)
- const [isToggleModal, setIsToggleModal] = useState(false)
- const { searchResults, isLoading } = useSelector((state) => state.searchMovie)
- const { movieDetails } = useSelector((state) => state.movieDetails)
- const dispatch = useDispatch()
+ let query = useQuery();
+ const debouncedSearchTerm = useDebounce(query.get('q'), 500);
+ const [isToggleModal, setIsToggleModal] = useState(false);
+ const { searchResults, isLoading } = useSelector(
+ (state) => state.searchMovie
+ );
+ const { movieDetails } = useSelector((state) => state.movieDetails);
+ const dispatch = useDispatch();
- useEffect(() => {
- if (debouncedSearchTerm) {
- dispatch(movieActions.fetchSearchMovie(debouncedSearchTerm))
- }
- }, [debouncedSearchTerm])
+ useEffect(() => {
+ if (debouncedSearchTerm) {
+ dispatch(movieActions.fetchSearchMovie(debouncedSearchTerm));
+ }
+ }, [debouncedSearchTerm]);
- const onCloseModalHandler = () => {
- setIsToggleModal(false)
- }
+ const onCloseModalHandler = () => {
+ setIsToggleModal(false);
+ };
- const onSelectMovieHandler = (movie) => {
- dispatch(movieActions.fetchMovieDetails(movie.media_type, movie.id))
- setIsToggleModal(true)
- }
+ const onSelectMovieHandler = (movie) => {
+ dispatch(movieActions.fetchMovieDetails(movie.media_type, movie.id));
+ setIsToggleModal(true);
+ };
- const renderSearchResults = () => {
- return searchResults.length > 0 ? (
- <>
-
- {searchResults.map((movie) => {
- if (movie.backdrop_path !== null && movie.media_type !== 'person') {
- const movieImageUrl =
- 'https://image.tmdb.org/t/p/w500' + movie.backdrop_path
- return (
-
-
onSelectMovieHandler(movie)}
- className='movie__column-poster'
- >
-

-
-
- )
- }
- })}
-
-
-
-
- >
- ) : (
-
-
-
- Your search for "{debouncedSearchTerm}" did not have any matches.
-
-
Suggestions:
-
- - Try different keywords
- - Looking for a movie or TV show?
- - Try using a movie, TV show title, an actor or director
- - Try a genre, like comedy, romance, sports, or drama
-
-
-
- )
- }
+ const renderSearchResults = () => {
+ return searchResults.length > 0 ? (
+ <>
+
+ {searchResults.map((movie) => {
+ if (
+ movie.backdrop_path !== null &&
+ movie.media_type !== 'person'
+ ) {
+ const movieImageUrl =
+ 'https://image.tmdb.org/t/p/w500' +
+ movie.backdrop_path;
+ return (
+
+
+ onSelectMovieHandler(movie)
+ }
+ className='movie__column-poster'
+ >
+

+
+
+ );
+ }
+ })}
+
+
+
+
+ >
+ ) : (
+
+
+
+ Your search for "{debouncedSearchTerm}" did not have any
+ matches.
+
+
Suggestions:
+
+ - Try different keywords
+ - Looking for a movie or TV show?
+ -
+ Try using a movie, TV show title, an actor or
+ director
+
+ -
+ Try a genre, like comedy, romance, sports, or drama
+
+
+
+
+ );
+ };
- return !isLoading ? renderSearchResults() :
Loading...
-}
+ return !isLoading ? renderSearchResults() :
Loading...
;
+};
-export default Search
+export default Search;
diff --git a/src/static/sass/components/_notfound.scss b/src/static/sass/components/_notfound.scss
new file mode 100644
index 0000000..c56da4f
--- /dev/null
+++ b/src/static/sass/components/_notfound.scss
@@ -0,0 +1,9 @@
+.not-found__message {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+}
+
+.not-found__message > h1 {
+ color: #fff;
+}
diff --git a/src/static/sass/style.scss b/src/static/sass/style.scss
index 0a97c07..dbbc967 100644
--- a/src/static/sass/style.scss
+++ b/src/static/sass/style.scss
@@ -8,6 +8,10 @@
@import 'components/search';
@import 'components/movie';
@import 'components/movieShowcase';
+<<<<<<< HEAD
+=======
+@import 'components/notfound';
+>>>>>>> e91ba1936642090199bf3c2946edc8cc861f864f
@import 'layout/footer';
@import 'layout/header';