Skip to content

Module Access

Provides user-accessible module state and UI-ready module buttons.

import { ModuleAccessProvider, useModuleAccess } from "@/context/ModulesProvider";
<ModuleAccessProvider>
<App />
</ModuleAccessProvider>

Provider props are currently:

type ProviderProps = {
children: React.ReactNode;
};
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[];
}