import React, { useState, useEffect } from "react"; import { useLocation, useNavigate } from "react-router-dom"; import "./SearchPage.css"; const SearchPage = () => { const [movieDetails, setMovieDetails] = useState(null); const [searchResults, setSearchResults] = useState([]); const [trailerKey, setTrailerKey] = useState(null); const location = useLocation(); const navigate = useNavigate(); const queryParams = new URLSearchParams(location.search); const query = queryParams.get("q"); const movieId = queryParams.get("id"); useEffect(() => { if (movieId) { const fetchMovieDetails = async () => { const movieResponse = await fetch( `https://api.themoviedb.org/3/movie/${movieId}?api_key=59690efd14e375225c4531fcdced2901` ); const movieData = await movieResponse.json(); setMovieDetails(movieData); const videoResponse = await fetch( `https://api.themoviedb.org/3/movie/${movieId}/videos?api_key=59690efd14e375225c4531fcdced2901` ); const videoData = await videoResponse?.json(); const trailer = videoData?.results?.find( (video) => video.type === "Trailer" ); if (trailer) { setTrailerKey(trailer?.key); } }; fetchMovieDetails(); } }, [movieId]); useEffect(() => { if (query) { const fetchSearchResults = async () => { const response = await fetch( `https://api.themoviedb.org/3/search/movie?api_key=59690efd14e375225c4531fcdced2901&query=${query}` ); const data = await response.json(); setSearchResults(data?.results); }; fetchSearchResults(); } }, [query]); if (movieDetails) { return (
Release Date: {movieDetails?.release_date}
{movieDetails?.tagline}
{movieDetails?.overview}
Genres:{" "} {movieDetails.genres.map((genre) => genre.name).join(", ")}
Runtime: {movieDetails?.runtime} minutes
Official Website {trailerKey && (No results found.
; }; export default SearchPage;