Module Access
ModuleAccessProvider
Section titled “ModuleAccessProvider”Provides user-accessible module state and UI-ready module buttons.
Import
Section titled “Import”import { ModuleAccessProvider, useModuleAccess } from "@/context/ModulesProvider";Provider
Section titled “Provider”<ModuleAccessProvider> <App /></ModuleAccessProvider>Provider props are currently:
type ProviderProps = { children: React.ReactNode;};useModuleAccess() return shape
Section titled “useModuleAccess() return shape”interface ModuleAccessCtxValue { modules: ModuleKey[]; setModulesInfo: React.Dispatch<React.SetStateAction<ModuleKey[]>>; sortOrder: ModuleKey[]; setSortOrder: React.Dispatch<React.SetStateAction<ModuleKey[]>>; buttons: readonly ModuleButton[];}buttons is derived from available modules and includes child modules/add-ons when applicable.
interface ModuleButton { id: ModuleKey; label: string; icon: IconType; alternateIcon: IconType; children?: ModuleButton[];}