openfoodfacts / smooth-app

🤳🥫 The new Open Food Facts mobile application for Android and iOS, crafted with Flutter and Dart
https://world.openfoodfacts.org/open-food-facts-mobile-app?utm_source=off&utf_medium=web&utm_campaign=github-repo
Apache License 2.0
823 stars 277 forks source link

[Improvement] Use bottom sheets for KP #3996

Open g123k opened 1 year ago

g123k commented 1 year ago

Hi everyone,

On a product page, when we click on a knowledge panel, we open a new screen with the details. By doing that, we lose the context of the product:

Screenshot 2023-05-22 at 14 28 42

A simple enhancement would be to use some bottom sheets, which may look like this (sorry for this really bad mock-up):

Screenshot 2023-05-22 at 14 28 50

What would you think of this? (In terms of code, the impact is relatively small)

monsieurtanuki commented 1 year ago

My 2 cents:

Beyond that I would say: that looks good, please try! If possible make it agnostic from the product page, with a (new) "openKP" method that in the current version would open a page, in your version would open a bottom sheet, and perhaps one day would open a dialog. Once you create the "openKP" method, we have no impact on the product page, that just uses "openKP".

g123k commented 1 year ago

the size of your content is small enough to fit in half-screen - would that look that good with a much taller content? much smaller content?

It will obviously scroll, just like the Google Maps do

there's only one button that goes outside the app - with an "edit" button like "add categories", would that still be a smooth UX when going back from "add categories", e.g. with refreshed data?

I don't think, that's relevant to input values, as we have a lot of fields to fill

If possible make it agnostic from the product page, with a (new) "openKP" method that in the current version would open a page, in your version would open a bottom sheet, and perhaps one day would open a dialog. Once you create the "openKP" method, we have no impact on the product page, that just uses "openKP".

Really nice idea, I will implement it that way