Skip to content

AdminLayout

AdminLayout(props): Element

Defined in: packages/react/src/admin/AdminLayout.tsx:128

Admin panel layout shell.

Provides FrameworkComponentsContext (for VexLink/VexImage) and SidebarProvider (for the collapsible sidebar), renders AppSidebar on the left, and places view content in a SidebarInset main area on the right. Owns ONLY the sidebar and the main column frame — the top bar (breadcrumbs, SidebarTrigger, “View site”) is rendered by NextAdminPage itself, inside {children} (top-bar move, shell-streaming follow-up, developer-approved; see AdminTopNav.tsx’s own doc comment for why).

Exported from @vexcms/react and used by NextAdminLayout in @vexcms/next. The consuming framework adapter (e.g. NextAdminLayout) is responsible for providing a nuqs adapter before rendering this component. Reads the full config via useVexConfig() — the app’s own VexConfigProvider mount already sits above this component in every render tree, so this component no longer needs to establish its own context value.

AdminLayoutProps

Layout props

Element

{children}

<AdminLayout
activeSlug="posts"
components={{ Link: NextLink, Image: NextImage }}
>
<CollectionListView collection="posts" />
</AdminLayout>