Skip to content

refactor: highlighted indicators for incomplete fields #6497

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

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from

Conversation

khushi-hura
Copy link
Contributor

@khushi-hura khushi-hura commented Mar 29, 2025

This pull request addresses issue #5820
This refactoring makes it easy for user to identify the incomplete fields for a particular product by addressing errors or warnings in the missing fields.
A sorting feature is also introduced which helps the user to sort by missing data and sort by fields:

SORT BY FIELDS:

SORT BY MISSING DATA:

@monsieurtanuki
Copy link
Contributor

Hi @khushi-hura!
That doesn't look good:
image
Please make sure the code you send is correct.

@khushi-hura
Copy link
Contributor Author

I am sorry for the errors @monsieurtanuki there was a huge system lag which didn't show this up, I will commit this in a few hours!

@g123k
Copy link
Collaborator

g123k commented Mar 29, 2025

In terms of UI, please have a better look at the mockups, there are some inconsistencies:

  • Alignments
  • Filter
  • Arrows at the bottom of each card (which should not)…

@teolemon teolemon linked an issue Mar 30, 2025 that may be closed by this pull request
@khushi-hura
Copy link
Contributor Author

The changes now closely resemble the mockup!

image

@teolemon
Copy link
Member

teolemon commented Apr 1, 2025

@khushi-hura : 🔴 Errors

info • Missing type annotation • packages/smooth_app/lib/generic_lib/widgets/smooth_list_tile_card.dart:67:23 • always_specify_types
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/generic_lib/widgets/smooth_list_tile_card.dart:72:33 • prefer_const_constructors
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/generic_lib/widgets/smooth_list_tile_card.dart:73:30 • prefer_const_constructors
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/generic_lib/widgets/smooth_list_tile_card.dart:74:33 • prefer_const_constructors
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/generic_lib/widgets/smooth_list_tile_card.dart:98:15 • prefer_const_constructors
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/generic_lib/widgets/smooth_list_tile_card.dart:106:23 • prefer_const_constructors
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:43:24 • always_specify_types
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:44:32 • always_specify_types
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:45:28 • prefer_single_quotes
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:55:19 • always_specify_types
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:55:22 • always_specify_types
info • Local variables should be final • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:57:11 • prefer_final_locals
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:57:33 • prefer_const_constructors
info • Local variables should be final • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:58:11 • prefer_final_locals
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:58:33 • prefer_const_constructors
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:59:37 • always_specify_types
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:60:13 • prefer_const_constructors
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:61:13 • prefer_const_constructors
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:62:13 • prefer_const_constructors
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:73:15 • always_specify_types
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:82:15 • always_specify_types
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:84:20 • prefer_const_constructors
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:91:18 • always_specify_types
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:92:13 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:94:19 • prefer_single_quotes
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:95:13 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:95:78 • prefer_single_quotes
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:96:13 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:96:78 • prefer_single_quotes
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:104:20 • prefer_const_constructors
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:110:18 • always_specify_types
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:111:13 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:114:19 • prefer_single_quotes
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:115:13 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:118:19 • prefer_single_quotes
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:119:13 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:122:19 • prefer_single_quotes
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:124:20 • always_specify_types
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:125:13 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:127:19 • prefer_single_quotes
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:161:23 • prefer_const_constructors
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:161:28 • prefer_single_quotes
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:162:20 • always_specify_types
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:163:15 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:165:21 • prefer_single_quotes
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:185:22 • always_specify_types
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:186:17 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:189:27 • prefer_single_quotes
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:190:23 • prefer_single_quotes
info • Don't use 'BuildContext's across async gaps, guarded by an unrelated 'mounted' check • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:209:19 • use_build_context_synchronously
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:216:21 • prefer_const_constructors
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:216:26 • prefer_single_quotes
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:217:20 • always_specify_types
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:218:13 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:220:19 • prefer_single_quotes
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:230:21 • prefer_const_constructors
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:230:26 • prefer_single_quotes
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:246:20 • always_specify_types
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:247:13 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:249:19 • prefer_single_quotes
info • Don't use 'BuildContext's across async gaps, guarded by an unrelated 'mounted' check • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:266:15 • use_build_context_synchronously
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:291:23 • always_specify_types
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:345:71 • always_specify_types
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:355:31 • always_specify_types
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:356:23 • prefer_const_constructors
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:368:25 • prefer_single_quotes
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:375:23 • prefer_const_constructors
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:379:31 • prefer_const_constructors
info • Statement should be on a separate line • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:398:53 • always_put_control_body_on_new_line
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:409:36 • always_specify_types
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:439:14 • always_specify_types
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:440:9 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:444:19 • prefer_single_quotes
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:445:15 • prefer_single_quotes
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:446:9 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:450:19 • prefer_single_quotes
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:451:15 • prefer_single_quotes
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:453:16 • always_specify_types
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:454:9 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:458:19 • prefer_single_quotes
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:459:15 • prefer_single_quotes
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:460:9 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:464:19 • prefer_single_quotes
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:465:15 • prefer_single_quotes
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:466:9 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:470:19 • prefer_single_quotes
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:471:15 • prefer_single_quotes
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:472:9 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:476:19 • prefer_single_quotes
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:477:15 • prefer_single_quotes
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:499:14 • always_specify_types
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:500:9 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:502:15 • prefer_single_quotes
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:503:9 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:505:15 • prefer_single_quotes
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:507:16 • always_specify_types
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:508:9 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:510:15 • prefer_single_quotes
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:511:9 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:513:15 • prefer_single_quotes
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:514:9 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:516:15 • prefer_single_quotes
info • Use an 'if' element to conditionally add elements • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:517:9 • prefer_if_elements_to_conditional_expressions
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:519:15 • prefer_single_quotes
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:559:23 • always_specify_types
info • Unnecessary use of double quotes • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:562:28 • prefer_single_quotes
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:568:50 • always_specify_types
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:569:52 • always_specify_types
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:571:31 • prefer_const_constructors
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:572:28 • prefer_const_constructors
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:573:35 • prefer_const_constructors
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:573:52 • prefer_const_constructors
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:580:33 • always_specify_types
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:582:43 • always_specify_types
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:583:34 • always_specify_types
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:584:45 • always_specify_types
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:598:45 • always_specify_types
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:599:34 • always_specify_types
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:600:45 • always_specify_types
info • The method '_getIconBackgroundColor' should have a return type but doesn't • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:625:10 • always_declare_return_types
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:627:37 • always_specify_types
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:628:14 • prefer_const_constructors
info • Missing type annotation • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:629:48 • always_specify_types
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:630:14 • prefer_const_constructors
info • Use 'const' with the constructor to improve performance • packages/smooth_app/lib/pages/product/edit_product/edit_product_page.dart:632:14 • prefer_const_constructors

@codecov-commenter
Copy link

codecov-commenter commented Apr 1, 2025

Codecov Report

Attention: Patch coverage is 0% with 299 lines in your changes missing coverage. Please review.

Project coverage is 5.84%. Comparing base (4d9c7fc) to head (b6e18f9).
Report is 834 commits behind head on develop.

Files with missing lines Patch % Lines
.../pages/product/edit_product/edit_product_page.dart 0.00% 276 Missing ⚠️
...lib/generic_lib/widgets/smooth_list_tile_card.dart 0.00% 23 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           develop   #6497      +/-   ##
==========================================
- Coverage     9.54%   5.84%   -3.71%     
==========================================
  Files          325     497     +172     
  Lines        16411   29825   +13414     
==========================================
+ Hits          1567    1743     +176     
- Misses       14844   28082   +13238     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@khushi-hura
Copy link
Contributor Author

hey @teolemon hope it works now! 😊

@g123k
Copy link
Collaborator

g123k commented Apr 3, 2025

There are still some issues with the UI.
Please take my screenshot and compare it with yours.

428709452-37acb4f0-8473-401e-8525-2c35280d2ee4

@khushi-hura
Copy link
Contributor Author

image

@teolemon teolemon requested a review from g123k April 14, 2025 16:56
@teolemon
Copy link
Member

@khushi-hura 2 conflicts to solve

@teolemon
Copy link
Member

@khushi-hura did you take @g123k 's comments into account ?

@khushi-hura
Copy link
Contributor Author

@khushi-hura did you take @g123k 's comments into account ?

yes @teolemon we also had a discussion on slack and I tried my best to align everything according to the mockup provided by @g123k and also corrected the UI bugs mentioned in previous comment.
Please let me know if there is something I missed.

@teolemon teolemon moved this from 💬 To discuss and validate to Pull Requests in 🤳🥫 The Open Food Facts mobile app (Android & iOS) Jul 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging this pull request may close these issues.

Edit mode: highlight incomplete fields
5 participants