From 289b9984e488c4ca711c8d341bab83aeacf6048a Mon Sep 17 00:00:00 2001 From: Dev Chauhan <124146292+DevChauhan5@users.noreply.github.com> Date: Sun, 30 Jul 2023 15:47:56 +0000 Subject: [PATCH] done --- .gitignore | 1 + package-lock.json | 11 +++++++- package.json | 3 ++- src/App.jsx | 49 +++++++++++++++++++++++++++++++++--- src/components/MovieCard.jsx | 30 ++++++++++++++++++++++ 5 files changed, 88 insertions(+), 6 deletions(-) create mode 100644 src/components/MovieCard.jsx diff --git a/.gitignore b/.gitignore index a547bf3..d7d77c9 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ node_modules dist dist-ssr *.local +*.env # Editor directories and files .vscode/* diff --git a/package-lock.json b/package-lock.json index e8936a8..da6ea59 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,8 @@ "version": "0.0.0", "dependencies": { "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-icons": "^4.10.1" }, "devDependencies": { "@types/react": "^18.2.15", @@ -3397,6 +3398,14 @@ "react": "^18.2.0" } }, + "node_modules/react-icons": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.10.1.tgz", + "integrity": "sha512-/ngzDP/77tlCfqthiiGNZeYFACw85fUjZtLbedmJ5DTlNDIwETxhwBzdOJ21zj4iJdvc0J3y7yOsX3PpxAJzrw==", + "peerDependencies": { + "react": "*" + } + }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", diff --git a/package.json b/package.json index 70ce1d1..e63dd89 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,8 @@ }, "dependencies": { "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-icons": "^4.10.1" }, "devDependencies": { "@types/react": "^18.2.15", diff --git a/src/App.jsx b/src/App.jsx index 3455dc7..c1979d5 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,9 +1,50 @@ -import React from 'react' +import React, { useState, useEffect } from "react"; +import { HiOutlineSearch } from "react-icons/hi"; +import MovieCard from "./components/MovieCard"; function App() { + const [movies, setMovies] = useState([]); + const [searchTerm, setSearchTerm] = useState('') + const api = import.meta.env.VITE_API_KEY; + + const getMovie = (searchTerm) => { + const url = `https://api.themoviedb.org/3/search/movie?api_key=${api}&query=${searchTerm}`; + fetch(url) + .then((response) => { + if (!response.ok) { + throw new Error("Network response was not ok"); + } + return response.json(); + }) + .then((data) => { + setMovies(data.results); + }) + .catch((error) => { + console.error("Error fetching data:", error); + }); + }; + useEffect(() => { + getMovie(searchTerm || "Avengers"); + }, [searchTerm]); return ( -
+ Release Date: {movie.release_date} +
++ {movie.overview} +
+