Skip to content

Navigation zones

Your app’s structure is the set of features you place and where you place them. There are five zones, and each one behaves differently on a phone.

ZoneWhere it appearsCapacity
Bottom NavA tab bar fixed to the bottom of the screenUp to 8
Top NavA tab strip under the app headerNo limit
Upper NavA header bar stacked above the top navUp to 3, none on Free
Side NavA drawer that slides in from the edgeNo limit
BackgroundNot navigation — screens reached by tappingOne of each

The primary navigation, and the one your members will use most. Put the three to five things people open every day here.

Capacity is eight, on every plan. That is a layout limit rather than a commercial one: Flutter’s tab bar degrades past about eight destinations, and the cap stops you shipping something unusable.

Two styles: a standard bar, or floating glass, which lifts the bar off the bottom edge with a translucent ground. There is also a hide on scroll option that gets the bar out of the way while reading.

A strip of tabs under the header, for switching between related views. It has no cap, because the strip scrolls horizontally.

Useful for a set of peers — Feed, Groups, Events — where bottom navigation is already full. It also supports hide-on-scroll.

A second header bar stacked above the top nav, sharing its row with the menu button, the logo and the title.

Capacity is three, and that is a layout limit — there is only so much room beside a logo. Upper navigation is not included on Free; Pro and Unlimited both get all three slots.

Each feature can override whether it shows the upper bar, or inherit the app’s default.

A drawer, opened by a Sidebar Trigger feature placed in another bar. Use it for everything that matters but is not daily: account settings, help, sign out, secondary sections.

Two things it does that no other zone does:

Parent menus. A Parent Menu is a group header holding up to five sub-items, so a long drawer stays readable.

More than one drawer. You can define several named drawers and have different Sidebar Trigger features open different ones.

Placing features across the five navigation zones

Not navigation. These are screens your members reach by tapping something rather than by choosing a destination:

  • Single Post — tapping a post in a list or a feed.
  • Single Page — tapping a link to a WordPress page.
  • Activity Thread — tapping a post’s comments.
  • Verified Users and Online Users — badges and indicators shown in other screens.

Only one of each is allowed. Adding a second is refused.

A structure that works for most communities:

  • Bottom Nav: Feed, Directory, Chat, Profile — the daily four.
  • Side Nav: Settings, Events, Groups, Notes, sign out.
  • Background: Single Post, Single Page, Activity Thread.
  • Top Nav: nothing, until you have a set of peers that needs it.

Start smaller than you think. Every screen you place is a screen your members have to understand, and an empty tab is worse than an absent one.

SymptomCauseFix
A bar refuses another tabBottom is capped at 8, upper at 3Move something to the side drawer
Upper Nav will not accept anythingUpper navigation is not on FreeSee Plans and limits
The drawer never opensNo Sidebar Trigger is placed in a visible barPlace one in the bottom or top bar
Tapping a list item does nothingThe matching background feature is missingAdd it on the Background tab
A tab is missing for some membersA role restriction is set on itCheck the tab’s Restrictions

Feature settings.