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); // Store trailer key for embedding const location = useLocation(); const navigate = useNavigate(); const queryParams = new URLSearchParams(location.search); const query = queryParams.get("q"); const movieId = queryParams.get("id"); // Fetch movie details including trailer video 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); // Fetch video details (trailer) 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]); // Fetch search results based on query 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;