fix: don't hide sidebar when menu is open (#3203)
This commit is contained in:
31
app/hooks/useMenuContext.tsx
Normal file
31
app/hooks/useMenuContext.tsx
Normal file
@@ -0,0 +1,31 @@
|
||||
import { noop } from "lodash";
|
||||
import React from "react";
|
||||
|
||||
type MenuContextType = {
|
||||
isMenuOpen: boolean;
|
||||
setIsMenuOpen: React.Dispatch<React.SetStateAction<boolean>>;
|
||||
};
|
||||
|
||||
const MenuContext = React.createContext<MenuContextType | null>(null);
|
||||
|
||||
export const MenuProvider: React.FC = ({ children }) => {
|
||||
const [isMenuOpen, setIsMenuOpen] = React.useState(false);
|
||||
const memoized = React.useMemo(
|
||||
() => ({
|
||||
isMenuOpen,
|
||||
setIsMenuOpen,
|
||||
}),
|
||||
[isMenuOpen, setIsMenuOpen]
|
||||
);
|
||||
|
||||
return (
|
||||
<MenuContext.Provider value={memoized}>{children}</MenuContext.Provider>
|
||||
);
|
||||
};
|
||||
|
||||
const useMenuContext: () => MenuContextType = () => {
|
||||
const value = React.useContext(MenuContext);
|
||||
return value ? value : { isMenuOpen: false, setIsMenuOpen: noop };
|
||||
};
|
||||
|
||||
export default useMenuContext;
|
||||
Reference in New Issue
Block a user