Skip to content

[Due for payment 2026-06-16] [$250] Migrate PaymentCardCurrencyModal to @react-navigation modal screen #90470

Description

@mountiny

Context

This is a sub-issue of #53493 (Replace modal screens with modals from @react-navigation).

For full background and migration approach, see the triage analysis comment and the sub-issue breakdown comment.

Problem

PaymentCardCurrencyModal is currently implemented using react-native-modal, which causes animation inconsistencies on native platforms.

Migration approach (Group 2 — Lift local useState to Onyx)

  • File: src/components/AddPaymentCard/PaymentCardCurrencyModal.tsx
  • Used by: Only PaymentCardChangeCurrencyForm.tsx
  • On select: onCurrencyChange(selectedCurrency)setCurrency(...) local state, consumed by changeBillingCurrency(currency, values) on form submit
  • State to lift: currency in PaymentCardChangeCurrencyFormCHANGE_BILLING_CURRENCY_FORM draft or a dedicated Onyx key.

Steps

  1. Lift the currency state from PaymentCardChangeCurrencyForm to the CHANGE_BILLING_CURRENCY_FORM draft or a dedicated Onyx key.
  2. Create a new @react-navigation modal route for currency selection.
  3. Extract the modal content into a standalone screen component that writes the selected currency to Onyx.
  4. Replace the <PaymentCardCurrencyModal /> usage with a navigation call.
  5. Test the currency change flow on iOS, Android, and web.

Reference

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~022054512639937790325
  • Upwork Job ID: 2054512639937790325
  • Last Price Increase: 2026-05-13
Issue OwnerCurrent Issue Owner: @mallenexpensify

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionDailyKSv2ExternalAdded to denote the issue can be worked on by a contributor

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions