-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Add Share page for Workspace Profile #36907
Add Share page for Workspace Profile #36907
Conversation
@aimane-chnaif 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] |
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.
Looking good, a few observations:
- The
Share
button styles seem a bit off. It should have a fixed height of 40px. It currently has no hover style, as well. - The QR code has a Section component, which is adding a background color and title that are not in the mocks
- The download button is missing
@Expensify/design would love your eyes on this one, since it seems like the Share code page in the design doc has a different style from the share code pages for the profile and rooms pages. One known issue is that we're not rendering the default workspace icon in the middle of the QR code. That'll be handled once this issue is done
I kicked off an adhoc build for design to take a look at |
Yeah, check this thread here - we were working with @kosmydel to revert the share page that opens up in the RHP to look more like it did before - so basically no illustrated header, no h2 header, and no padded card style for the QR code. Just want to make sure we aren't doubling up work or stepping on toes. Also, what's up with the dark empty state image on top of the workspace info card? |
Co-authored-by: Carlos Martins <[email protected]>
Ah cool, so those should be more aligned with this one then. This is a brand new page, so there shouldn't be any duplicated effort here. |
Well, the whole point is that the pages look identical no matter if it's a user or a workspace, etc. Isn't there some kind of component we should create for that then? Otherwise it seems like we are doubling or tripling the work and making it harder to maintain these views. |
Yes, we can extract this into a reusable component. @kosmydel do we already have one for this page, or should we create one? |
This comment has been minimized.
This comment has been minimized.
@luacmartins @aimane-chnaif updated everything based on the comments |
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.
LGTM. @narefyev91 can you merge main to fix the TS error?
@kosmydel since you're refactoring the share code pages, this page already have the correct design, would you mind extracting it into a separate component and making it reusable to profile, room share codes as part of your issue?
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪
|
Layout glitch on first QR Code page load. This also happens on existing QR Code page so out of scope Screen.Recording.2024-02-22.at.2.33.51.PM.mov |
Problem here - that Icon component which used inside Button - just have a prop small={small} |
|
This is how it looks with medium button size @shawnborton @dannymcclain |
I think this is a good opportunity to get the button styles working exactly as we intend them to from Figma, even if they are global changes. I say let's make it look exactly as we want it to here. |
Ok interesting. The medium button should use an icon that is @shawnborton Do you want me to try to work on a write-up of the ideal button styles, or are you on that? |
I haven't started anything, so if you don't mind, that would be wonderful. Thanks Danny! |
@shawnborton I knew I was going to do it and already started 😆 |
# Conflicts: # src/pages/workspace/WorkspaceProfilePage.tsx
@shawnborton @luacmartins @aimane-chnaif Introduced a new prop for icon in button component. No one definitely used such combination yet medium button + small icon - in that case no visual regressions should be happened. And we can move forward here. Now medium button + small icon(16x16) |
I don't think we want any kind of prop for if the icon is small or not. I think we are just going to give you the new value at which all icons should be for medium sized buttons, as well as the correct spacing. All of our buttons are global components and we are comfortable with this being a global change. |
src/components/Button/index.tsx
Outdated
@@ -241,7 +245,7 @@ function Button( | |||
<Icon | |||
src={icon} | |||
fill={iconFill ?? (success || danger ? theme.textLight : theme.icon)} | |||
small={small} | |||
small={isIconSmall} |
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.
Visual regression can happen when small button + icon because isIconSmall
is not passed
App/src/components/Attachments/AttachmentCarousel/CarouselButtons.js
Lines 52 to 56 in f4a59a3
<Button | |
small | |
innerStyles={[styles.arrowIcon]} | |
icon={Expensicons.BackArrow} | |
iconFill={theme.text} |
Please test arrow buttons in attachment carousel
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.
I left this comment elsewhere but I don't think we want this kind of prop here... we just want to globally change the size of icons in these buttons, I think at least... Danny will confirm!
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.
will rollback that
Ok cool - we have 3 kind of sizes of buttons - large, medium, small - just will wait for icon size, space and etc. Should we do it in the scope of the current ticket? or in the new GH issue? |
Can we do that in a separate PR? And merge current version (without icon in button) as is? |
That works for me. Please tag me (and |
Issue to add icon here. Thanks for the speedy reviews everyone! |
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
Hey, I was OOO. Is there still anything that we have to change in Share Code screen or is everything alright? cc @luacmartins |
@kosmydel are we creating a reusable component for all the share code pages? If so, we need to make sure to update the ShareCode page for workspace profile too. |
🚀 Deployed to staging by https://github.com/luacmartins in version: 1.4.44-0 🚀
|
The only thing I've changed recently is the position of the ShareCodePage from central pane to the RHP. I believe, that it is already reusable. For instance, the |
🚀 Deployed to production by https://github.com/puneetlath in version: 1.4.44-13 🚀
|
Details
A new Share page for Workspace Profile
Fixed Issues
$ #36250
PROPOSAL: #36250
Tests
For user which is not an admin of the workspace:
Offline tests
For user which is not an admin of the workspace:
QA Steps
For user which is not an admin of the workspace:
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label so the design team can review the changes.ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Android: Native
android.mov
Android: mWeb Chrome
android-web.mov
iOS: Native
ios.mov
iOS: mWeb Safari
ios-web.mov
MacOS: Chrome / Safari
web.mov
MacOS: Desktop
desktop.mov