Skip to content
Documentation sections
Discover

Main Shell

What this screen is for

The bottom navigation bar wrapping every signed-in user. Discover, My Appointments and Profile always show; a Business tab is added once the account owns at least one business, and a Messages tab once it has at least one conversation. Switching between tabs keeps each branch's own screen stack alive.

When you would use this

A user wants to move from one area of the app to another — from discover to their appointments, to their business, or to their messages — and taps this bar; the shell itself is never a destination, only the move between them.

Who sees it

Every signed-in user sees it; the Business tab is added only for accounts that own at least one business, the Messages tab only for accounts with at least one conversation.

Where it lives

The screen exists only in the mobile app.

What you can do here

Move between the three fixed tabs

Discover, My Appointments and Profile show on every account; tapping a tab opens its branch, and tapping the already-open tab again returns that branch to its own first screen.

Show the Business tab automatically

Once the account owns at least one business, a Business tab is added, carrying a badge for how many appointment requests are pending.

Show the Messages tab automatically

Once the account has at least one conversation, a Messages tab is added, carrying a badge for how many conversations have an unread message.

Play a short slide on a tab change

Switching tabs makes the incoming screen slide gently into place; the direction of the slide follows which way the user moved.

Confirm the tap with a haptic

Tapping a tab triggers the device's selection haptic.

What the server accepts and refuses

Removing the last business automatically leaves the Business tab

If the account's last business drops out of the list while the Business tab is open, the user is moved back to the Discover tab automatically; the Messages tab has no such automatic exit — it is derived from a live watch on the conversation list, so it disappears on the next rebuild rather than pushing anyone off the tab they're on.

The badge is the count of unread conversations, not of messages

The number on the Messages tab counts how many conversations have an unread message, not the individual unread messages within any one conversation.