Implement animated WorkspacesListPage and LoungeAccessPage#23061
Implement animated WorkspacesListPage and LoungeAccessPage#23061Beamanator merged 36 commits intomainfrom
Conversation
|
There is a minor known issue with the WorkspacePlanet.json animation that shows some lines of magenta during the rotation: MagentaOverflow.movI'm not entirely sure what's causing this but I think it may be intrinsic to the animation itself because that color is not on the view beneath the animation. I don't think this is worth blocking this PR over, and can be addressed in a follow-up. |
|
Updated (and fixed a bug in |
|
Looks so good! One thing that I think I missed from the last PR - in the page header, can we make the arrow use the 80% opacity ivory, but the actual header text just use 100% opacity ivory? |
|
No problem @shawnborton, here's what that looks like:
I agree that looks a bit better 👍🏼 |
|
@shawnborton I also fixed this other bug as requested.
|
|
🧪🧪 Use the links below to test this build in android and iOS. Happy testing! 🧪🧪 |
|
Sweet, thanks! |
|
@Beamanator bump for re-review please |
Beamanator
left a comment
There was a problem hiding this comment.
Looks great to me, nice work @roryabraham !
|
🚀 Deployed to staging by https://github.com/Beamanator in version: 1.3.46-0 🚀
|
|
🚀 Deployed to staging by https://github.com/Beamanator in version: 1.3.47-0 🚀
|
|
🚀 Deployed to production by https://github.com/marcaaron in version: 1.3.46-2 🚀
|
|
🚀 Deployed to production by https://github.com/Beamanator in version: 1.3.47-6 🚀
|
| const {translate} = useLocalize(); | ||
|
|
||
| if (!user.hasLoungeAccess) { | ||
| return <FullPageNotFoundView shouldShow />; |
There was a problem hiding this comment.
This has caused a small regression in #25433
FullPageNotFoundView isn't wrapped with SafeAreaView, so it was overlapping with the notification bar on Android.
We resolved this by using <NotFoundPage /> instead, which is FullPageNotFoundView wrapped with ScreenWrapper (it has safe area insets)




Details
Implements the new animated layouts in WorkpacesListPage and LoungeAccessPage. Since they share a very similar layout, I created some utility components to DRY up code between them.
Note that this code includes a workaround for an animation that's not quite the right aspect ratio. We'll clean this up in a follow-up once we have an animation source in a better aspect ratio.
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/300446
$ #23209
$ (partial) #12261
Tests / QA Steps
trueand this condition tofalse.Settings->Profileand you should see a menu item forLounge Access. Click on that to open the Lounge access page.true./settings/profile/lounge-accessin the browser and verify that you now see a full page not found view in the RHP.true. Verify that you see a feature list for the workspace page that matches the screenshots below.Settings->Workspacesand verify that the workspace list appears below the animations as shown in the screenshots below.Offline tests / QA Steps
(narrow screens only)
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 */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
Desktop
iOS
iOS.mov
Android