{"repo": "abhirajkaranmishra/netflix", "files": {"src/components/GptSearchBar.js": {"7d6b597ef4c3cbac979aba17d3d1cba69d13f91b": {"t": 1785674562.9449775, "n": 2141, "h": "78f78eeca598b5b1", "c": "import { useRef } from \"react\";\nimport { GEMNI_AI } from \"../utils/constant\";\nimport axios from \"axios\";\nimport { API_OPTIONS } from \"../utils/constant\";\nimport { useDispatch } from \"react-redux\";\nimport { addGptMovieResult } from \"../utils/gptSlice\";\n\nconst GptSearchBar = () => {\n\n const searchText = useRef(null);\n const dispatch = useDispatch();\n\n const searchMovieTmdb = async(movie)=>{\n const data = await fetch(\"https://api.themoviedb.org/3/search/movie?query=\"+movie+\"&include_adult=false&language=en-US&page=1\",API_OPTIONS);\n const json = await data.json();\n return json.results;\n }\n\n const handleGptSearchClick = async () => {\n const query = \"Act as a movie recommendation system and suggest some movies from the query\"+ searchText.current.value +\". Only give me names of 5 movies, comma-separated, like the example result given ahead. Example Result: Gadar, Don, Sholay, Golmaal, Koi Mil Gaya\";\n console.log(\"loading....\");\n const respounse = await axios({\n url:\"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=AIzaSyAM6IY8B_NHZHrtbZK6mXUI-QFdgHPHavA\",\n method:\"post\",\n data:{\n contents:[\n {parts:[{text:query}]},\n ],\n },\n})\nconsole.log(respounse['data']['candidates'][0]['content']['parts'][0]['text']);\nconst GemniSuggestion = respounse['data']['candidates'][0]['content']['parts'][0]['text'].split(\",\");\nconst PromiseArray=GemniSuggestion.map(movies=>searchMovieTmdb(movies));\nconst tmdbResult= await Promise.all(PromiseArray);\ndispatch(addGptMovieResult({movieResults:tmdbResult,\n movieNames:GemniSuggestion\n}));\n};\n\n return (\n
\n
e.preventDefault()}>\n \n \n \n
\n )\n}\n\nexport default GptSearchBar;"}}}}