Repository navigation
feat(nav): reorder the tab bar, and give the scanner and You new glyphs - #767
Merged
Merged
Conversation
The scanner tab wore a viewfinder, which named the camera rather than what it is for: reading someone's tip card. It now carries the tip card glyph, and the You tab takes the people circle the scanner's slot left free — the icon it draws when there is no profile photo to draw instead (node 10000:111297). Chat also moves from third to second, beside the scanner that feeds it, so the bar reads scan, chat, wallet, You. `HomeTab`'s declaration order is the bar's order, and the launch tab is `initial`, so moving the cases does not change where the app opens. `NavBarButton.tabs` on Android holds the same four in the same order. The people circle gets a filled twin for its selected state. The design file draws the You tab only as an outline, so that weight comes from Material Icons' `account_circle` — the same glyph solid, and the same place Android's people circle takes its selected weight from, so the two bars fill alike. Both tab-bar paths — the SwiftUI pill and the iOS 26 `UITabBarItem` bar — take their glyphs from `HomeTab.iconName(isSelected:)`, so the pair covers both. `NavScan`/`NavScanSelected` are now unreferenced and go with it; the new-user tutorial's "Scan a Tip Card" row takes `NavTipCard`, the same glyph as the tab it points at.
bmc08gt
force-pushed
the
feat/nav-tab-icons
branch
from
September 14, 2026 21:59
4b25768 to
abdc26b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The scanner tab wore a viewfinder, which named the camera rather than what it is for: reading someone's tip card. Node 10000:111297 swaps it for the tip card glyph and hands the You tab the people circle the scanner's slot left free — the icon it draws when there is no profile photo to draw instead.
The bar's order
Chat moves from third to second, beside the scanner that feeds it, so the bar reads scan, chat, wallet, You.
HomeTab's declaration order is the bar's order and the launch tab isHomeTab.initial, so moving the cases doesn't change where the app opens. Android'sNavBarButton.tabsholds the same four in the same order after code-android-app#1462.Where the filled people circle comes from
The design file draws the You tab only as an outline, so there is no filled twin to export. Material Icons'
account_circleis the same glyph solid, and it is where Android's people circle takes its selected weight from too — so the two bars fill alike rather than each inventing a treatment. Knocking the person out of a solid body is whatNavWalletSelectedandNavTipCardSelectedalready do.The people-circle branch is only reached when the profile has no picture at all:
ProfileTabSlotis nil in exactly that case, and a pending picture keeps the ring rather than falling back to the glyph.Both bars, one map
The SwiftUI pill (
HomeTabBar) and the iOS 26UITabBarItemprobe both readHomeTab.iconName(isSelected:), so the remap and the new pair cover both paths with no second edit.NavScan/NavScanSelectedlose their last caller and are deleted. The new-user tutorial's "Scan a Tip Card" row takesNavTipCard, the same glyph as the tab it points at.