Impacted files:
* `knowledge_panel_card.dart`: overrides the "isClickable" parameter in case there are eventually no further elements to display
* `knowledge_panels_builder.dart`: new helper methods
Impacted files:
* `add_nutrition_button.dart`: new method to check if nutrition facts are relevant for this product type
* `knowledge_panel_action_card.dart`: checks if the product type matches before displaying the nutrition facts button
* `knowledge_panels_builder.dart`: checks if the product type matches before displaying the nutrition facts button
* `pubspec.lock`: upgrade to flutter `3.24`
Impacted files:
* `add_new_product_page.dart`: editors different when not FOOD; minor refactoring
* `edit_product_page.dart`: no ingredient editor for PRODUCTS
* `image_field_extension.dart`: now the main image fields depend on product type; minor refactoring (more compact `switch` syntax)
* `knowledge_panels_builder.dart`: minor fix
* `product_cards_helper.dart`: now the main image fields depend on product type
* `product_image_gallery_view.dart`: now the main image fields depend on product type
* `product_image_swipeable_view.dart`: now the main image fields depend on product type
New files:
* `reorderable_knowledge_panel_page.dart`: Page where the user can reorder the Knowledge Panel Cards.
* `reordered_knowledge_panel_cards.dart`: Knowledge Panel Cards as reordered by the user.
* `standard_knowledge_panel_page.dart`: Knowledge Panel Cards as provided by the server.
Impacted files:
* `app_en.arb`: added a "reorder the attributes" label
* `knowledge_panel_card.dart`: added an `isClickable` parameter to be get rid of the click icon+effect when reordering attributes
* `knowledge_panel_expanded_card.dart`: added an `isClickable` parameter
* `knowledge_panel_group_card.dart`: added an `isClickable` parameter
* `knowledge_panel_page.dart`: explicitly setting `isClickable: true`
* `knowledge_panels_builder.dart`: added an `isClickable` parameter
* `new_product_page.dart`: now using a dev-mode flag to determine if we display the reorder feature; moved code to new class `StandardKnowledgePanelCards`
* `pubspec.lock`: wtf
* `score_card.dart`: unrelated minor refactoring
* `user_preferences.dart`: added the user ordered attribute list as preference
* `user_preferences_dev_mode.dart`: added a flag for user reordered attribute feature
* feat: 4628 - refactoring
Deleted files:
* `knowledge_panel_element_card.dart`
* `knowledge_panel_summary_card.dart`
New files:
* `knowledge_panel_image_card.dart`: Card that displays a Knowledge Panel _Image_ element.
* `knowledge_panel_text_card.dart`: Card that displays a Knowledge Panel _Text_ element.
* `website_card.dart`: Card that displays a website link. Code used to be inside `new_product_page.dart`
Impacted files:
* `knowledge_panel_card.dart`: minor refactoring
* `knowledge_panel_expanded_card.dart`: minor refactoring
* `knowledge_panel_page.dart`: minor refactoring
* `knowledge_panel_page_template.dart`: minor refactoring
* `knowledge_panels_builder.dart`: moved code here from `knowledge_panel_element_card.dart` and `knowledge_panel_summary_card.dart`; minor refactoring
* `new_product_page.dart`: moved the `WebsiteCard` code to a dedicated file; minor refactoring
* `product_cards_helper.dart`: minor refactoring
* `summary_card.dart`: minor refactoring
* feat: 4628 - additional TODO's
* App review in the "scan card"
* Add a keep alive to prevent many requests
* Add a missing call to super (for the KeepAlive mixin)
* Don't really understand what happened with this file 🤨
* feat: 4058 - expand/collapse for additional ecoscore fields
New file:
* `product_field_editor.dart`: Helper class about product fields.
Impacted files:
* `add_new_product_page.dart`: added origins, ingredients, labels and packaging in option with expand/collapse; refactored using new classes around `ProductFieldEditor`
* `add_ocr_button.dart`: refactored using new class `ProductFieldOcrEditor`
* `add_packaging_button.dart`: refactored using new class `ProductFieldPackagingEditor
* `app_en.arb`: added one label for "additional ecoscore fields"
* `app_fr.arb`: added one label for "additional ecoscore fields"
* `edit_ocr_page.dart`: renamed from `edit_ingredients_page.dart`
* `edit_product_page.dart`: refactored using new classes `ProductFieldDetailsEditor`, `ProductFieldOcrIngredientEditor`, `ProductFieldPackagingEditor` and `ProductFieldOcrPackagingEditor`
* `knowledge_panel_action_card.dart`: minor refactoring
* `knowledge_panels_builder.dart`: minor refactoring
* `simple_input_page_helpers.dart`: added method `isPopulated`; minor refactoring
* `summary_card.dart`: refactored using new class `ProductFieldDetailsEditor`
* feat: 4058 - format
* feat: 4058 - refactoring
Impacted files:
* `add_simple_input_button.dart`: removed useless parameters; now uses `ProductFieldSimpleEditor`
* `edit_product_page.dart`: now uses `ProductFieldSimpleEditor`
* `product_field_editor.dart`: moved `edit` code from `simple_input_page_helpers.dart`
* `simple_input_page_helpers.dart`: moved code to `product_field_editor.dart`
Impacted files:
* `knowledge_panel_page_template.dart`: now using the KP children in order to be able to display nothing
* `knowledge_panels_builder.dart`: now we build a list of children, which gives us the opportunity to display nothing if empty
* `new_onboarding_page.dart`: now using the KP children in order to be able to display nothing
Deleted files:
* `add_category_button.dart`
* `add_ingredients_button.dart`
New files:
* `add_ocr_button.dart`: "Add OCR image" button for user contribution.
* `add_simple_input_button.dart`: "Add simple input" button for user contribution.
Impacted files:
* `app_en.arb`: added 6 labels for 6 new buttons
* `knowledge_panel_action_card.dart`: added 7 new action cases for "Add" buttons; refactored in OOP
* `knowledge_panels_builder.dart`: now use generic `AddOcrButton`; refactored around `ProductState`
* `ocr_helper.dart`: added an abstract method for the "Add" button label
* `ocr_ingredients_helper.dart`: implemented the new "Add" button label method
* `ocr_packaging_helper.dart`: implemented the new "Add" button label method
* `simple_input_page_helpers.dart`: added an abstract method for the "Add" button label; implemented it in all offspring classes
* `summary_card.dart`: now use generic `AddSimpleInputButton`; refactored around `ProductState`
Impacted files:
* `paged_to_be_completed_product_query.dart`: renamed `State` as `ProductState`
* `paged_user_product_query.dart`: created local `UserSearchType` instead of deprecated off-dart `UserProductSearchType`; used `ProductSearchQueryConfiguration` instead of deprecated `UserProductSearchQueryConfiguration`
* `product_query.dart`: now that we use fully v3, we don't need the temporary field list for user-related queries with v2
* `pubspec.lock`: wtf
* `pubspec.yaml`: upgrade to off-dart 2.0.0
* `user_preferences_account.dart`: now using new local class `UserSearchType`
* and reduced all off-dart imports to a single `import 'package:openfoodfacts/openfoodfacts.dart';`
Impacted files:
* `knowledge_panel_card.dart`: refactored the call to `KnowledgePanelPage`
* `knowledge_panel_element_card.dart`: refactored the calls to `KnowledgePanelCard` and `KnowledgePanelGroupCard`
* `knowledge_panel_expanded_card.dart`: refactored the call to `KnowledgePanelElementCard`
* `knowledge_panel_group_card.dart`: refactored the call to `KnowledgePanelCard`
* `knowledge_panel_page.dart`: refactored the call to `KnowledgePanelExpandedCard`; we use a `Consumer` in order to refresh when the product is refreshed
* `knowledge_panel_page_template.dart`; refactored the call to `KnowledgePanelWidget`
* `knowledge_panels_builder.dart`: refactored the call to `KnowledgePanelElementCard`
* `new_product_page.dart`: refactored the call to `KnowledgePanelWidget`
* `simple_input_page.dart`: unrelated "vertical axis" for verbose buttons
* `summary_card.dart`: refactored the call to `KnowledgePanelPage`
Impacted files:
* `knowledge_panel_card.dart`: no we are not initially expanded! (same as before)
* `knowledge_panel_element_card.dart`: refactored
* `knowledge_panel_expanded_card.dart`: refactored
* `knowledge_panel_page.dart`: yes we are initially expanded!
* `knowledge_panel_table_card.dart`: added an "initially expanded?" parameter to `TableCellWidget`
* `knowledge_panels_builder.dart`: no we are not initially expanded! (same as before)
New files:
* `ocr_helper.dart`: OCR Helper, to be implemented for ingredients and packaging for instance.
* `ocr_ingredients_helper.dart`: OCR Helper for ingredients.
* `ocr_packaging_helper.dart`: OCR Helper for packaging.
* `tmp_ocr_packaging_result.dart`: to be moved to off-dart.
Impacted files:
* `app_en.arb`: added 6 labels for packaging OCR.
* `edit_ingredients_page.dart`: refactored around new class `OcrHelper`.
* `edit_product_page.dart`: added access to edit OCR packaging; refactored.
* `knowledge_panels_builder.dart`: refactored.
* `product_query.dart`: added packaging fields to the product fields we get from the server.
New file:
* `up_to_date_product_provider.dart`: Provider that reflects all the user changes on [Product]s.
Impacted files:
* `add_basic_details_page.dart`: refactoring
* `category_picker_page.dart`: refactoring
* `edit_ingredients_page.dart`: refactoring around `UpToDateProductProvider`
* `edit_product_page.dart`: refactoring around `UpToDateProductProvider`
* `knowledge_panel_page_template.dart`: refactored for code clarity
* `knowledge_panels_builder.dart`: refactored for code clarity
* `main.dart`: added `UpToDateProductProvider` in the provider list
* `new_product_page.dart`: refactoring around `UpToDateProductProvider`; removed deprecated code on "additional button"
* `Podfile.lock`: wtf
* `product_list_page.dart`: refactored around `UpToDateProductProvider`
* `product_refresher.dart`: refactored around `UpToDateProductProvider`
* `simple_input_page.dart`: refactored
* `summary_card.dart`: implemented "add categories" button; refactored around `UpToDateProductProvider`
* refactor: Moved files
* Refactor
* fix: Dont show arrow when not clickable anymore [knowledge_panel]
* fix: Dont show arrow when not clickable anymore [score_card]
* Change icon
* Update score_card.dart
* Update knowledge_panel_summary_card.dart