-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
feat: Add NFTs full page #21647
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat: Add NFTs full page #21647
Conversation
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
| </> | ||
| } | ||
| numColumns={3} | ||
| {...flashListProps} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: FlashList Data Prop Override Causes Grid Break
The FlashList in NftGrid expects its data prop to be an array of NFT rows (Nft[][]) for its new layout. Spreading flashListProps after data means an external data prop (e.g., Nft[]) can override this, leading to a type mismatch in renderItem and breaking the grid display.
| assetType: 'collectible', | ||
| }); | ||
| expect(mockCreateEventBuilder).toHaveBeenCalled(); | ||
| expect(mockTrackEvent).toHaveBeenCalled(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Mocking Conflicts with Imported Modules
jest.doMock is used within test cases for modules that are already imported or globally mocked. This prevents the specific mocks from taking effect, causing tests to use the real or globally mocked implementations instead of the ones defined in the test. This can lead to unexpected test behavior or failures.
Description
This PR adds the NFTs Full page to the wallet
Changelog
CHANGELOG entry: null
Related issues
Fixes: https://consensyssoftware.atlassian.net/jira/software/c/projects/DSYS/boards/1888?selectedIssue=DSYS-246
Manual testing steps
Screenshots/Recordings
Before
After
NFTs Full View
https://github.com/user-attachments/assets/4b6fe582-d5c8-4e3a-8f8e-132047cc1b9e
NFTs Tab still functional
https://github.com/user-attachments/assets/104b9d20-eb88-429f-9a60-f6475a9eea7d
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Adds a full NFTs view with navigation/routes and updates NFT grid, control bar, and Add NFT UI/components.
Views/NftsFullViewwith header +BaseControlBarandNftGrid; registered routeRoutes.WALLET.NFTS_FULL_VIEWand stack screen inMainNavigator.NftGridtab usage withNFTsTabViewwrapper inViews/Wallet.AddAssetregistration to root stack (headerShown: false).WALLET.TOKENS_FULL_VIEWandWALLET.NFTS_FULL_VIEW.NftGrid: acceptsonAddCollectibleandflashListProps; layout renders 3-column rows; removes internalBaseControlBar.BaseControlBar: add optionalstyleprop; minor style tweaks (alignItems).AddCustomCollectible: replaceActionViewwith scrollable content + bottom CTAButtons; style updates.CollectibleMedia.styles: usecolors.background.sectionfor text container.NftGridItem: remove item padding.AddAsset: useBottomSheetHeaderfor title/back.wallet.view_all_tokensandwallet.view_all_nftsstrings.NftsFullView.test.tsxcovering header, control bar, grid, and interactions.Written by Cursor Bugbot for commit 96875e5. This will update automatically on new commits. Configure here.