Side MenuInject sidebar navigation from register(AppRegistry) with MenuTab labels and requiredApis for RBAC.AppRegistry.menu.addTSXindex.tsxCopy1import type { AppRegistryState, PluginModule } from "@quan-erp/shared-types"; 2import { MenuTab } from "@quan-erp/shared-ui"; 3import metadata from "../module.metadata.json" with { type: "json" }; 4 5export const Plugin: PluginModule = { 6 register(AppRegistry: AppRegistryState) { 7 AppRegistry.menu.add({ 8 name: <MenuTab icon={...} labelKey="reward" fallbackLabel="Reward" />, 9 pluginName: metadata.name, 10 children: [{ 11 name: <MenuTab labelKey="ledger" fallbackLabel="Ledger" />, 12 path: `/${metadata.name}/ledger`, 13 requiredApis: [{ url: "/reward-point/ledger", method: "GET" }], 14 }], 15 }); 16 }, 17};RulesMenu path must match the registered route pathrequiredApis hide items the user cannot callUse localization keys — do not hardcode visible strings in JSXPreviousPortal StylingNextHome shortcuts