Skip to main content

Layout components

The shells the admin renders inside. They come in two tiers: the app shells frame the whole window (sidebar, header, login screen), and the view shells frame one screen inside it (a list, a detail, a form).

SchemaLayout — the default passed to SchemaAdmin — is built from AdminDashboardLayout, which is DashboardLayout wired to React Admin.

App shells​

ComponentUse it for
DashboardLayoutThe full admin shell: sidebar, header, search, breadcrumbs, settings panel, footer
AuthLayoutLogin, password reset and other pre-authentication screens
SimpleLayoutA standalone page outside the admin shell
DashboardContentThe padded, width-capped content container inside the dashboard shell

View shells​

ComponentUse it for
ViewContentThe frame every view renders into — title, actions, breadcrumbs, bottom bar
ShowShellA read-only detail screen built by hand
EditShell and CreateShellA form screen built by hand
FormShellThe form context and save toolbar the two form shells wrap
ListShellA list with the generated filter/toolbar arrangement
Property layoutsLabel + value rows, the way a generated detail lays fields out

How the three tiers stack​

A generated screen is three layers deep, and each one can be used on its own:

SchemaShow → ShowShell → ViewContent
(reads the schema) (owns the RA controller) (pure chrome)

Only the top layer knows about schemas. The two admin-layer shells take plain React Admin values, which is what makes them usable in an app that has no Habarico backend at all — the same path the library's own Storybook pages take.

caution

BaseLayout, FormLayout, ShowLayout, ListView and AdminPageContent no longer exist. They were replaced by the shells above: FormShell / PropertyFormLayout, ShowShell / PropertyShowLayout, ListShell, and DashboardContent.

See also​