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
  • !150

fix(ui): resolve 5 medium UI issues (Home, Hub, Login, Borrow, Transfer)

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Hung Hoang requested to merge hunghoang/fix/medium-ui-batch into develop Oct 27, 2026
  • Overview 20
  • Commits 11
  • Pipelines 10
  • Changes 16

Overview

Address five Medium UI bugs across Home, Hub, Login, Borrow, and Transfer to card. Four behavior fixes are verified. The misleading Transfer-to-card picker has been withdrawn until a per-card backend routing contract exists.

1. Home — Balance visibility eye affects the entire screen

  • Lark: https://hola-tech.sg.larksuite.com/record/MmmjrLFHPehH7Ocnb8MlZHSbgng
  • Module / Screen: Home
  • Priority: Medium
  • Actual: Tapping the eye toggles both the upper balance and the amounts below; hiding the upper balance also hides every amount on the screen. https://screenrec.com/share/FecyO1m6lM
  • Expected: The eye only toggles the upper balance and does not affect the amounts below. https://prnt.sc/A3OuzBaArRkh
  • Fix: Stop passing isBalanceHidden to Assets; the eye now controls only the upper balance in HomeHeader.
  • Commit: bbfd60b9

2. Hub — Software keyboard covers the calendar

  • Lark: https://hola-tech.sg.larksuite.com/record/UQXJrHCz5eRlVDcAfkHlNndPgZ0
  • Module / Screen: Hub
  • Priority: Medium
  • Actual: With the software keyboard open, tapping a date field opens the calendar underneath the keyboard. https://screenrec.com/share/6d7N8Vri0s
  • Expected: Tapping a date field dismisses the software keyboard and displays only the calendar.
  • Fix: DatePickerModal.present() dismisses the software keyboard centrally before presenting the calendar; redundant caller-side dismissals were removed.
  • Commit: 6544a138

3. Login — Black and empty screens flash during initial loading

  • Lark: https://hola-tech.sg.larksuite.com/record/Josfr8JjMejIgEctZM4lXFJtgLc
  • Module / Screen: Login
  • Priority: Medium
  • Actual: After login, the app shows a black screen, then an empty screen, before flashing and rendering the correct data. https://screenrec.com/share/wDP0NkuUGO
  • Expected: Render the correct loading and data states from the start.
  • Fix: Render a themed loading indicator instead of null during auth/profile bootstrap, use router.replace('/') after login, and add an explicit loading state to Assets to prevent an empty-state flash.
  • Commit: e86ad948

4. Borrow — Duplicate debt values

  • Lark: https://hola-tech.sg.larksuite.com/record/XQEnroZRaeZOdlcc2KBlUI4tg3b
  • Module / Screen: Borrow
  • Priority: Medium
  • Actual: The same debt value is displayed more than once. https://prnt.sc/a4LdlE2lXGRI
  • Expected: Display the value only once to avoid ambiguity.
  • Fix: Keep one exact debt value in the hero using formatAmount; remove the duplicate Borrowed row and do not replace it with a rounded-only display.
  • Commit: 663385fd

5. Transfer to card — Destination card cannot be selected

  • Lark: https://hola-tech.sg.larksuite.com/record/AzSyrhDaSebEFbc0JMjlBMu9gzb
  • Module / Screen: Transfer to card
  • Priority: Medium
  • Actual: With two cards available, the transfer automatically selects one card without letting the user choose. https://prnt.sc/TfkjAuSNbedf
  • Expected: Display the available cards and let the user choose the destination card.
  • Review remediation: Removed CardSelectSheet, cardId routing props, and all picker-only tests. The form retains the generic card-account destination and no longer claims that a selected card receives the funds.
  • Open dependency: A complete Bug 5 fix requires a backend/provider contract that routes deposits by cardId; the current API routes only by cardAccountId/cardholderNo.

Verification

  • pnpm lint: 0 errors.
  • pnpm type-check: pass.
  • Targeted Jest: 109/109 tests pass across 9 suites.
  • Maestro E2E passes the four behavior fixes and a guard proving the misleading picker is absent. Per-card deposit routing remains outside the flow.
  • E2E flow and fixture: fe/.maestro/medium-ui-batch/ (2972362f).
Edited Oct 27, 2026 by Hung Hoang
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: hunghoang/fix/medium-ui-batch