-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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 workspace description #36058
Add workspace description #36058
Conversation
Reviewer Checklist
Screenshots/VideosAndroid: Nativeandroid-native-2024-02-09_11.20.38.mp4Android: mWeb Chromeandroid-chrome-2024-02-09_11.27.11.mp4iOS: Nativeios-native-2024-02-09_10.53.47.mp4iOS: mWeb Safariios-safari-2024-02-09_10.46.29.mp4MacOS: Chrome / Safaridesktop-chrome-2024-02-09_10.35.59.mp4MacOS: Desktopdesktop-app-2024-02-09_10.38.02.mp4 |
This comment was marked as resolved.
This comment was marked as resolved.
Sure, thanks for reminding me! |
This comment was marked as resolved.
This comment was marked as resolved.
@jjcoffee We show the report details page when the user clicks on report description without permission... So, I thought to be consistent in that case.
|
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
@jjcoffee Sure, I agree it feels a little jarring... I'll go ahead with what gets decided. Make sure to raise this in slack in here: https://expensify.slack.com/archives/C01GTK53T8Q/p1706584967766219 for a quicker response... |
@esh-g Ah thanks I'd missed that Slack convo! Could you also add offline feedback for changing the workspace description? |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
@@ -106,7 +107,7 @@ function WorkspaceOverviewPage({policy, currencyList, route}) { | |||
disabled={readOnly} | |||
disabledStyle={styles.cursorDefault} | |||
/> | |||
<OfflineWithFeedback pendingAction={lodashGet(policy, 'pendingFields.generalSettings')}> | |||
<OfflineWithFeedback pendingAction={pendingAction}> |
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 think it makes more sense to wrap each MenuItemWithTopDescription
with a separate OfflineWithFeedback
, otherwise we grey out all the items even if only one has changed.
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.
@jjcoffee The problem is that the name
and currency
are under generalSettings
and grouped together while description has different API
endpoint. This means that if we have separate OfflineWithFeedback
, we would see that upon editing the name, the currency would also get greyed out while the description in between them would not. I think the solution to this is to break up name
and currency
into separate endpoints, but I think that could be out of scope for the issue. Please let me know what you think!
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.
Commented on Slack too. I think it makes sense to separate it out as it's as separate API command. Once a followup deals with it, the other two fields will update separately too.
@esh-g Could you also add missing screenshots please? |
This comment was marked as resolved.
This comment was marked as resolved.
BUG: Android Native: The description text input doesn't immediately render at the correct size. We could fix this on a followup if it's out of scope, e.g. if it's a general issue: android-native-flicker-2024-02-09_13.41.32.mp4 |
I'd say it's best with just the normal cursor rather than showing it as disabled. There's no need for visual feedback since it's completely unclickable and the user wouldn't know what it being disabled would mean. |
Hmm good question! I think hiding it in this case makes sense. |
@jjcoffee I pushed solutions for both of those. Please confirm and hopefully then we can get this approved |
@esh-g Can you do the same tweak for the header's cursor for non-admins? Or ideally it would behave the same as when there is no description where tapping it opens the Details panel. No worries if that's too complex though. |
@jjcoffee For the header, as a whole it is wrapped in a pressable so the cursor would still be the pointer for admin and non-admin, just clicking on the description won't do anything for non-admin. I have been trying to somehow bypass the touch of the child pressable so that the touch is passed to parent in case of non-admin but I'm not finding a method to do that... I've tried disabling |
Co-authored-by: Joel Davies <joeld.dev@gmail.com>
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!
@puneetlath Just wanted to flag a few issues that haven't been fixed here.
|
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.
Great job with this. Seems to test well.
Unfortunately some conflicts came before I could review. If you can fix them, I'll merge first thing in my morning. |
@puneetlath Fixed it! Hope we can merge this before any more conflicts arise |
✋ 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/puneetlath in version: 1.4.42-0 🚀
|
🚀 Deployed to production by https://github.com/chiragsalian in version: 1.4.42-5 🚀
|
<PressableWithoutFeedback | ||
onPress={() => { | ||
if (ReportUtils.canEditPolicyDescription(props.policy)) { | ||
Navigation.navigate(ROUTES.WORKSPACE_DESCRIPTION.getRoute(props.report.policyID)); |
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.
This line created a regression. Issue here #36991
Details
Fixed Issues
$ #32955
PROPOSAL: #32955 (comment)
Tests
Offline tests
QA Steps
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
Screen.Recording.2024-02-11.at.5.23.33.PM.mov
Android: mWeb Chrome
Screen.Recording.2024-02-08.at.7.56.41.PM.mov
iOS: Native
Screen.Recording.2024-02-13.at.6.14.14.PM.mov
iOS: mWeb Safari
Screen.Recording.2024-02-08.at.7.51.23.PM.mov
MacOS: Chrome / Safari
Screen.Recording.2024-02-08.at.7.42.35.PM.mov
MacOS: Desktop
Screen.Recording.2024-02-11.at.5.32.53.PM.mov