import React, { useCallback, useContext, useEffect, useState } from "react"; import { Box, Flex, IconButton, Input, InputGroup, Text, } from "@chakra-ui/react"; import { BiArrowBack, BiSearch } from "react-icons/bi"; import { MdKeyboardVoice } from "react-icons/md"; import { NavLink, useNavigate } from "react-router-dom"; import { debounce } from "lodash"; import YoutubeContext from "../../context/YoutubeContext"; const MobileSearch = () => { const { generateAutocomplete, autocomplete } = useContext(YoutubeContext); const [searchText, setSearchText] = useState(""); const generateAutocompleteFun = useCallback( debounce((query) => { generateAutocomplete(query); }, 500), [] ); const navigate = useNavigate(); const searchFun = () => { navigate(`/?query=${searchText}`); }; useEffect(() => { window.scrollTo(0, 0); }, []); return ( <> { setSearchText(e.target.value); generateAutocompleteFun(e.target.value); }} onKeyDown={(event) => { if (event.key === "Enter") { searchFun(); } }} /> {!searchText && ( } /> )} ); }; export default MobileSearch; const AutoSuggetionMobile = ({ autocomplete }) => ( <> {autocomplete && autocomplete.slice(0, 9).map((text) => ( {text} ))} );