feat(menu): add the Finish Your Profile checklist to the You tab - #1346
Merged
Conversation
…orialItem The You tab needs the same checklist card the wallet already draws, and a feature module cannot reach another feature's internal package. core-ui is where shared composables live and the convention plugin already puts it on every feature module, so the move only changes the package. The strings and drawables the component reads stay in :apps:flipcash:core, which core-ui depends on, so the R import is unchanged. TutorialItem gains nested Wallet and Profile families and the composable gains a type parameter, so each screen's when stays exhaustive over the items it can actually be given. The card radius moves to shapes.extraSmall, which is the 6 dp the design asks for.
Copy from node 9544:18140. The people-in-a-circle glyph has no equivalent in the repo, so it comes from the design export rather than being hand-drawn.
ProfilePicture is live. MinimumTip is drawn and inert — nothing backs a user-set minimum yet on either platform — so the checklist reads 1/2 at best and the card stays put, which is the state node 9641:17019 draws.
UserProfile.profilePicture is the completion signal; null while the profile is unresolved so the card is never drawn against a guess.
The photo row reuses AppRoute.UpdateUserProfile with includePhoto only, which buildUpdateUserProfileStack reduces to a single UpdateProfileStep.Photo.
Sits between the full-screen caption and the tip link, per node 9641:17031.
Per node 9641:16758 the title moves into the app bar and the button reads Save. Applied to every entry into the step, onboarding included, so the screen does not read differently depending on how it was reached.
Four gaps against node 9641:17022 showed up once the card was on a device: - No divider between the checklist and the link row (node 9641:17048). - Rows sat 40dp apart because each row carried the 20dp inset itself. The padding now belongs to the box, and the rows are spaced by one step. - The title rendered at 20sp/W500: `screenTitle` is overridden app-wide in FlipcashDesignSystem, and the design asks for Avenir Demi 18. - The gap under Full Screen was 65dp against roughly 32 in the design. The row padding move shrinks the ripple to the 40dp content box, still above the minimum touch target. NewUserTutorial is shared, so the wallet tab's tutorial card picks up the same spacing and title size.
The description's line height already separates it from the title, so the extra 5dp only pushed the two rows apart.
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 You tab had no prompt to finish setting up a profile. This adds the "Finish Your Profile" checklist from node 9641:16758, between the tip card's "Full Screen" caption and the tip-link row.
It reuses the wallet tab's
NewUserTutorialrather than adding a second checklist component. To make that work the component moved from:apps:flipcash:features:balanceto:apps:flipcash:core-ui, andTutorialItemsplit into two nested sealed families —TutorialItem.Walletfor the wallet milestones,TutorialItem.Profilefor these two steps — so each call site'swhenstays exhaustive.NewUserTutorialis now generic overT : TutorialItem. The convention plugin already putscore-uion every feature module, so no build files changed.The photo row is live: it pushes
AppRoute.UpdateUserProfilewithincludeName = false, includePhoto = true, landing straight on the picker. Completion comes fromprofile.profilePicture != null, so the row shows a green check and stops responding once a photo is set.The minimum-tip row is drawn but inert. Nothing backs a user-set minimum tip on either platform yet; it's rendered because node 9641:17019 shows the counter as
1/2with both rows present. That's separate scope.The photo step is retitled everywhere it appears, including onboarding: the title moves into the app bar as "Set Profile Picture", the body title and subtitle are gone, and the primary button reads "Save" instead of "Next".