Skip to content

T-4L45-dashboard-modules

Status: closed/done · Impact: high · Complexity: medium

Replace the dashboard’s static nav array with registerModule/defineModule contributions so its nav flows through the frame’s registry (as determined experiences do), with each area declaring a baseRoute so activeModuleId() resolves — the dashboard’s routes aren’t /apps/<id>, so explicit base routes are mandatory.

LocationRole today
apps/sdlc/desktop/src-nuxt/app/layouts/default.vuestatic groups = [{label:'Operational', items:[/work, /control-plane]}, {label:'Model', items:[/model/..., ...BROWSABLE_ENTITY_TYPES]}] + ProjectSwitcher.
apps/sdlc/desktop/src-nuxt/app/utils/entityRegistry.tsBROWSABLE_ENTITY_TYPES + entityListRoute/entityDetailRoute (framework-free, no icons).
packages/ts/app-frame/app/composables/useContributions.tsregisterModule(defineModule({...})); ModuleManifest with baseRoute + contributes.nav[]; activeModuleId(path) derives from base routes.

A register.ts boot plugin in sdf-nuxt registers the dashboard’s areas as module(s) via registerModule(defineModule({ id, baseRoute, contributes: { nav } })), translating groups + BROWSABLE_ENTITY_TYPES into NavContribution[] (label / to / icon / order) and setting baseRoute per area (/work, /control-plane, /model/...). The frame’s useNav() then drives the sidebar and activeModuleId() resolves the current area.

  1. Add sdf-nuxt/app/plugins/register.ts registering the dashboard’s areas as module(s) with explicit baseRoutes.
  2. Map groups + BROWSABLE_ENTITY_TYPES (app/utils/entityRegistry.ts) into NavContribution[]; add i-lucide-* icons.
  3. Confirm useNav() / activeModuleId() reflect the dashboard’s routes.
LocationKindChange
apps/sdlc/desktop/src-nuxt/app/plugins/register.tsnewregister dashboard areas as frame modules
  • AC-1: The dashboard’s nav is contributed via registerModule/defineModule, not the static groups array.
  • AC-2: Each area declares a baseRoute, and activeModuleId() resolves the current dashboard route.

Depends on T-IKI3-dashboard-frame-prep.

T-IKI3-dashboard-frame-prep


← Back to Tasks