Skip to content

feat(navbar): show the profile photo on the You tab - #1347

Merged
bmc08gt merged 3 commits into
code/cashfrom
feat/tab-bar-profile-avatar
Aug 27, 2026
Merged

feat(navbar): show the profile photo on the You tab#1347
bmc08gt merged 3 commits into
code/cashfrom
feat/tab-bar-profile-avatar

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

Node 9641:17130 replaces the You tab's glyph with the account's own avatar once a photo is set: a circle inset in the icon slot, ringed in white, fading with the tab like the other glyphs. Without a photo the tab keeps ic_nav_tipcard.

NavigationBar lives in :apps:flipcash:core-ui, below the profile layer, so it takes the avatar as a slot rather than reaching for a MediaItem itself. AppNavigationBar supplies it via ContactAvatar, which picks the rendition matching the measured size and bridges the load with the item's BlurHash.

The read from UserManager is gated on AuthState.Ready, matching the tip card and the profile checklist: a named account restores its cached profile before auth completes, so an ungated read would show the previous account's avatar on the way in.

The white ring is drawn over the photo rather than behind it, so it survives whatever background the avatar paints for itself.

Node 9641:17130 replaces the You tab's glyph with the account's own avatar
once a photo is set: a circle inset in the icon slot, ringed in white, fading
with the tab like the other glyphs.

NavigationBar lives in core-ui, below the profile layer, so it takes the
avatar as a slot and keeps the glyph when the caller passes null.
AppNavigationBar reads the picture from UserManager, gated on Ready for the
same reason as the rest of the profile-driven chrome: a named account restores
its cached profile before auth completes, so an ungated read would show the
previous account's avatar on the way in.
@bmc08gt bmc08gt self-assigned this Aug 27, 2026
@github-actions github-actions Bot added the type: feature New functionality label Aug 27, 2026
The profile read, its Ready gate and the slot it produces are one idea; giving
them a name keeps AppNavigationBar's body to the three flows it reads. The
distinctUntilChanged goes with it — collectAsStateWithLifecycle already skips
an equal value.
@bmc08gt
bmc08gt merged commit 2426847 into code/cash Aug 27, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: feature New functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant