Skip to content

feat(myaccount): make User Profile show the identity instead of editing it - #1351

Merged
bmc08gt merged 4 commits into
code/cashfrom
feat/myaccount-profile-identity
Aug 28, 2026
Merged

feat(myaccount): make User Profile show the identity instead of editing it#1351
bmc08gt merged 4 commits into
code/cashfrom
feat/myaccount-profile-identity

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

User Profile (staff/beta) carried its own edit entry points for the display name
and the photo. Both pushed AppRoute.UpdateUserProfile — the destination My
Account already offers one level up, so two screens answered the same "where do
I change this?" and neither was obviously the right one.

The edit routes are gone. My Account is now the single place profile fields are
changed, and User Profile describes the account.

What the header gains is the public identity it was missing: @handle and the
flipcash.com link, tap to copy. The row is the You tab's row down to the copy
glyph holding a checkmark for 1.5s, because the clipboard gives no feedback of
its own. Sharing that row meant abbreviatedLink() had to move — myaccount
depends on :apps:flipcash:shared:menu, not :apps:flipcash:features:menu, so
it now lives in :apps:flipcash:core where both feature modules can reach it.
One implementation means the two screens can't drift on how a link reads.

With no handle claimed the header states the minimum balance instead, read from
userFlags.resolvedFlags.usernameMinBalance — the same flag the claim screen's
rejection dialog quotes, so the two can't name different thresholds. It's stated,
not actionable: claiming happens on the You tab.

Two smaller fixes came out of running it on device. The taller header made the
list exactly one screen tall, which left it unable to scroll at all and put the
last card under the gesture bar; bottom contentPadding plus
navigationBarsPadding fixes both. And User Profile moves to the top of the My
Account list, so the account being described comes before the settings that
change it.

It sat last, below the settings that edit it. Leading with it puts the account
being described before the rows that change it.

Order comes from FullMenuList, and the existing assertions use any {}, so the
reorder was invisible to the tests. Adds one that pins the full order.
User Profile needs the same link formatting the You tab uses, but it can't
reach the helper: myaccount depends on :apps:flipcash:shared:menu, not
:apps:flipcash:features:menu. Both feature modules get :apps:flipcash:core
from the convention plugin, so the helper moves there and becomes public.

One implementation means the two screens can't drift on how a link reads.
The screen carried its own edit entry points for the display name and the
photo, so two places answered "where do I change this?" Both routes pushed
AppRoute.UpdateUserProfile — the same destination My Account already offers
one level up. The header is now read only and My Account is the single answer.

What the header gains is the public identity it was missing: @handle and the
flipcash.com link, tap to copy. The link row is the You tab's row, down to the
copy glyph holding a checkmark for 1.5s after the tap, because the clipboard
gives no feedback of its own.

With no handle claimed it states the minimum balance instead, read from
userFlags.resolvedFlags.usernameMinBalance — the same flag the claim screen's
rejection dialog quotes, so the two can't name different thresholds. Stated
rather than actionable: claiming happens on the You tab.

The taller header also made the list exactly one screen tall, which left it
unable to scroll and put the last card under the gesture bar. Bottom
contentPadding plus navigationBarsPadding fixes both.
@bmc08gt bmc08gt self-assigned this Aug 28, 2026
@github-actions github-actions Bot added the type: feature New functionality label Aug 28, 2026
navigationBarsPadding sat on the list itself, so the gesture-bar inset
shortened the viewport and cut the last card off at the padded edge. The inset
moves into contentPadding: the list fills the window again and the last card
scrolls clear of the bar.

The edges now fade with verticalScrollStateGradient, at the top and the bottom,
so content reads as running past the app bar and the gesture bar rather than
stopping at them.

The bar title goes too. The header names the account directly below it, so a
title said the same thing twice.
@bmc08gt
bmc08gt merged commit e72c2e9 into code/cash Aug 28, 2026
3 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