Skip to main content
Navigation, profiles, and themes connect screens to a specific portal experience. They remain separate resources so one definition can compose different experiences from the same screens. Store navigation resources under portal/navigations/. A navigation contains ordered entries for a supported web or mobile context. Entries that target authored screens use screen file slugs. Use the current screen picker or a pulled definition for system-screen targets. Do not invent or maintain a separate list of system slugs.

Profile resources

Store profile resources under portal/profiles/. A profile connects matching or permission rules to navigation and theme selections. Local preview selects the profile marked as default. If none is marked as default, it uses the first profile. Preview does not reproduce every production permission decision, so verify permission-sensitive behavior in an appropriate hosted environment before release.

Theme resources

Store theme resources under portal/themes/. A theme file contains the complete structured theme configuration. A partial theme is invalid. When you need the current full shape, pull an existing theme and edit the required values. Use the theme schema for color modes, semantic tokens, typography, spacing, borders, radii, focus, and chart configuration. Before push:
  1. Confirm each navigation target matches a screen slug.
  2. Confirm each profile points to existing navigation and theme slugs.
  3. Confirm the intended default profile is explicit.
  4. Validate every theme as a complete resource.
  5. Preview representative routes under the intended profile and theme.
See PortalNavigation, PortalProfile, and PortalTheme for the current resource contracts.