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
InitialListValueSelectorModal is currently implemented using react-native-modal, which causes animation inconsistencies on native platforms.
Migration approach (Group 3 — Write to known form draft)
Used via InputWrapper in only one place with a known formID/inputID. The new navigation page writes directly to the Onyx form draft, and FormProvider merges it reactively.
- File:
src/pages/workspace/reports/InitialListValueSelector/InitialListValueSelectorModal.tsx
- Used by: Only
InitialListValueSelector → CreateReportFieldsPage.tsx
- On select:
updateValueInput(initialValue) → onInputChange(value === initialValue ? '' : initialValue) (toggle behavior)
- State destination: Form
WORKSPACE_REPORT_FIELDS_FORM, field initialValue
Steps
- Create a new
@react-navigation modal route for initial list value selection.
- Extract the modal content into a standalone screen component.
- On selection, write directly to
WORKSPACE_REPORT_FIELDS_FORM form draft field initialValue via Onyx (preserving the toggle behavior: if selected value equals current value, write empty string), then navigate back.
- Replace the
<InitialListValueSelectorModal /> usage with a navigation call.
- Test the report fields creation flow on iOS, Android, and web.
Reference
Upwork Automation - Do Not Edit
- Upwork Job URL: https://www.upwork.com/jobs/~022054512687743799204
- Upwork Job ID: 2054512687743799204
- Last Price Increase: 2026-05-20
Issue Owner
Current Issue Owner: @ShridharGoel
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
InitialListValueSelectorModalis currently implemented usingreact-native-modal, which causes animation inconsistencies on native platforms.Migration approach (Group 3 — Write to known form draft)
Used via
InputWrapperin only one place with a knownformID/inputID. The new navigation page writes directly to the Onyx form draft, andFormProvidermerges it reactively.src/pages/workspace/reports/InitialListValueSelector/InitialListValueSelectorModal.tsxInitialListValueSelector→CreateReportFieldsPage.tsxupdateValueInput(initialValue)→onInputChange(value === initialValue ? '' : initialValue)(toggle behavior)WORKSPACE_REPORT_FIELDS_FORM, fieldinitialValueSteps
@react-navigationmodal route for initial list value selection.WORKSPACE_REPORT_FIELDS_FORMform draft fieldinitialValuevia Onyx (preserving the toggle behavior: if selected value equals current value, write empty string), then navigate back.<InitialListValueSelectorModal />usage with a navigation call.Reference
@react-navigation#53493Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @ShridharGoel