-
Notifications
You must be signed in to change notification settings - Fork 3.5k
[WIP] Redesign settings pages #15462
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
Conversation
|
Woo! Any screenies available to preview? |
Not yet, but I did manage to resolve this issue with this PR. Like I said, that was the biggest issue I was having. So hopefully we can get that merged soon and get this unblocked. It will also substantially simplify this PR. |
|
Sounds great! Keep me posted when there are some early screenshots to review please, thank you! |
# Conflicts: # src/pages/workspace/WorkspaceSettingsPage.js # src/styles/styles.js
40013ce to
0704477
Compare
# Conflicts: # src/styles/styles.js # src/styles/themes/default.js
This comment was marked as spam.
This comment was marked as spam.
1 similar comment
This comment was marked as spam.
This comment was marked as spam.
|
Cool, started some conversation in the TCW room about this, we'll see what Augenblick says. |
|
I figured out an easy way to squeeze better performance out of these animations on web + to fix the weird display bug: Before (svg renderer)before.movAfter (canvas renderer)after.mov |
sobitneupane
left a comment
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.
Screenshots/Videos
Web
Screen.Recording.2023-05-12.at.16.23.17.mov
Mobile Web - Chrome
237861511-a814a867-2e34-4857-adc7-75b9ac408a41.mov
Mobile Web - Safari
Screen.Recording.2023-05-12.at.16.48.28.mov
Desktop
Screen.Recording.2023-05-12.at.16.30.48.mov
iOS
Screen.Recording.2023-05-12.at.16.54.28.mov
Android
Screen.Recording.2023-05-12.at.16.36.44.mov
|
Everything is working great. Animations are working well. Few Questions:
Screen.Recording.2023-05-12.at.17.13.45.mov
|
|
Do you think this should shrink? On a smaller page sizes, the animation takes up a load of screen real-estate whereas the info the user is attempting to access is pushed offscreen
cc @shawnborton |
|
I think it's fine, as long as the page scrolls right? |
# Conflicts: # src/libs/Navigation/linkingConfig.js # src/styles/styles.js
|
npm has a |
# Conflicts: # package.json # src/pages/settings/Payments/PaymentsPage.js # src/pages/settings/Preferences/PreferencesPage.js # src/styles/styles.js
| import TestToolMenu from '../../../components/TestToolMenu'; | ||
| import MenuItemWithTopDescription from '../../../components/MenuItemWithTopDescription'; | ||
| import IllustratedHeaderPageLayout from '../../../components/IllustratedHeaderPageLayout'; | ||
| import PreferencesDJAnimation from '../../../../assets/animations/PreferencesDJ.json'; |
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.
Should we be importing these directly or port them through a file similar to how we handle illustrations/icons with Expensicons? That way if we reuse animations and need to update the file name or something we could do it in a single file
| <View style={styles.workspacesListPageFeatureContainer(workspaceFeatures.length)}> | ||
| {_.map(workspaceFeatures, ({icon, translationKey}) => ( | ||
| <View | ||
| style={[styles.flexRow, styles.alignItemsCenter]} | ||
| key={translationKey} | ||
| > | ||
| <Icon | ||
| src={icon} | ||
| width={variables.iconSizeSuperLarge} | ||
| height={variables.iconSizeSuperLarge} | ||
| /> | ||
| <Text style={[styles.h3, styles.pl2]}>{this.props.translate(translationKey)}</Text> | ||
| </View> | ||
| ))} | ||
| </View> | ||
| </View> |
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.
Should we make these feature lists their own component? I think the illustration + feature pattern is likely to be repeated. Or should we save that refactor until it is repeated?
|
Ok, so unfortunately this PR was completely blown up by the react-navigation refactor. So I'm going to try and take it more piece-by-piece and break it up into a few smaller PRs. |
|
Marking this a WIP as I break it up into more managable pieces and ultimately resolve all the conflicts from the react-navigation refactor. |
|
Sounds good. Do you have a rough ETA of when you might be able to finish this one by? |
|
any reason to keep this PR open? @roryabraham |





Details
Implements new layouts for settings pages, and implements those layouts on the following pages:
Fixed Issues
$ #12261
Tests
Offline tests
n/a
QA Steps
Same as tests, just use your judgement and look for any layout issues or bugs.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)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 */thisproperly so there are no scoping issues (i.e. foronClick={this.submit}the methodthis.submitshould be bound tothisin the constructor)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
Web
Mobile Web - Chrome
Mobile Web - Safari
iOSWeb.mov
Desktop
desktop.mov
iOS
iOS.mov
Android
w/ updated animations:
screen-20230516-145611.mp4