refactor(contacts): organize add address step (LIVE-33919) - #20272
refactor(contacts): organize add address step (LIVE-33919)#20272deepyjr wants to merge 2 commits into
Conversation
Web Tools Build Status
|
There was a problem hiding this comment.
Pull request overview
Refactors the Contacts “Add Address” step by reorganizing internal files into responsibility-based folders (AddressEntry, CurrencySelection, Flow, etc.) while keeping the package’s public API stable via updated barrel exports.
Changes:
- Moved Add Address implementation files into dedicated subfolders and rewired internal imports accordingly.
- Centralized flow/session types into
Flow/types.tsand updated consumers to import from the new location. - Split Address Entry into View / ViewModel / container components and added/updated unit tests to match the new structure.
Reviewed changes
Copilot reviewed 18 out of 25 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| features/flow/contacts/src/steps/AddAddress/web.ts | Updates web barrel exports to the new folder layout. |
| features/flow/contacts/src/steps/AddAddress/native.ts | Updates native barrel exports to the new folder layout. |
| features/flow/contacts/src/steps/AddAddress/model/ports.ts | Retargets type import to Flow/types. |
| features/flow/contacts/src/steps/AddAddress/index.ts | Keeps public API stable while pointing exports to new internal paths. |
| features/flow/contacts/src/steps/AddAddress/Flow/useAddAddressFlowViewModel.web.test.ts | Fixes imports after folder reorg. |
| features/flow/contacts/src/steps/AddAddress/Flow/useAddAddressFlowViewModel.ts | Fixes imports after folder reorg. |
| features/flow/contacts/src/steps/AddAddress/Flow/types.ts | New centralized type definitions for Add Address flow/session/view models. |
| features/flow/contacts/src/steps/AddAddress/CurrencySelection/useAddAddressCurrencySelectionViewModel.web.test.tsx | Fixes imports after folder reorg. |
| features/flow/contacts/src/steps/AddAddress/CurrencySelection/useAddAddressCurrencySelectionViewModel.ts | Updates imports to new featureFlags, model, and Flow/types locations. |
| features/flow/contacts/src/steps/AddAddress/Completion/ContactsAddAddressCompletion.web.tsx | Updates type import to Flow/types. |
| features/flow/contacts/src/steps/AddAddress/AddressName/types.ts | Updates type import to Flow/types. |
| features/flow/contacts/src/steps/AddAddress/AddressEntry/useContactsAddAddressEntryViewModel.web.ts | New web Address Entry view model extracted into AddressEntry/. |
| features/flow/contacts/src/steps/AddAddress/AddressEntry/useContactsAddAddressEntryViewModel.web.test.ts | Updates imports and keeps web Address Entry behavior covered by tests. |
| features/flow/contacts/src/steps/AddAddress/AddressEntry/useContactsAddAddressEntryViewModel.native.ts | Updates imports to Flow/types (logic retained). |
| features/flow/contacts/src/steps/AddAddress/AddressEntry/ContactsAddAddressPlaceholderView.native.tsx | Moves placeholder view into AddressEntry/ and updates type import. |
| features/flow/contacts/src/steps/AddAddress/AddressEntry/ContactsAddAddressPlaceholderView.native.test.tsx | Adds coverage for the moved native placeholder view. |
| features/flow/contacts/src/steps/AddAddress/AddressEntry/ContactsAddAddressEntryView.web.tsx | New web “View” component for Address Entry UI. |
| features/flow/contacts/src/steps/AddAddress/AddressEntry/ContactsAddAddressEntryView.native.tsx | New native “View” component for Address Entry UI. |
| features/flow/contacts/src/steps/AddAddress/AddressEntry/ContactsAddAddressEntry.web.types.ts | Updates web types to import from Flow/types and new folder structure. |
| features/flow/contacts/src/steps/AddAddress/AddressEntry/ContactsAddAddressEntry.web.tsx | New web container wiring ViewModel → View. |
| features/flow/contacts/src/steps/AddAddress/AddressEntry/ContactsAddAddressEntry.types.ts | Updates native types to import from Flow/types. |
| features/flow/contacts/src/steps/AddAddress/AddressEntry/ContactsAddAddressEntry.native.tsx | New native container wiring ViewModel → View. |
| features/flow/contacts/src/steps/AddAddress/AddressEntry/ContactsAddAddressEntry.native.test.tsx | Updates imports after moving types to Flow/types. |
| features/flow/contacts/README.md | Documents the new Add Address folder layout. |
| .changeset/tidy-address-flow.md | Adds a patch changeset for the internal reorg. |
c2c67e0 to
23959ea
Compare
Rsdoctor Bundle Diff AnalysisFound 7 projects in monorepo, 7 projects with changes. 📊 Quick Summary
📋 Detailed Reports (Click to expand)📁 desktop-mainPath:
📁 desktop-preloaderPath:
📁 desktop-rendererPath:
📁 desktop-webviewDappPreloaderPath:
📁 desktop-webviewPreloaderPath:
📁 desktop-workersPath:
📁 mobilePath:
Generated by Rsdoctor GitHub Action |
23959ea to
6d413dd
Compare
|
6d413dd to
201bdd3
Compare
201bdd3 to
d174f25
Compare
d174f25 to
ad4ccc5
Compare
ad4ccc5 to
d1ed681
Compare
d1ed681 to
c598cbb
Compare



✅ Checklist
npx changesetwas attached.- Add Address internal file organization and public Flow API imports
📝 Description
This stacked refactor keeps the Add Address behavior unchanged while making the step easier to navigate and maintain.
Address entry, currency selection, and flow state files now live in dedicated folders. Existing AddressName, Completion, and model folders remain in place. The root contains only public barrels, and the package public API is unchanged.
❓ Context
🧐 Checklist for the PR Reviewers