Impacted files:
* `country_selector.dart`: displays a `Row` instead of a `ListTile` (too big)
* `language_selector.dart`: displays a `Row` instead of a `ListTile` (too big)
* `product_image_viewer.dart`: added a rounded rectangle for the language selector
* `user_preferences_settings.dart`: added some paddings as the `Row` is smaller than a `ListTile`
New file:
* `background_task_upload.dart`: Background task about generic file upload.
Impacted files:
* `abstract_background_task.dart`: added a `recover` abstract method
* `background_task_crop.dart`: now extends new class `BackgroundTaskUpload`
* `background_task_image.dart`: now extends new class `BackgroundTaskUpload`
* `background_task_manager.dart`: now calls `recover`for each task at run time; minor fix about "internet error"
* `background_task_unselect.dart`: minor refactoring; minor fix removing the transient file
* `crop_page.dart`: minor refactoring
* `edit_ingredients_page.dart`: minor refactoring
* `image_upload_card.dart`: minor refactoring
* `product_cards_helper.dart`: minor refactoring
* `product_image_viewer.dart`: minor refactoring
* `smooth_product_image.dart`: minor refactoring
* `transient_file.dart`: refactored as a "real" class, not a static one
New file:
* `image_field_extension.dart`: moved code from `product_cards_helper.dart`
Deleted files:
* `product_image_unswipeable_view.dart`
* `smooth_images_sliver_list.dart`
* `smooth_images_view.dart`
Impacted files:
* `image_upload_card.dart`: minor refactoring
* `language_selector.dart`: added an optional foreground color (use case: explicit white for images on a black background)
* `new_crop_page.dart`: minor refactoring
* `nutrition_page_loaded.dart: now using a new special case constructor of `ProductImageSwipeableView` instead of now deleted `ProductImageUnswipeableView`
* `product_cards_helper.dart`: added language-related methods; refactored
* `product_image_carousel.dart`: minor refactoring
* `product_image_data.dart`: added language
* `product_image_gallery_view.dart`: simplified the display of the 4 images; added the language selector on top; refactored the title
* `product_image_swipeable_view.dart`: now handles the "mono imagefield" case; now manages languages; minor refactoring
* `product_image_viewer.dart`: added the language selector; removed the irrelevant `Scaffold`
Impacted files:
* `background_task_crop.dart`: added language to transient file key
* `background_task_image.dart`: added language to transient file key
* `background_task_unselect.dart`: unrelated removal of not used fields
* `edit_ingredients_page.dart`: now we display localized images
* `image_upload_card.dart`: added language to transient file key
* `ocr_widget.dart`: added language to transient file key
* `product_cards_helper.dart`: now returns a localized image; refactored; new method `getLocalizedProductImageUrl`
* `product_image_carousel.dart`: now we display localized images
* `product_image_gallery_view.dart`: now we display localized images
* `product_image_swipeable_view.dart`: now we display localized images
* `product_image_viewer.dart`: now we display localized images
* `product_query.dart`: unrelated removal of not used field
* `product_refresher.dart`: unrelated minor refactoring
* `smooth_product_image.dart`: now we display localized images
* `transient_file.dart`: added language to transient file key
* `up_to_date_changes.dart`: unrelated removal of not used fields
* feat: 3863 - language selector refactoring
Impacted files:
* `language_selector.dart`: moved code to new static method `openLanguageSelector`
* `user_preferences_languages_list.dart`: minor refactoring
* `user_preferences_settings.dart`: minor refactoring
* feat: 3863 - language selector with preselections
Impacted files:
* `language_selector.dart`: added the concept of "pre selected languages" and their different displays
* `product_query.dart`: added a `TODO`
* `user_preferences_settings.dart`: minor refactoring
* feat: 3863 - multilingual input for product name
Impacted files:
* `add_basic_details_page.dart`: introduced the multilingual input
* `language_selector.dart`: added an optional "displayed language" parameter, useful for `AddBasicDetailsPage`
* `product_query.dart`: now we download the `NAME_ALL_LANGUAGES` product field too
* `up_to_date_changes.dart`: now we manage the `productNameInLanguages` product field too
* ignored some generated files
* init amoled mode
* color scheme
* test updated for amoled
* added accent color picker
* localized accent color picker
* added color provider
* Dark Mode changed to Theme mode
* Map key iteration only
* Update packages/smooth_app/lib/l10n/app_en.arb
Co-authored-by: Aman Raj <57723319+AshAman999@users.noreply.github.com>
* removed external dep
* updated golden test
* added comments
* using shade fun
* color scheme localization
* color scheme localization
* added textContrast
* color contrast app settings
* merged upstream
* typo fix
* added color to DropDownMenuItems
* SnackBar text, contrast level
* text contrast change to pass WCAG2.1
* snackBar Color Change
---------
Co-authored-by: Aman Raj <57723319+AshAman999@users.noreply.github.com>
* feat: 2424 - new "select existing image" button
New files:
* `background_task_crop.dart`: Background task about product image crop from existing file.
* `uploaded_image_gallery.dart`: Gallery of all images already uploaded, about a given product.
Delete file:
* `smooth_images_sliver_grid.dart`
Impacted files:
* `abstract_background_task.dart`: added reference to "crop" task
* `app_en.arb`: added 4 labels about "existing images" (button, page title, downloading, nothing found)
* `image_crop_page.dart`: refactored moving code here from `ProductImageViewer`
* `new_crop_page.dart`: now we can handle "already existing" images, in addition to the current choice for e.g. NUTRITION_FR
* `operation_type.dart`: added reference to new "crop" task
* `product_image_swipeable_view.dart`: unrelated fix - the title of the first reached page was always the title of the first page to the left
* `product_image_viewer.dart`: added a "select existing image" button; moved code to `image_crop_page.dart`
* `pubspec.lock`: wtf
* `pubspec.yaml`: upgraded off-dart in order to user new methods
* feat: 2424 - upgraded to off-dart 2.2.0
Impacted files:
* `pubspec.lock`: wtf
* `pubspec.yaml`: upgraded off-dart in order to user new methods
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';`
* feat: 3332 - crop page title now reflects image field
Impacted files:
* `confirm_and_upload_picture.dart`: minor refactoring
* `crop_helper.dart`: added a `pageTitle` parameter
* `edit_ingredients_page.dart`: minor refactoring
* `image_crop_page.dart`: added `imageField` parameters, so that we can compute the correct label on crop page
* `image_upload_card.dart`: now we explicitly use `getProductImageButtonText` as label
* `new_crop_page.dart`: added a page title parameter
* `product_cards_helper.dart`: new label method `getImagePageTitle`; minor refactoring
* `product_image_carousel.dart`: minor refactoring
* `product_image_data.dart`: removed label fields - now we have more flexibility, computing labels from `imageField` with `product_cards_helper.dart` methods
* `product_image_gallery_view.dart`: minor refactoring
* `product_image_swipeable_view.dart`: now we explicitly use `getImagePageTitle` as label
* `product_image_viewer.dart`: minor refactoring
* `smooth_images_sliver_list.dart`: now we explicitly use `getProductImageTitle` as label
* `smooth_product_image.dart`: minor refactoring
* feat: 3332 - 2 lines for the title
Impacted files:
* `new_crop_page.dart`: 2 lines for the title
Co-authored-by: Aman Raj <57723319+AshAman999@users.noreply.github.com>
* feat : 3129 (New PR) Allow to swipe between product images on the full screen image
* Resolved formatting issues
* Made the changes suggested in PR review
* Resolved formatting issues
Co-authored-by: monsieurtanuki <fabrice_fontaine@hotmail.com>
New files:
* `ocr_widget.dart`: Widget dedicated to OCR, with 3 actions: upload image, extract data, save. Used to be in `edit_ingredients_page.dart`
* `transient_file.dart`: Helper class about transient files (= not fully uploaded yet).
Impacted files:
* `add_basic_details_page.dart`: minor refactoring
* `add_new_product_page.dart`: refactored around the class image repository
* `app_en.arb`: added 1 label when OCR fails
* `app_fr.arb`: added 1 label when OCR fails
* `background_task_details.dart`: minor refactoring
* `background_task_image.dart`: immediate execution with just one try
* `confirm_and_upload_picture.dart`: minor refactoring with new private class `_OutlinedButton`
* `edit_ingredients_page.dart`: moved `OcrWidget` code to dedicated new dart file; fixed the extract button - that cannot be reached if the image is not uploaded yet
* `image_crop_page.dart`: refactored with more explicit method names
* `image_upload_card.dart`: refactored with `TransientFile`
* `new_product_page.dart`: minor refactoring
* `product_cards_helper.dart`: minor refactoring
* `product_image_carousel.dart`: minor refactoring
* `product_image_gallery_view.dart`: refactored with new method `confirmAndUploadNewPicture` and new class `TransientFile`
* `product_image_viewer.dart`: refactored with new class `TransientFile`
* `question_card.dart`: minor refactoring
* `smooth_product_image.dart`: refactored with new class `TransientFile`
* Make smooth_app a module (also called step 1)
Android impl is OK.
Still have to check for iOS and tests
* Fix scan sound not working
* Fix ci/pub_upgrade.sh issues
* Fix tests
* Some doc
* Fix build actions
* Fix iOS build
* Fix warnings
* Fix Flutter analyze
* Fix typo
* The CI needs at least one test
Co-authored-by: Marvin Möltgen <39344769+M123-dev@users.noreply.github.com>
* Revert "Revert "feat: Smooth Dialog with an axis for buttons (#2587)" (#2608)"
This reverts commit 6b52473394b921126d71be3291902ad27aa03e62.
* Many fixes
* Small doc + Title & Cross in separated widgets
* Increase a little bit the line height to improve readability
Co-authored-by: monsieurtanuki <fabrice_fontaine@hotmail.com>
* Sign up form: try to highlight the issue
* oOOO
Dart format acts really weirdly on this one…
* Checkboxes: the whole item (including text) is clickable, not only the checkbox itself
* Sign up: Highlight the faulting field
Impacted files:
* `language_selector.dart`: refactored for consistent data and filter
* `user_preferences_dev_mode.dart`: removed the language selector
* `user_preferences_settings.dart`: put the language selector, slightly refactored for UI consistency with country selector
* feat: language filter
* feat: dev mode language search
* Oop, Open food facts Language used
* language picker seperated.
* localize choose app language
* fix: language filter changes requested
* fix: further optimization
Co-authored-by: Pierre Slamich <pierre@openfoodfacts.org>
New files:
* `smooth_product_card_template.dart`: Empty template for a product card display.
* `smooth_product_image_container.dart`: Container to display the main product image on a product card.
Impacted files:
* `smooth_product_card_found.dart`: fix as `backgroundColor` was not taken into account anymore
* `smooth_product_image.dart`: refactored with new class `SmoothImageContainer`
* feat: Update to new color scheme
* Update goldens
* Update packages/smooth_app/lib/themes/smooth_theme.dart
Co-authored-by: monsieurtanuki <fabrice_fontaine@hotmail.com>
* Updated to new smaller color scheme
* Updated Goldens
* Some minor fixes
* Update pubspec.lock
* Update goldens
* Next fixes
* fix login page
* More fixes
* Even more fixes
* latest fixes with pierre
Co-authored-by: monsieurtanuki <fabrice_fontaine@hotmail.com>