// Context to manage the state of the SearchOverlay import { createContext, useContext, PropsWithChildren } from 'react' import { useQueryParam } from '@/frame/components/hooks/useQueryParam' type SearchOverlayState = { isSearchOpen: boolean setIsSearchOpen: (open: boolean) => void } const SearchOverlayContext = createContext(undefined) export function SearchOverlayContextProvider({ children }: PropsWithChildren) { const { queryParam: isSearchOpen, setQueryParam: setIsSearchOpen } = useQueryParam( 'search-overlay-open', true, ) return ( {children} ) } export const useSearchOverlayContext = () => { const ctx = useContext(SearchOverlayContext) if (!ctx) throw new Error('useSearchOverlayContext must be used inside ') return ctx }