Skip to content
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

Rethink UI of history refresh not to occlude the view #4425

Open
teolemon opened this issue Aug 3, 2023 · 5 comments
Open

Rethink UI of history refresh not to occlude the view #4425

teolemon opened this issue Aug 3, 2023 · 5 comments

Comments

@teolemon
Copy link
Member

teolemon commented Aug 3, 2023

What

  • Rethink UI of history refresh not to occlude the view

Expected behavior

  • Refresh should not block you from interacting with the app

Part of

Screenshot/Mockup/Before-After

Screenshot_20230731-084830.png

@teolemon teolemon added the 🐛 bug Something isn't working label Aug 3, 2023
@teolemon
Copy link
Member Author

teolemon commented Aug 3, 2023

Notice the double spinner

@teolemon
Copy link
Member Author

teolemon commented Aug 3, 2023

1000022670.png

@monsieurtanuki
Copy link
Contributor

@teolemon There's no technical issue about removing the dialog.

Regarding UX, what should happen?

  • just a 3-second snackbar that says "Refreshing the data..."
  • no way to stop the refresh?
  • no way to prevent the user from refreshing while another refresh is pending?

@teolemon
Copy link
Member Author

teolemon commented Aug 3, 2023

Probably a persistent snackbar at the top of the refreshing list, with a link to stop the refresh, and ignoring pull to refresh until a/ refresh is complete b/cancel is pressed
WDYT?

@monsieurtanuki
Copy link
Contributor

Let's say we're talking about refreshing a product list - as opposed to refreshing a product.

The goal of this issue is to add the ability to do whatever while the list is refreshed, for instance:

  • click on an item
  • go back / go to another list
  • go to the preferences

The question behind is: "how do I know if a product list is being refreshed?".

  1. it's easy if you remain on the list page - but that doesn't solve the issue
  2. it is probably easy if you click on items then go back to the list page - the list page widget remains, hidden, with its call to a Future
  3. it is more problematic if you go back to the home page then go back to the same list page - the list page widget was disposed and a new one was created - in that case we need to somehow store the fact that this new list page is being refreshed

A solution would be to maintain a sort of static Set<String> where we put the list "key" when we refresh it (and remove when we're done or if it failed).

As for the UI, I would put a CircularProgressIndicator in the AppBar, but it's a matter of taste.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 💬 To discuss and validate
Development

No branches or pull requests

2 participants