import { createContext, Dispatch, ReactNode, SetStateAction, useContext, useState } from 'react'; type SearchContextValue = { searchValue: string; setSearchValue(searchValue: string): void; searchOpened: boolean; setSearchOpened: Dispatch>; }; export const SearchContext = createContext({ searchValue: '', searchOpened: false, setSearchValue: () => {}, setSearchOpened: () => {}, }); export function useSearchContext() { return useContext(SearchContext); } export function SearchContextProvider({ children }: { children: ReactNode }) { const [searchValue, setSearchValue] = useState(''); const [searchOpened, setSearchOpened] = useState(false); return ( {children} ); }