Feat/31678 theme switching migration selectionlist batch#31774
Conversation
kubabutkiewicz
left a comment
There was a problem hiding this comment.
One small comment, but LGTM 😄
rezkiy37
left a comment
There was a problem hiding this comment.
Left a comment, after LGTM.
|
@alitoshmatov Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
@grgia Can you remove my assignment, since it does not require a review from C+ |
|
@koko57 will review today, could you resolve conflicts? |
grgia
left a comment
There was a problem hiding this comment.
- SelectCircle.tsx
- BaseOptionsSelector.js
- OfflineWithFeedback.js
- Icon/index.tsx
- src/styles/optionRowStyles/index.ts
- src/styles/optionRowStyles/index.native.ts
double checking all files from issue addressed ✅
chrispader
left a comment
There was a problem hiding this comment.
LGTM, just a few small comments
src/components/MultipleAvatars.tsx
Outdated
| [styles], | ||
| ); | ||
|
|
||
| const secondAvatarDefaultStyles = secondAvatarStyle ?? [StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)]; |
There was a problem hiding this comment.
I think we should rename this variable to secondAvatarStyle and rename the prop secondAvatarStyle to secondAvatarStyleProp.
Especially i think this should be singular instead of plural, since the prop is also singular. (sorry for nitpicking 😃)
There was a problem hiding this comment.
But it would break the convention we have in the app - all the styles passed as props doesn't have 'props' in the name. badgeStyles, textStyles, containerStyles or even listContainerStyles in BaseOptionsSelector below - these are just some of examples.
There was a problem hiding this comment.
which convention do you mean?
There was a problem hiding this comment.
Naming the props. I just gave some examples how the style props are named. We don't have containerStylesProp only containerStyles. If I changed secondAvatarStyle to secondAvatarStyleProp that would be the only style prop in the app which name includes 'Prop'
There was a problem hiding this comment.
I don't think we need to add Prop to the variable name, but if secondAvatarStyle can be an array of styles, maybe we rename to secondAvatarStyles?
There was a problem hiding this comment.
I think it would be safer to work on the names refactor in a separate PR 🙂
There was a problem hiding this comment.
Yes I agree, no need for name refactor here
There was a problem hiding this comment.
ah, ok then 😃 thanks for clarification
There was a problem hiding this comment.
I think we'll have to add the withThemeStylesPropTypes to optionSelectorPropTypes as well as in other components
Reviewer Checklist
Screenshots/VideosAndroid: NativeAndroid: mWeb ChromeiOS: NativeiOS: mWeb SafariMacOS: Chrome / SafariMacOS: Desktop |
|
🚀 Deployed to staging by https://github.com/grgia in version: 1.4.5-1 🚀
|
|
🚀 Deployed to production by https://github.com/mountiny in version: 1.4.5-7 🚀
|

Details
Fixed Issues
$ #31678
PROPOSAL: $ #31678
Tests
These changes affect Selection List and Option Rows:
apply this change and test again
Offline tests
QA Steps
These changes affect Selection List and Option Rows:
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)myBool && <MyComponent />.src/languages/*files and using the translation methodWaiting for Copylabel for a copy review on the original GH to get the correct copy.STYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)/** comment above it */thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)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
MacOS: Desktop