apps/design-system/content/docs/ui-patterns/navigation.mdx
Supabase has a necessarily complex navigation system to handle multiple products and levels of hierarchy. This page introduces those general patterns, best practices, and the components involved.
A horizontal list of related views within a consistent PageLayout context, allowing for clearer page-level organisation. Activating a NavMenu item should trigger a URL change.
Browser page titles should follow a consistent most-specific-first structure so tabs and browser history are easier to scan:
Entity | Section | Surface | Project | Org | Supabase
Examples:
users | Table Editor | My Project | My Org | SupabaseBackups | Database | My Project | My Org | SupabaseImplementation notes (Studio):
apps/studio/lib/page-title.tsProjectLayout for project-scoped pagestitle prop when a wrapper layout exposes onebrowserTitle.section when rendering ProjectLayout directlybrowserTitle.entity for the most specific resource (table/function/query) when availableproduct as the single source of truth for the project-level surface segmentdocument.title ad hoc in individual pages/layouts