Untitled
unknown
javascript
3 years ago
1.6 kB
12
Indexable
import React, { useEffect, useState } from "react";
import './App.css';
import SearchIcon from './search.svg';
import MovieCard from './components/MovieCard';
const API_URL = 'http://www.omdbapi.com/?i=tt3896198&apikey=3f6ec66d';
const App = () => {
const [movies, setMovies] = useState([]);
const [searchTerm, setSearchTerm] = useState('');
// Call API
const searchMovies = async(title) => {
const response = await fetch(`${API_URL}&s=${title}`);
const data = await response.json();
setMovies(data.Search);
}
useEffect(() => {
setMovies('Spiderman');
}, []);
return(
<div className="App">
<h1>MovieLand</h1>
<div className="search">
<input
placeholder="Search for movies..."
value={searchTerm}
onChange={(e) => setSearchTerm(e.target.value)}
/>
<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;Editor is loading...