App Shell

The nx application shell: fixed sidebar, main content card, page chrome and the optional scope top bar.

$bunx shadcn@latest add @nx-ui/app-shell
Registry item
Installs withbuttonsidebartooltiputils

Anatomy — live

Compose it with a sidebar slot and page content. The gutter colour comes from the inset-variant sidebar; the content mounts inside a rounded, ringed page card that is itself the scroll container. This is the real block at full size, rendered live — open it in its own window to feel the collapse and scroll behaviour.

/view/block-app-shell
Open full screen

Top bar — the scope switcher above the page card

Give AppShell a `topBar` and the nx header strip renders on the gutter, above the rounded card: ScopeBreadcrumbs (org ▸ project context switcher) on the left, actions on the right — a tooltip'd help button by default. Existing usages without `topBar` are untouched. The full composition, with the sliding scoped nav, is the scoped-app example (/view/scoped-app).

Riverside Quarter — Movements

The bar above belongs to the shell, not this card — scroll the card and it stays put. Switch the organisation or project in the breadcrumbs; clear the project via its menu's "All projects".

Header patterns

The page card holds any chrome. Here a header row carries a search field and actions above a scrolling list — the card scrolls independently of the gutter.

Search movements…

MV-4821 · Barrow Hill

Green waste

Delivered

MV-4822 · Deeside

Aggregate

In transit

MV-4823 · Wrexham

Soil

Awaiting sign-off

MV-4824 · Mostyn Docks

Timber

Delivered

Empty state

A realistic composition: the shell with a first-run empty state in the page card. The gutter and sidebar frame the canvas while an operations team is prompted to log their first movement.

Movements

Barrow Hill

No movements logged yet

Waste movements you record for this site will appear here, ready to reconcile against your diversion targets.

Import CSV

API reference

Exported parts and their props, extracted from the component source.