Skip to main content
All Docs
FeaturesmyProp (AgentOS People Portal)Updated April 4, 2026

Company-Namespaced Route Shell with Theme — v0.1.16

Company-Namespaced Route Shell with Theme

Released in v0.1.16

Starting in v0.1.16, myProp serves all authenticated content under a company-specific URL namespace. This root shell is responsible for fetching company configuration, applying a branded theme, enforcing authentication, and rendering a responsive navigation layout for all child pages.


How It Works

1. Company-Namespaced Routes

All routes in myProp now live under a dynamic /:company path segment:

https://<portal-domain>/:company/*

The :company segment identifies the letting or estate agency whose portal the user is accessing. This makes every agency's portal independently addressable and isolates data across tenants.

2. Company Verification

When a user navigates to /:company, the shell immediately performs a company lookup against the AgentOS API. If the company identifier is not found or is inactive, the user is redirected before any further content is loaded. This prevents unauthenticated or invalid agency data from ever being rendered.

3. Dynamic Theming

Once the company is verified, the shell fetches the agency's design configuration and applies it at runtime using Tailwind CSS and shadcn/ui design tokens. This means:

  • Brand colours, fonts, and component styles are resolved per agency.
  • No theme changes require a rebuild or redeployment.
  • Each agency's portal looks and feels like their own branded product.

4. Company URL Loading

The shell also loads agency-specific URLs (e.g. terms pages, support links, external resources). These are made available to all child routes within the shell, so navigation items and embedded links can be driven by live company configuration rather than hardcoded values.

5. Auth-Gated Shell

Authentication is enforced at the shell level. Any attempt to access a route under /:company/* without a valid session is intercepted and redirected to the sign-in flow. Child routes do not need to implement their own auth guards — the shell handles this uniformly.

6. Responsive Navigation

The shell renders a responsive navigation component that adapts to the user's viewport:

  • Mobile: Collapsible menu with touch-friendly controls.
  • Desktop: Persistent sidebar or top navigation, depending on the agency theme.

All navigation items are rendered within the themed shell, ensuring consistent branding across breakpoints.


Architecture Summary

/:company  (Shell)
│
├── Verifies company exists via AgentOS API
├── Applies company theme (Tailwind/shadcn tokens)
├── Loads company URLs
├── Enforces authentication
├── Renders responsive navigation
│
└── /* (Child routes — all protected, all themed)

Benefits for Agencies

BenefitDescription
White-label brandingEach agency gets a portal that matches their brand identity
Secure by defaultAuth enforcement at the shell means no child route is ever exposed unauthenticated
Configuration-drivenTheme and URLs are loaded from live agency config, not hardcoded
Scalable multi-tenancyClean URL namespace isolation per agency from the root route

Related