Skip to main content

Tabs

In the portal: Settings, then Configurations, on the nav.tabs row.

What it is​

The bar along the bottom of the app has five tabs. You choose which of them a participant gets, in what order, under what words and with which icons.

The five destinations are built into the app, and a rename reaches the caption only. A tab named Wellbeing that goes to the Progress screen is still the Progress screen, because the destination is fixed to the key.

Five is the whole vocabulary. Content that needs a place of its own goes inside Explore, which holds up to eight tabs of its own.

What it looks like​

Tap any tab, or any row beside it, to see what that part of the app holds.

The five, in the order they ship.

keyDefault labelWhat it opens
homeHomeThe home screen
exploreExploreContent the participant can start themselves
progressProgressWhat the platform has recorded about that person
chatChatTheir conversations
settingsSettingsTheir profile and app settings

All five ship visible, with no overrides.

When you would change one​

You change the tabs when a screen does not belong in a particular deployment.

A worked example. A tenancy has no coaching staff, so the Chat tab opens on an empty list every time. Setting visible to false on chat removes it from the bar entirely, and the remaining four spread across the width. It is not greyed out and it is not a locked tab. It is gone.

A second example. A tenancy calls its participants members and wants Progress to read My results. That is a label override on the progress tab, and nothing else changes.

The controls​

The tab configuration is one list. Each entry has four fields.

FieldWhat it acceptsDefaultWhat changes on screen
keyone of home, explore, progress, chat, settingsrequiredWhich screen the tab opens. Use one of the five keys: any other value is left out of the bar.
visibletrue or falsetrueFalse removes the tab from the bar completely, and switches off any link pointing at it: a push notification or a content button aimed at a hidden tab does nothing, rather than opening a screen a participant has no way back from. So check what points at a tab before you hide it.
labelOverrideany text, or nothingnothingThe tab's caption. Nothing means the default label above.
iconOverridean icon name, or nothingnothingThe tab's icon. Nothing means the default icon.

The two override fields answer to either spelling. labelOverride and label_override are read as the same field, and so are iconOverride and icon_override. The value that ships with a new tenancy uses the underscore form, so that is what you will find already in the box. See Tabs and the header button for editing it.

The order of the list is the order of the bar. There is no separate position field. Move an entry up the list and its tab moves left.

Those four fields are the whole of a tab. The number of tabs, and what each one opens, are the same in every tenancy.

How it renders​

The bar always draws. If the tenancy has no tab configuration yet, or the phone has not synced one, the five defaults are used.

An unknown key is dropped, not shown as a broken tab. A configuration naming a sixth tab produces a five tab bar, and the drop is recorded in the app's own log so it is never silent.

Hiding a tab never leaves a participant stuck on it. Both phones move to the first tab still visible, or to Home if the list is somehow empty, the moment the new configuration arrives, mid session.

So hiding Home changes which screen the app opens on. The app starts on Home, and falls to the first visible tab in your list when Home is not one of them. Put chat first and set visible: false on home, and a participant lands in a conversation rather than on a list. That is one configuration change, not a different build, and it is the only way to change the app's first screen. Think about it before you do it: Home is where journeys deliver content, so a participant who never sees it never sees what was scheduled for them.

A malformed configuration never strands a participant. If the stored value cannot be read, both phones fall back to the five defaults and the bar keeps working. So if a tab change appears not to have taken effect, check the value for a formatting mistake before you assume it did not save.

An unrecognised icon name never leaves a blank tab. The phone draws the tab's default icon instead, so check the spelling if your icon has not appeared.

Set iconOverride and the iPhone draws your icon.

An icon override is honoured on both phones.

*
Today: the iPhone uses your icon. Android keeps its own default one.

Set a label override on home to fix the caption from first launch. Before a tenancy configuration arrives, a new Android install shows Today on the Home tab. Once the configuration syncs, both phones read Home, or whatever label you set.

Worked settings​

Hide Chat. One entry changed, visible: false on chat. Four tabs remain in their existing order.

Put Progress next to Home. Reorder the list to home, progress, explore, chat, settings. Nothing else changes, and no labels move.

A two tab app. Set visible: false on explore, chat and settings. Home and Progress remain. That is a real shape for a tenancy that wants a daily capture and a record of what was captured, and nothing else.

Next​

You get five destinations. You decide which of them a participant sees, in what order, and under what words. The bar always draws: if the configuration is missing or cannot be read, both phones fall back to the five defaults rather than leaving a participant with no way to move around.

Tabs and the header button is the configuration side: where the value lives and how to change it without breaking the bar.