Every configuration surface in the platform lives behind one Settings view with a grouped chip nav. Tabs are declared once in a registry, and the rail, the right-click Command Portal, the search box and the mobile sheet all read that same list. Tabs are role-gated: most are admin-only, Team Members opens to crew leaders too, and Help & Support opens to everyone.
Also called: settings · admin panel · account settings · where do I change this · configuration
- 1SETTINGS_TABS in lib/settingsNav.ts declares each tab: id, label, icon, adminOnly, hiddenInNav, requiresBuilder3d.
- 2SETTINGS_GROUPS assigns each tab id to one of five categories; the desktop nav renders one wrapping chip row per category.
- 3SettingsView filters the registry by the viewer's permissions and by the agency 3D-builder grant before rendering.
- 4Choosing a tab rewrites the hash (#/settings/<tab>) so the screen is bookmarkable and shareable.
- 5A deep-link guard bounces a non-admin off an admin-only tab to My Profile — but only once Clerk has finished loading the role, so a real admin is never bounced mid-hydration.
The tab list used to be typed out in several places and had already drifted: the file notes that sub_agreement, automations and pay_structure all existed as tabs while their deep links silently redirected to Team Members — and that a bookmark landing on the wrong page looks like the page was deleted. The five categories came out of the IA redesign, whose code comment records the reasoning: the old Customers junk drawer split so the portal (genuinely customer-facing) got its own category while stages/SOPs/catalog/contracts became internal OPERATIONS; Messaging was too shallow for a group holding notifications and automations so it became COMMUNICATIONS; and My Business is identity so it lives with Brand.
- Tab lists were duplicated across nav surfaces and drifted out of sync, silently breaking deep links.
- Configuration had no vocabulary — nobody could tell a colleague where a control lived.
- Non-admins could reach admin-only tabs through a stale hash.
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →