Skip to content

Onboarding: tighten Figma fidelity across the flow - #3068

Merged
StylianosGakis merged 5 commits into
developfrom
fix/onboarding-figma-fidelity
Aug 20, 2026
Merged

Onboarding: tighten Figma fidelity across the flow#3068
StylianosGakis merged 5 commits into
developfrom
fix/onboarding-figma-fidelity

Conversation

@StylianosGakis

Copy link
Copy Markdown
Member

What

Tightens the onboarding flow's fidelity to the updated Figma ("App P2 2026"), after a screen-by-screen comparison. Mostly typography, spacing, and token corrections, plus two content/behaviour changes on the co-insured and connect-payment steps.

Changes

Shared step card (OnboardingContractCard, used by co-insured + pet ID)

  • Row title 18sp → 14sp (label), secondary line → textSecondaryTranslucent, and dropped the shadow the design doesn't have.
  • Renamed the generic exposureName param to secondaryText.

Co-insured step

  • Row now summarises the contract's people instead of the exposure name: a count while info is still missing ("1 co-owner", "5 co-insured"), switching to the names once complete ("Sladan, Mariia & Sonny").
  • Data comes from widening the existing Onboarding query with coInsured/coOwners.firstName (no backend change) and carrying counts + names through OnboardingData → repository → CoInsuredRow.
  • Count uses the new ONBOARDING_NUMBER_OF_COINSURED / ONBOARDING_NUMBER_OF_COOWNERS plurals (correct singular/plural per language).

Connect payment

  • Bank card: 24dp corners, dashed border (new local dashedBorder modifier), and the "Bank" label in the serif face via ONBOARDING_CONNECT_PAYMENT_BANK_LABEL.
  • Kept the pillow symbol for now (no reusable flat app-icon asset in a feature-reachable module).

Other steps

  • Invite: card corner 24dp, card width 72% → 62%, en dash on the incentive.
  • Bundle: 8dp vertical row padding so pillow-to-pillow spacing matches the design (works with the equal-height/wrap layout).
  • Theme + payment footnote + "you can add this later" helpers: → textSecondaryTranslucent, helper size finePrintlabel.

Deliberately NOT changed (iOS-only styling, accepted by design)

  • Liquid Glass circular nav buttons + separately-centered progress bar (Android keeps the flat inline treatment).
  • Theme picker stays a radio (Figma shows a checkbox).
  • Pet-ID number on completed rows is not shown (the number isn't returned by any query; would need a new backend field). Row stays name-only.
  • Connect-payment "connected" state keeps the header (anti layout-shift) vs Figma dropping it.

Verification

  • Compile, ktlint, and :feature-onboarding unit tests green.
  • Walked the whole flow on a physical Pixel 6 Pro in both light and dark: welcome, consent, phone, theme, co-insured (count + names states), invite, connect payment (dashed card + serif "Bank"), bundle. All render as intended and the localized "1 co-owner" is correct.

Notes

  • No backend change required.
  • dashedBorder is local to the payment file; can be promoted to the design system if reused.

Row cards (co-insured, pet ID): row title to 14sp label, secondary line to
translucent secondary, drop the shadow the design does not have.
Add-info-later helpers: 14sp label + translucent (were 12sp finePrint).
Theme: option subtitle and bottom caption to translucent secondary.
Bundle: 8dp vertical row padding so pillow-to-pillow spacing matches the
design without breaking the equal-height/wrap layout; subtitle translucent.
Invite: card corner 24dp, card width 62%, en dash on the incentive.
Payment: footnote to translucent secondary.
Co-insured step: rows now summarise their people instead of the exposure
name. Widen the Onboarding query to fetch coInsured/coOwner firstName, carry
per-contract counts and names through OnboardingData and CoInsuredRow, and
render a count while info is still missing, switching to the names once the
row is complete (matching the two design states). The shared contract card's
secondary slot is renamed secondaryText; pet ID keeps passing the pet name.
Connect-payment: bank card to 24dp corners, serif "Bank" label, and a dashed
border (new local dashedBorder modifier), matching the design.

The "N co-insured"/"N co-owners" count is hardcoded English with a Lokalise
TODO, since no count string exists yet.
'1 co-owner' instead of '1 co-owners' in the hardcoded count fallback. The
Lokalise plural string (still a TODO) will supersede this.
Replace the hardcoded English count fallback with the ONBOARDING_NUMBER_OF_COINSURED
/ ONBOARDING_NUMBER_OF_COOWNERS plurals (correct singular/plural per language), and
the hardcoded "Bank" with ONBOARDING_CONNECT_PAYMENT_BANK_LABEL.
@StylianosGakis
StylianosGakis marked this pull request as ready for review August 20, 2026 07:53
@StylianosGakis
StylianosGakis requested a review from a team as a code owner August 20, 2026 07:53
Lokalise switched the ONBOARDING_NUMBER_OF_COINSURED / _COOWNERS plural
placeholder from %s to %d (needed for iOS). Works on Android too: the count is
passed as an Int to pluralStringResource, so %d formats it correctly. Verified
live ("1 co-owner").
@StylianosGakis
StylianosGakis merged commit e63cb91 into develop Aug 20, 2026
4 checks passed
@StylianosGakis
StylianosGakis deleted the fix/onboarding-figma-fidelity branch August 20, 2026 09:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants