VuiAdmin docs

App layout

The VuiAdmin app shell: sidebar, header, and the six shell layouts you can switch between at runtime.

Every screen except the two authentication pages and the 404 renders inside one shell. The shell is the sidebar, the header, the content area and the footer, and it is one component per edition reading one shared description of what a shell is.

The parts

The sidebar is a two-group navigation with icons, collapsible parents and a submenu under each. The current row is marked with aria-current="page" as well as a colour, because which page you are on is information and not decoration. Below the navigation sits the promo card.

The header carries the sidebar toggle, a search field with a ⌘K hint, the theme switch, a notifications menu and the account menu. On a narrow screen the search collapses to its icon.

The content area is a single column with a maximum width, so a dashboard on a very wide monitor does not stretch a table to two thousand pixels.

The footer is one line: the company, the year and the licence. It reads from environment variables, so shipping this template under your own name does not mean editing a component.

One navigation list, six editions

The sidebar's contents come from FREE_NAV in @viliha/vui-core, and the route list every edition checks itself against is derived from it. That is why a nav item pointing at a page that does not exist is a test failure rather than a link to a 404.

If you are adding your own screens, add them to the nav list and the route table together. Each edition's test suite holds the two against each other in both directions.

The six shell layouts

The /layouts screen is not a gallery. Picking a layout there changes the shell for the whole application, and the choice is remembered, so you can send someone the demo in the arrangement you were looking at.

LayoutWhat it is for
ApplicationThe default. Grouped navigation with icons, and plus-minus disclosure.
SectionedSeveral titled sections, sentence case, chevron disclosure.
DocumentationA version switcher and a sidebar search, over a flat list with no icons.
Documentation, collapsibleThe same, with each section able to fold away.
Documentation, markedSections open, and the current page marked with a rule rather than a fill.
Icon railIcons only, for a dense application where the labels are learned. The submenus become flyouts.

The rail is worth a look before you decide you do not need it. It is the arrangement that survives on a laptop screen when your application grows past fifteen destinations.

The six shell layouts, switchable at runtime: application, sectioned, three documentation variants and an icon rail

Screens that render outside the shell

Three, and each for a reason:

  • Sign in and sign up, because a page for someone who has not signed in should not offer them navigation around it.
  • The 404, because a not-found page wrapped in working navigation implies the navigation is trustworthy on a page that has just failed to resolve an address.

On this page