import { createContext } from 'react'; export interface MixMenuContextProps { activeFirstLevelMenuKey: string; allMenus: App.Global.Menu[]; childLevelMenus: App.Global.Menu[]; firstLevelMenu: App.Global.Menu[]; isActiveFirstLevelMenuHasChildren: boolean; route: Router.Route; selectKey: string[]; setActiveFirstLevelMenuKey: (key?: string) => void; } function voidFunc() {} export const MixMenuContext = createContext>({ activeFirstLevelMenuKey: '', allMenus: [], childLevelMenus: [], firstLevelMenu: [], isActiveFirstLevelMenuHasChildren: false, route: {} as Router.Route, selectKey: [], setActiveFirstLevelMenuKey: voidFunc }); export function useMixMenuContext() { const context = useContext(MixMenuContext); if (!context) { throw new Error('useMixMenu must be used within a MixMenuContext'); } return context as MixMenuContextProps; }