Skip to main content
Version: Next

App navigation (source of truth)

This documentation set is intentionally system-driven: we only document modules, labels, and routes that exist in the frontend.

Source of truth

  • The tenant sidebar/navigation structure is defined in src/config/navigation.ts.
  • Human-readable breadcrumb labels come from src/hooks/use-breadcrumbs.ts.

If a page/module is missing from the docs, we treat those files (not the docs) as the authoritative reference.

How routes work (high level)

  • Tenant-aware routes live under src/app/(tenants)/[tenant]/....
  • Navigation items use segment values (for example foundation/schools) which are combined with the current tenant using buildTenantHref(tenant, segment).

Navigation items can be hidden or gated at runtime:

  • audiences: intended role/audience targeting
  • requiresPermission: permission-gated modules/actions
  • requiresSchoolSelection: only shown once a school is selected
  • requiresSuperAdmin: restricted to super-admin workflows

This is why the docs often describe behavior as “if enabled / if you have access”. That is not inventing features — it matches how the UI is conditionally assembled.

In-app help

Use the Help menu in the app’s top bar to open the doc page that matches the current screen. See In-app help links for details.