Expensify / App

Welcome to New Expensify: a complete re-imagination of financial collaboration, centered around chat. Help us build the next generation of Expensify by sharing feedback and contributing to the code.
https://new.expensify.com
MIT License
3.44k stars 2.8k forks source link

[HOLD for payment 2024-08-14] [HOLD for payment 2024-07-24] [$250] Create empty state component for list view pages #43747

Closed shawnborton closed 2 months ago

shawnborton commented 3 months ago

Right now, our empty states for certain list views look pretty underwhelming: image

We want to make these empty states feel nicer by using a subtle hint that the page will eventually contain data by using a faded row pattern, while also creating space for the middle of the page to show an informative or educational modal. The component we want to build is something like this: image

image

Here is a video of the component in action, and you can find it in our brand guidelines as well:

https://github.com/Expensify/App/assets/2319350/a355dafe-d97e-414d-bf37-cc57ac5caed7

The idea is this:

Once this component is in a robust state, we'll plan to implement it on the Search page as well as some other upcoming projects like Workspace feeds.

cc @mountiny @filip-solecki @Expensify/design

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01809e49334f961ddd
  • Upwork Job ID: 1801589500078964548
  • Last Price Increase: 2024-06-21
Issue OwnerCurrent Issue Owner: @JmillsExpensify
melvin-bot[bot] commented 3 months ago

Current assignee @shawnborton is eligible for the Design assigner, not assigning anyone new.

filip-solecki commented 3 months ago

Hi! I am Filip from SWM an expert agency and I'd like to work on this issue!

melvin-bot[bot] commented 3 months ago

Job added to Upwork: https://www.upwork.com/jobs/~01809e49334f961ddd

melvin-bot[bot] commented 3 months ago

Triggered auto assignment to @JmillsExpensify (NewFeature), see https://stackoverflowteams.com/c/expensify/questions/14418#:~:text=BugZero%20process%20steps%20for%20feature%20requests for more details. Please add this Feature request to a GH project, as outlined in the SO.

melvin-bot[bot] commented 3 months ago

Triggered auto assignment to Contributor-plus team member for initial proposal review - @eVoloshchak (External)

shawnborton commented 3 months ago

@filip-solecki these are the possible skeletons that might be included in the empty state component: image

The Search Desktop skeleton row already exists, though I am proposing that we slightly update it to have a background color as part of this PR. In that same PR, we are making the Search Mobile skeleton rows which don't exist yet. Chat rows already exist. But generic table rows do not exist to my knowledge, so we'll need to make those skeletons as part of this.

melvin-bot[bot] commented 3 months ago

๐Ÿ“ฃ It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? ๐Ÿ’ธ

filip-solecki commented 3 months ago

Is there a confirmed design for any page where we can implement the new empty state component? I almost completed my work, but currently, there's no place to implement it for testing.

filip-solecki commented 3 months ago

cc @shawnborton @mountiny

mountiny commented 3 months ago

I believe we can add this to the Search page, right? @shawnborton

filip-solecki commented 3 months ago

So I just need confirmed design with illustration/animation/video whatever will be used there

shawnborton commented 3 months ago

Yup, search page will be a great place to test it out. You can start implementing it with a generic illustration (pick any existing one) and I'll follow up soon with a good one to use.

shawnborton commented 3 months ago

In the workspace editor, when you enable Tags or Taxes, we can use this component here too:

CleanShot 2024-06-24 at 17 41 22@2x

filip-solecki commented 3 months ago

Taxes cannot be empty, while enabling we are creating two default tax rates and one has to always be set as default and cannot be deleted, but Categories may be empty so I'll add it also on Tags and Categories. Just send me all illustrations or whatever has to be in header there.

shawnborton commented 3 months ago

@Expensify/design thoughts on doing something generic for these pages, like the folder illustration we currently use there? CleanShot 2024-06-25 at 09 29 25@2x

shawnborton commented 3 months ago

If that works, the illustration is here: empty-state__folder_ice.svg.zip

It should be shown at 184x112, and the background should use our yellow600 color (#D18000)

filip-solecki commented 3 months ago

PR is ready for review!

dannymcclain commented 3 months ago

@Expensify/design thoughts on doing something generic for these pages, like the folder illustration we currently use there?

Yup I like that. I think that folder illustration works well as a generic empty state image for these table views.

melvin-bot[bot] commented 2 months ago

Reviewing label has been removed, please complete the "BugZero Checklist".

melvin-bot[bot] commented 2 months ago

The solution for this issue has been :rocket: deployed to production :rocket: in version 9.0.7-8 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

If no regressions arise, payment will be issued on 2024-07-24. :confetti_ball:

For reference, here are some details about the assignees on this issue:

melvin-bot[bot] commented 2 months ago

BugZero Checklist: The PR adding this new feature has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

dubielzyk-expensify commented 2 months ago

Dig it!

melvin-bot[bot] commented 2 months ago

Payment Summary

Upwork Job

BugZero Checklist (@JmillsExpensify)

JmillsExpensify commented 2 months ago

Payment summary above is filled out and correct. @eVoloshchak please propose a regression test and we can get your payment approved once I receive it in NewDot. Thanks!

eVoloshchak commented 2 months ago

Regression Test Proposal

  1. Log in to the app
  2. Go to Account Settings -> Workspaces
  3. Select any workspace
  4. Go to More Features
  5. Enable Tags and Categories
  6. Open Categories page and remove all categories
  7. Verify there is an empty page placeholder with the following text "You haven't created any categories"
  8. Go to tags, remove all tags if there are any
  9. Verify there is an empty page placeholder with the following text "You haven't created any tags"

Do we agree ๐Ÿ‘ or ๐Ÿ‘Ž

JmillsExpensify commented 2 months ago

Reopening for regression test and payment summary from someone else.

mallenexpensify commented 2 months ago

Contributor+: @eVoloshchak owed $250 via NewDot

Test Case GH

JmillsExpensify commented 2 months ago

$250 approved for @eVoloshchak

melvin-bot[bot] commented 2 months ago

โš ๏ธ Looks like this issue was linked to a Deploy Blocker here

If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.

If a regression has occurred and you are the assigned CM follow the instructions here.

If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.

melvin-bot[bot] commented 1 month ago

Reviewing label has been removed, please complete the "BugZero Checklist".

melvin-bot[bot] commented 1 month ago

The solution for this issue has been :rocket: deployed to production :rocket: in version 9.0.17-2 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

If no regressions arise, payment will be issued on 2024-08-14. :confetti_ball:

For reference, here are some details about the assignees on this issue:

melvin-bot[bot] commented 1 month ago

BugZero Checklist: The PR adding this new feature has been merged! The following checklist (instructions) will need to be completed before the issue can be closed: