Conversation
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
The original plan was to migrate the App/contributingGuides/SELECTION_LIST.md Line 11 in ae4cd7c Additionally, as per the migration plan outlined in this comment, the intention is to first handle non-section use cases and later address section-based ones, potentially by optimizing SelectionList or introducing a new specialized component for multi-section scenarios. Given this, keeping the |
|
Agreed. Thanks for the explanation. I also recently noticed while reviewing PRs we should use |
src/components/CategoryPicker.tsx
Outdated
| initiallyFocusedOptionKey={selectedOptionKey ?? undefined} | ||
| addBottomSafeAreaPadding={addBottomSafeAreaPadding} | ||
| contentContainerStyle={contentContainerStyle} | ||
| listItemTitleStyles={styles.mnw100} |
There was a problem hiding this comment.
Can we use the same approach as used in new SelectionList? Or is mnw100 already?
There was a problem hiding this comment.
The new SelectionList doesn't use a special approach, it uses FlashList instead of SectionList, which avoids the truncation issue. Since SelectionListWithSections uses SectionList, adding mnw100 via listItemTitleStyles is the correct fix for this component.
|
haha why did this assign so many people |
Reviewer Checklist
Screenshots/VideosAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb Safari |
src/components/CategoryPicker.tsx
Outdated
| initiallyFocusedOptionKey={selectedOptionKey ?? undefined} | ||
| addBottomSafeAreaPadding={addBottomSafeAreaPadding} | ||
| contentContainerStyle={contentContainerStyle} | ||
| listItemTitleStyles={styles.mnw100} |
joekaufmanexpensify
left a comment
There was a problem hiding this comment.
Makes sense 👍
|
@Nodebrute any updates on this one? |
|
Trying to repro on Pixel_8a |
|
@situchan i have updated the code and tested it on both android 16 and android 15 pixel 8_a |
src/components/TagPicker.tsx
Outdated
|
|
||
| const selectedOptionKey = sections.at(0)?.data?.find((policyTag) => policyTag.searchText === selectedTag)?.keyForList; | ||
|
|
||
| const listItemTitleStyles = useMemo(() => [styles.breakAll, styles.w100], [styles.breakAll, styles.w100]); |
There was a problem hiding this comment.
This component is react compilable so no need useMemo
| const listItemTitleStyles = useMemo(() => [styles.breakAll, styles.w100], [styles.breakAll, styles.w100]); | |
| const listItemTitleStyles = [styles.breakAll, styles.w100]; |
|
@Nodebrute could we update to remove the memoization, and then we can get this merged? |
|
@situchan it's ready |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/JS00001 in version: 9.3.10-0 🚀
|
|
🚀 Deployed to production by https://github.com/roryabraham in version: 9.3.10-6 🚀
|







Explanation of Change
Fixed Issues
$ #77357
PROPOSAL: #77357 (comment)
Tests
Precondition:
Android 16 only.
Device font size is minimum.
Add approveris shown instead of justAddOffline tests
Same as above
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
Precondition:
Android 16 only.
Device font size is minimum.
Add approveris shown instead of justAddPR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari