-
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
[$250] Create expense - No animation when submitting expenses as a new user #54470
Comments
Triggered auto assignment to @sakluger ( |
ProposalPlease re-state the problem that we are trying to solve in this issue.When a new user submits an expense, no empty animation is shown What is the root cause of that problem?The issue is caused by how the
The problem occurs because What changes do you think we should make in order to solve the problem?
POCWhat specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?
What alternative solutions did you explore? (Optional) |
Edited by proposal-police: This proposal was edited at 2024-12-23 22:09:38 UTC. ProposalPlease re-state the problem that we are trying to solve in this issue.Create expense - No animation when submitting expenses as a new user What is the root cause of that problem?We are only handling split, pay, and submit in EmptySelectionListContent
App/src/components/EmptySelectionListContent.tsx Lines 32 to 34 in 126d92a
so blank is displayed for iouType create (create expense from global FAB) and also invoice (from send invoice) What changes do you think we should make in order to solve the problem?We need to add cases of If style changes are needed we can apply discussing with the design team Note: The comment here suggesting invoice should not be included is based on a wrong assumption that at the time the user send invoice there would be at least on contact to be shown in the participants list but that is wrong. If we send invoice after creating a workspace and enabling invoice before contacting anyone blank page is displayed as clearly seen in the below video. 2024-12-24.01-21-13.mp4What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?We can test EmptySelectionListContent displays correctly for iouTypes What alternative solutions did you explore? (Optional) |
According to this discussion, invoices should not be included in the list so focusing on the current issue that's why i didn't include it in the proposal... but in case it's needed after discussion, the changes should be the same as the main solution. We can in fact enable it for all IOU types by removing the whitelist validation. then, we should add tests to ensure that all IOU types have their respective translations. App/src/components/EmptySelectionListContent.tsx Lines 30 to 32 in 9e4ffac
|
Job added to Upwork: https://www.upwork.com/jobs/~021871676942933585608 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @thesahindia ( |
Edited by proposal-police: This proposal was edited at 2024-12-26 09:02:34 UTC. ProposalPlease re-state the problem that we are trying to solve in this issue.No animation when submitting expenses as a new user What is the root cause of that problem?In this case, the
App/src/components/EmptySelectionListContent.tsx Lines 32 to 34 in 3f0b2f8
What changes do you think we should make in order to solve the problem?We have many similar cases, so I think we should create a common empty component to ensure consistency.
We created a new prop to determine whether to use the default empty state UI and define a common empty UI, and made the function EmptySelectionListContent({contentType, isDefault}: EmptySelectionListContentProps) {
const styles = useThemeStyles();
const {translate} = useLocalize();
if (!isContentType(contentType)) {
if (isDefault) {
return (
<View style={[styles.flex1, styles.overflowHidden, styles.minHeight65]}>
<BlockingView
icon={Illustrations.TurtleInShell}
iconWidth={variables.emptyListIconWidth}
iconHeight={variables.emptyListIconHeight}
title={'Nothing to Display'}
subtitle={'There’s currently nothing to display here.'}
subtitleStyle={styles.textSupporting}
containerStyle={styles.pb10}
contentFitImage="contain"
/>
</View>
);
}
return null;
}
...
} And anywhere we want to use the default empty state, such as this one
Update to: listEmptyContent={
<EmptySelectionListContent
contentType={iouType}
isDefault
/>
} or listEmptyContent={
<EmptySelectionListContent
contentType={iouType}
isDefault={iouType === CONST.IOU.TYPE.CREATE}
/>
} I think the UI should be confirmed by the design team and updated when creating the PR (like: content, image, scrollview....) What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?What alternative solutions did you explore? (Optional)Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job. |
@sakluger, @thesahindia Eep! 4 days overdue now. Issues have feelings too... |
@huult, could you please list some of them? |
@thesahindia here you are: |
I thought you were referring to places where we use illustrations. It seems there are currently very few cases, but creating a common component could be beneficial if we use illustrations in more scenarios in the future. |
@thesahindia Yes, I will provide it later. thank you! |
@abzokhattab's proposal will fix this. But @huult suggested adding a common component for such cases. I prefer @huult's proposal but I will defer to the internal engineer on this. 🎀 👀 🎀 C+ reviewed |
Triggered auto assignment to @puneetlath, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
I also like @huult's more global solution. |
📣 @huult 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
Thank you! I will create the pull request soon. |
Thanks for the review... I have a question: where would we use this common illustration ? as as i see all insatnaces that use if you mean to apply it globally on all searches that's another thing and i think we should get an approval from the design team on that i mean the case where isDefault will be listEmptyContent={
<EmptySelectionListContent
contentType={iouType}
isDefault={iouType === CONST.IOU.TYPE.CREATE}
/>
} What do you think? @puneetlath @thesahindia |
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Version Number: v9.0.77-6
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: N/A
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers): N/A
Issue reported by: Applause Internal Team
Action Performed:
Precondition: You should login as a new user.
Expected Result:
A fun illustration (with short and clear directions) should be displayed to the empty state “Submits to” screen if the user does not have any recent contacts (as in PR #42413). If there are any recents in the list, the illustration shouldn't be displayed.
Actual Result:
No animation when submitting expenses as a new user, just empty page.
Workaround:
Unknown
Platforms:
Screenshots/Videos
bug.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @thesahindiaThe text was updated successfully, but these errors were encountered: