* feat: added sign up deeplink #4169
* feat: made it so that the user goes to onboarding after sign up
* feat: added deeplinking for the sign up page #4169
### What
<!-- Added deep linking for the sign up page-->
- <!-- Changed x to achieve y -->
<!--
Please name your pull request following this scheme: `type: What you did` this allows us to automatically generate the changelog
Following `type`s are allowed:
- `feat`, for Features
- `fix`, for Bug Fixes
- `docs`, for Documentation
- `ci`, for Automation
- `refactor`, for code Refactoring
- `chore`, for Miscellaneous things
-->
### Screenshot
<!-- Insert a screenshot to provide visual record of your changes, if visible -->
### Fixes bug(s)
<!-- change by appropriate issues. -->
<!-- Please use a linking keyword https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword -->
- Fixes: <!-- #1 Note: you can also use Closes: -->
### Part of
- #525 <!-- Add the most granular issue possible -->
* feat: added an external link for the signup page
* feat: moved the getting of user preferences to the success state only
New files:
* `dao_osm_location.dart`: DAO about OSM locations.
* `loading_status.dart`: Common loading status.
* `location_list_supplier.dart`: Asynchronously loads locations.
* `location_map_page.dart`: Page that displays a map centered on a location.
* `location_query_model.dart`: Location query model.
* `location_query_page.dart`: Page that displays location results during and after download.
* `osm_location.dart`: Location as expected from OSM.
* `product_loading_status.dart`: Product loading status. Refactored from `product_list_item_simple.dart`
* `search_app_bar_title.dart`: Common search app bar title.
* `search_empty_screen.dart`: Common search empty screen.
* `search_helper.dart`: Common "text-field + history" search helper.
* `search_loading_screen.dart`: Common search loading screen.
* `search_location_helper.dart`: Search helper dedicated to location search.
* `search_location_model.dart`: Search location model.
* `search_location_preloaded_item.dart`: Location search preloaded list item, for locations historically selected.
* `search_preloaded_item.dart`: Common search preloaded item.
* `search_product_helper.dart`: Search helper dedicated to product search. Used to be in `search_page.dart`
Impacted files
* `app_en.arb`: added a "No location found" label
* `app_fr.arb`: added a "No location found" label
* `app_navigator.dart`: minor refactoring
* `dao_string_list.dart`: history key for new feature "previous location searches"
* `local_database.dart`: upgraded the version to take into account new class `DaoOsmLocation`
* `personalized_ranking_model.dart`: now using a common `LoadingStatus`
* `personalized_ranking_page.dart`: now using a common `LoadingStatus`
* `product_list_item_simple.dart`: now using a common `ProductLoadingStatus`
* `product_model.dart`: now using a common `ProductLoadingStatus`
* `product_price_item.dart`: added unrelated TODO comment
* `product_query_model.dart`: now using a common `LoadingStatus`
* `product_query_page.dart`: now using common `SearchLoadingScreen`, `SearchEmptyScreen` and `SearchAppBarTitle`
* `product_query_page_helper.dart`: removed useless `ProductQueryPageResult`; refactored `EditProductCallback` to `SearchQueryCallback` somewhere else
* `search_history_view.dart`: refactored with `SearchHelper` and preloaded items
* `search_page.dart`: refactored the actual search code to `SearchHelper`; added preloaded items; found a bug
* `smooth_product_carousel.dart`: minor refactoring
* `user_preferences_dev_mode.dart`: added a temporary access to location search; removed useless key
* Product Info Design Changed
* Product Design Page splitted
* Back Button Added
* Product info page fullscreen, and Back button Added
* Made Review Changes
* used the double format + trailing commas + removed hardcode values
* Trailling comma change
* Theme.of(Context) cached, added trailiing commas, Mediaquery.sizeof() used
* Print Removed and Colorsceme is now under build function
* Text style Edited with copywith()
* Text style Edited with copywith()
---------
Co-authored-by: Pierre Slamich <pierre@openfoodfacts.org>
* 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: 4163 - "incomplete product" card added to product summary
New files:
* `product_compatibility_header.dart`: Header showing the product compatibility (color + text). Used to be private in `summary_card.dart`.
* `product_incomplete_card.dart`: "Incomplete product!" card to be displayed in product summary, if relevant.
* `summary_attribute_group.dart`: Shows the attribute groups in a product summary card. Used to be private in `summary_card.dart`.
Impacted files:
* `add_new_product_page.dart`: added a constructor for product instead of barcode; added display parameters; now using new "nutrition field editor"
* `add_nutrition_button.dart`: minor refactoring
* `app_en.arb`: added 1 label for the "hey! please complete the product!" message
* `app_navigator.dart`: minor refactoring
* `edit_product_page.dart`: minor refactoring
* `nutrition_page_loaded.dart`: minor refactoring
* `product_field_editor.dart`: new "nutrition field editor"
* `smooth_product_card_not_found.dart`: minor refactoring
* `summary_card.dart`: refactored into additional files because the file was getting too big and possibly too confusing; added the "incomplete product" card (if relevant)
* feat: 4163 - after review
Impacted files:
* `app_en.arb`: changed the label
* `product_incomplete_card.dart`: changed the border radius
* feat: 4163 - after comment
Impacted files:
* `add_new_product_page.dart`: added an `AnalyticsEvent` in the constructors; simplified the constructors.
* `analytics_helper.dart`: added 2 events
* `product_incomplete_card.dart`: minor refactoring
* `summary_card.dart`: added a matomo
* feat: 4163 - after comment
Impacted files:
* `add_new_product_page.dart`: added an `AnalyticsEvent` in the constructors; simplified the constructors.
* `analytics_helper.dart`: added 2 events
* `product_incomplete_card.dart`: minor refactoring
* `summary_card.dart`: added a matomo
* feat: 4163 - new analytics category "fast track edit product"
Impacted files:
* `add_new_product_page.dart`: specific events for each case
* `analytics_helper.dart`: added 1 category and 4 events
* Support for deep links on Android
* Deep links: Better support for network errors / unknown product
* iOS configuration for deep links
* Improve documentation
* Improve doc
* Support other domains
* Add an error page
* Upgrade to go_router 7.0.2
* Add some Sentry events
* Update packages/smooth_app/lib/helpers/extension_on_text_helper.dart
Co-authored-by: monsieurtanuki <fabrice_fontaine@hotmail.com>
* SizedBox -> EMPTY_WIDGET
* PreferencePageType: from name to tag
* Remove an unused async keyword
* Move internal app routes to an enum
* Add a clarification about `ProductLoaderPage`
* Update packages/smooth_app/lib/pages/navigator/app_navigator.dart
Co-authored-by: Pierre Slamich <pierre.slamich@gmail.com>
* Revert how we open the product addition/creation on the product not found card
---------
Co-authored-by: monsieurtanuki <fabrice_fontaine@hotmail.com>
Co-authored-by: Pierre Slamich <pierre.slamich@gmail.com>