Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • A Ahad Mobile
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • holatech
  • Ahad Mobile
  • Merge requests
  • !153

fix(ui): resolve Card Withdraw and Deposit issues

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Hung Hoang requested to merge hunghoang/fix/card-withdraw-deposit-ui into develop Oct 28, 2026
  • Overview 0
  • Commits 15
  • Pipelines 3
  • Changes 20

Overview

Resolve the reported Card, Withdraw bank, and Deposit UI issues from develop.

Bug links and changes

  1. Card keyboard covers lower inputs
    https://hola-tech.sg.larksuite.com/record/A6rLriMRue1W5IcnJAmlOP04gTg
    Use KeyboardAwareScrollView on Android so focused lower fields move above the keyboard. Preserve the existing iOS avoidance behavior verified by Maestro. Use explicit React Native flex and padding styles on both platforms.

  2. Completed Withdraw bank form does not advance
    https://hola-tech.sg.larksuite.com/record/U80ErhS7DeMFZ0cSPyflwvtigPe
    Accept valid nine-digit ABA routing numbers and enable Save. Show a visible validation error after blurring an incomplete routing field, while composing the shared Input blur handlers so focus styling still resets. Integration coverage proves Save opens passcode and submits the valid beneficiary payload.

  3. Card typography differs from the app
    https://hola-tech.sg.larksuite.com/record/GV9PrMUREeMei5c2ZXZl4AmggKc
    Replace platform serif overrides with DM Sans for the Card title and section labels.

  4. Routing input accepts only eight digits
    https://hola-tech.sg.larksuite.com/record/O5JbrBzPjeYpcwcpHYSl6cKOgqg
    The current develop implementation already accepts nine digits. Maestro verifies 021000021 remains intact with no routing error.

  5. Deposit from All has no Cash/Crypto icons
    https://hola-tech.sg.larksuite.com/record/WmHArpDP2e9fD0cEKRllCgWrgOf
    Reuse the Home DepositOptionsModal from All services, including its Landmark and Bitcoin icons.

Review hardening

  • Compose both onFocus and onBlur in the shared Input, with real-component focus styling tests.
  • Reset routing validation while editing and after clearing the field.
  • Open Deposit and Withdraw sheets only after the All services modal transition.
  • Use KeyboardStickyView for the Android submit footer and move horizontal padding to contentContainerStyle.
  • Remove the orphaned /add-funds route, component, tests, and stack registration.
  • Use configured NativeWind DM Sans classes instead of hardcoded font families.

Verification

  • Full Jest: 1639/1639 tests, 155 suites.
  • Cardholder apply integration: 32/32 tests after the final keyboard change.
  • Withdraw bank and ABA validation: 28/28 tests.
  • TypeScript pnpm type-check: pass.
  • Full ESLint: 0 errors.
  • Maestro CLI on iOS with an isolated localhost fixture: pass for All > Deposit icons, Card typography, lower Card fields above the keyboard, incomplete-routing blur errors, and valid nine-digit routing input.
  • Maestro flow: fe/.maestro/card-withdraw-deposit-ui/verify.yaml.

Android emulator is not installed on the verification host; the Android keyboard fix uses KeyboardAwareScrollView for focused fields and KeyboardStickyView for the submit footer, while iOS behavior is visually rechecked.

Edited Oct 28, 2026 by Hung Hoang
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: hunghoang/fix/card-withdraw-deposit-ui