From 1cb135b50c921f8dfda5b1c216d97189f1f92a17 Mon Sep 17 00:00:00 2001 From: andres alcocer Date: Tue, 13 Nov 2018 16:52:39 -0500 Subject: [PATCH] search functionality bugs --- src/components/Header/Header.js | 3 +- src/components/MovieRow/MovieRow.js | 6 +- .../NavigationItems/NavigationItems.js | 72 +++++++++++----- src/components/Search/Search.js | 18 ++-- src/containers/App.js | 59 +++++++++---- src/containers/Layout/Layout.js | 11 +-- src/containers/Navigation/Navigation.js | 13 ++- src/containers/SearchMovie/SearchMovie.js | 75 +++++++++++++++++ src/static/sass/base/_base.scss | 19 +++++ src/static/sass/components/_movie.scss | 83 +++++++++++++++++++ src/static/sass/layout/_navigation.scss | 22 ++++- 11 files changed, 318 insertions(+), 63 deletions(-) create mode 100644 src/containers/SearchMovie/SearchMovie.js diff --git a/src/components/Header/Header.js b/src/components/Header/Header.js index ac6083f..bdd45fd 100644 --- a/src/components/Header/Header.js +++ b/src/components/Header/Header.js @@ -1,8 +1,9 @@ import React from 'react'; +import SearchMovie from "../../containers/SearchMovie/SearchMovie"; const header = () => (
- Header + {/* */}
); diff --git a/src/components/MovieRow/MovieRow.js b/src/components/MovieRow/MovieRow.js index bb18f54..b91d44b 100644 --- a/src/components/MovieRow/MovieRow.js +++ b/src/components/MovieRow/MovieRow.js @@ -3,17 +3,17 @@ import React from 'react'; const movieRow = (props) => (
-
+
-
+ {/*

{props.movie.title}

{props.movie.overview}

{ window.location.href = "https://www.themoviedb.org/movie/" + props.movie.id; }}> view -
+
*/}
); diff --git a/src/components/NavigationItems/NavigationItems.js b/src/components/NavigationItems/NavigationItems.js index 626ef8d..d940b34 100644 --- a/src/components/NavigationItems/NavigationItems.js +++ b/src/components/NavigationItems/NavigationItems.js @@ -1,24 +1,58 @@ -import React from 'react'; +import React, { Component } from 'react'; + import NavigationItem from './NavigationItem/NavigationItem'; +import SearchLogo from '../../static/images/search-icon.svg'; +import SearchMovie from '../../containers/SearchMovie/SearchMovie'; -const navigationItems = props => ( - +// ); -export default navigationItems; +// export default navigationItems; + +class NavigationItems extends Component { + + + render() { + return ( + + ); + } +} + +export default NavigationItems; diff --git a/src/components/Search/Search.js b/src/components/Search/Search.js index 70eaee0..e095ef5 100644 --- a/src/components/Search/Search.js +++ b/src/components/Search/Search.js @@ -1,16 +1,12 @@ import React from 'react'; const search = (props) => ( -
- - -
- -); + +) -export default search; \ No newline at end of file +export default search; \ No newline at end of file diff --git a/src/containers/App.js b/src/containers/App.js index 880d10c..2a70b0f 100644 --- a/src/containers/App.js +++ b/src/containers/App.js @@ -1,17 +1,28 @@ import React, { Component } from 'react'; -import axios from 'axios'; - +import Navigation from "./Navigation/Navigation" import Layout from './Layout/Layout'; -import MovieRow from '../components/MovieRow/MovieRow'; +import axios from 'axios'; +import MovieRow from '../components/MovieRow/MovieRow' +// import SearchMovie from './SearchMovie/SearchMovie'; class App extends Component { - state = { - // an array that will hold all of our movies component - rows: [] - } + state = { + myVal: true, + //an array that will hold all of our movies component + rows: [] + } - makeAipCall = (searchItem) => { + myB = () => { + this.setState({ + myVal: true + }) + } + + + + +makeAipCall = (searchItem) => { const url = "https://api.themoviedb.org/3/search/movie?api_key=224ce27b38a3805ecf6f6c36eb3ba9d0&page=1&query=" + searchItem; axios.get(url) .then(res => { @@ -42,17 +53,33 @@ class App extends Component { } // get the user input and pass it to the makeAPICall function - searchHandler = (event) => { - const searchItem = event.target.value; - this.makeAipCall(searchItem); - } + // searchHandler = (event) => { + // // const searchItem = event.target.value; + // // this.makeAipCall(searchItem); + // alert("Hello"); + // } + + + myF = (event) => { + this.setState({ + myVal: false + }); + const userInput = event.target.value; + this.makeAipCall(userInput); + console.log(userInput); + } + + + render() { + + return ( -
- - {/* - {this.state.rows} */} +
+ + {this.state.myVal ? :
{this.state.rows}
} +
); diff --git a/src/containers/Layout/Layout.js b/src/containers/Layout/Layout.js index d7ad783..29a5eda 100644 --- a/src/containers/Layout/Layout.js +++ b/src/containers/Layout/Layout.js @@ -1,32 +1,27 @@ import React, { Component } from 'react'; -import Navigation from '../Navigation/Navigation'; import Header from '../../components/Header/Header'; import MovieShowcase from '../MovieShowcase/MovieShowcase'; import MovieOriginals from '../MovieOriginals/MovieOriginals'; import Footer from '../../components/Footer/Footer'; import { BrowserRouter } from "react-router-dom"; +import SearchMovie from '../../containers/SearchMovie/SearchMovie'; - // < Navigation /> - //
- // - // - //