-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathApp.js
52 lines (43 loc) · 1.46 KB
/
App.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import React from "react";
import { useEffect, useState } from "react";
import './App.css';
import SearchIcon from './search.svg';
import MovieCard from "./MovieCard";
//eac40348
const API_URL = 'http://www.omdbapi.com?apikey=eac40348';
const App = () => {
const [movies, setMovies] = useState([]);
const[searchTerm, setSearchTerm] = useState([]);
const searchMovies = async (title) => {
const response = await fetch(`${API_URL}&s=${title}`);
const data =await response.json();
setMovies(data.Search);
}
useEffect(()=>{
searchMovies('Spiderman');
},[]);
return(
<div className="app">
<h1>FILMFLIX</h1>
<div className="search">
<input placeholder="Search for movies" value={searchTerm}
onChange={(e)=>setSearchTerm(e.target.value)}></input>
<img src={SearchIcon} alt="Search"
onClick={()=>searchMovies(searchTerm)}/>
</div>
{movies?.length > 0?(
<div className="container">
{movies.map((movie)=>(
<MovieCard movie={movie}/>
))}
</div>
) : (
<div className="empty">
<h2>No movies found</h2>
</div>
)
}
</div>
);
}
export default App;