From f95b8373956c20516f5e7ab42bc439bf1041def7 Mon Sep 17 00:00:00 2001 From: Pierre Slamich Date: Fri, 18 Oct 2024 16:42:08 +0200 Subject: [PATCH 01/32] Create jekyll-gh-pages.yml --- .github/workflows/jekyll-gh-pages.yml | 51 +++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/jekyll-gh-pages.yml diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml new file mode 100644 index 00000000000..f8822cea657 --- /dev/null +++ b/.github/workflows/jekyll-gh-pages.yml @@ -0,0 +1,51 @@ +# Sample workflow for building and deploying a Jekyll site to GitHub Pages +name: Deploy Jekyll with GitHub Pages dependencies preinstalled + +on: + # Runs on pushes targeting the default branch + push: + branches: ["develop"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Build job + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Pages + uses: actions/configure-pages@v5 + - name: Build with Jekyll + uses: actions/jekyll-build-pages@v1 + with: + source: ./ + destination: ./_site + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 From 69d9f2ebb40de8a816828137b84a80c1a5407950 Mon Sep 17 00:00:00 2001 From: Pierre Slamich Date: Fri, 18 Oct 2024 16:55:05 +0200 Subject: [PATCH 02/32] Create mkdocs.yml --- mkdocs.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 mkdocs.yml diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 00000000000..1a0c7e95083 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,22 @@ +# Where to find documentation +docs_dir: doc + +# Link to Github on every page +repo_url: https://github.com/openfoodfacts/smooth-app +edit_uri: blob/develop/docs/ + +site_name: Open Food Facts mobile app +site_dir: gh_pages + +theme: + name: material + +markdown_extensions: + - footnotes + - mdx_truly_sane_lists + - pymdownx.highlight + - pymdownx.superfences + +plugins: + - awesome-pages + - search From b14389ca919c74863c0c150e411d55feb975043a Mon Sep 17 00:00:00 2001 From: Pierre Slamich Date: Fri, 18 Oct 2024 17:01:28 +0200 Subject: [PATCH 03/32] ci: Update labeler.yml --- .github/labeler.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/labeler.yml b/.github/labeler.yml index 4fca91ccd05..0000fd33d44 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -284,5 +284,6 @@ Prices: - any-glob-to-any-file: 'packages/smooth_app/lib/pages/onboarding/currency_selector.dart' - any-glob-to-any-file: 'packages/smooth_app/lib/pages/onboarding/currency_selector_helper.dart' - - +router: +- changed-files: + - any-glob-to-any-file: 'packages/smooth_app/lib/pages/navigator/app_navigator.dart' From 4025f30880974cf9c595332bab622e6a1fe3930d Mon Sep 17 00:00:00 2001 From: Edouard Marquez Date: Fri, 18 Oct 2024 17:51:33 +0200 Subject: [PATCH 04/32] GoRouter doesn't like subroutes for external links (#5706) --- .../lib/pages/navigator/app_navigator.dart | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/smooth_app/lib/pages/navigator/app_navigator.dart b/packages/smooth_app/lib/pages/navigator/app_navigator.dart index e28f03f64e2..34e3b65682d 100644 --- a/packages/smooth_app/lib/pages/navigator/app_navigator.dart +++ b/packages/smooth_app/lib/pages/navigator/app_navigator.dart @@ -228,18 +228,18 @@ class _SmoothGoRouter { } }, ), - GoRoute( - path: _InternalAppRoutes.EXTERNAL_PAGE, - builder: (BuildContext context, GoRouterState state) { - return ExternalPage(path: state.uri.queryParameters['path']!); - }, - ), GoRoute( path: _InternalAppRoutes.SIGNUP_PAGE, builder: (_, __) => const SignUpPage(), ) ], ), + GoRoute( + path: '/${_InternalAppRoutes.EXTERNAL_PAGE}/:page', + builder: (BuildContext context, GoRouterState state) { + return ExternalPage(path: state.pathParameters['page']!); + }, + ), ], redirect: (BuildContext context, GoRouterState state) { final String path = state.matchedLocation; @@ -460,5 +460,5 @@ class AppRoutes { // Open an external link (where path is relative to the OFF website) static String EXTERNAL(String path) => - '/${_InternalAppRoutes.EXTERNAL_PAGE}/?path=$path'; + '/${_InternalAppRoutes.EXTERNAL_PAGE}/$path'; } From 32ed1c6f73400efd9f58ccbffd5f876f36d89eb1 Mon Sep 17 00:00:00 2001 From: Pierre Slamich Date: Fri, 18 Oct 2024 18:26:47 +0200 Subject: [PATCH 05/32] Add automatic code documentation generation using MKDOCS and GitHub Actions (#5711) --- For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/openfoodfacts/smooth-app?shareId=XXXX-XXXX-XXXX-XXXX). --- .github/workflows/generate-docs.yml | 34 +++++++++++++++++++++++++++++ mkdocs.yml | 4 ++++ 2 files changed, 38 insertions(+) create mode 100644 .github/workflows/generate-docs.yml diff --git a/.github/workflows/generate-docs.yml b/.github/workflows/generate-docs.yml new file mode 100644 index 00000000000..b9cb882baa2 --- /dev/null +++ b/.github/workflows/generate-docs.yml @@ -0,0 +1,34 @@ +name: Generate and Deploy Documentation + +on: + push: + branches: + - develop + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.x' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install mkdocs mkdocs-material + + - name: Build documentation + run: mkdocs build + + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./site diff --git a/mkdocs.yml b/mkdocs.yml index 1a0c7e95083..a95314760b6 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -10,6 +10,10 @@ site_dir: gh_pages theme: name: material + palette: + primary: beige + text: black + logo: assets/app/logo_text_black.svg markdown_extensions: - footnotes From 3d83720891674574b3ede47d601ebc55e5560396 Mon Sep 17 00:00:00 2001 From: Pierre Slamich Date: Fri, 18 Oct 2024 18:53:14 +0200 Subject: [PATCH 06/32] Create dartdoc.yml --- .github/workflows/dartdoc.yml | 36 +++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/dartdoc.yml diff --git a/.github/workflows/dartdoc.yml b/.github/workflows/dartdoc.yml new file mode 100644 index 00000000000..77185a5a23d --- /dev/null +++ b/.github/workflows/dartdoc.yml @@ -0,0 +1,36 @@ + name: GitHub Pages Deploy Action + on: + push: + branches: + - "develop" + #- "dartdoc-smoothie" + jobs: + deploy-pages: + name: Deploy to GitHub Pages + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./packages/smooth_app + steps: + + - name: Chekout code + uses: actions/checkout@v3 + + - name: Setup Flutter + uses: actions/cache@v3 + with: + path: ${{ runner.tool_cache }}/flutter + key: flutter-2.5.0-stable + - uses: subosito/flutter-action@v2 + with: + channel: stable + flutter-version: 2.5.0 + + - name: Run Dartdoc + run: pub global activate dartdoc && dartdoc + + - name: Deploy API documentation to Github Pages + uses: JamesIves/github-pages-deploy-action@v4.3.3 + with: + BRANCH: gh-pages + FOLDER: packages/smooth_app/doc/api/ From d41bea1d041e74b1b68a6a44b0458cbcfafe05fb Mon Sep 17 00:00:00 2001 From: Pierre Slamich Date: Fri, 18 Oct 2024 19:05:32 +0200 Subject: [PATCH 07/32] Delete .github/workflows/jekyll-gh-pages.yml --- .github/workflows/jekyll-gh-pages.yml | 51 --------------------------- 1 file changed, 51 deletions(-) delete mode 100644 .github/workflows/jekyll-gh-pages.yml diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml deleted file mode 100644 index f8822cea657..00000000000 --- a/.github/workflows/jekyll-gh-pages.yml +++ /dev/null @@ -1,51 +0,0 @@ -# Sample workflow for building and deploying a Jekyll site to GitHub Pages -name: Deploy Jekyll with GitHub Pages dependencies preinstalled - -on: - # Runs on pushes targeting the default branch - push: - branches: ["develop"] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages -permissions: - contents: read - pages: write - id-token: write - -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. -concurrency: - group: "pages" - cancel-in-progress: false - -jobs: - # Build job - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Setup Pages - uses: actions/configure-pages@v5 - - name: Build with Jekyll - uses: actions/jekyll-build-pages@v1 - with: - source: ./ - destination: ./_site - - name: Upload artifact - uses: actions/upload-pages-artifact@v3 - - # Deployment job - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - needs: build - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 From 93a3ed7e77cdd507d32bb31596645860eade4b6c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 19 Oct 2024 08:08:13 +0200 Subject: [PATCH 08/32] chore(deps): bump rive from 0.13.14 to 0.13.15 in /packages/smooth_app (#5719) Bumps [rive](https://github.com/rive-app/rive-flutter) from 0.13.14 to 0.13.15. - [Release notes](https://github.com/rive-app/rive-flutter/releases) - [Changelog](https://github.com/rive-app/rive-flutter/blob/master/CHANGELOG.md) - [Commits](https://github.com/rive-app/rive-flutter/commits) --- updated-dependencies: - dependency-name: rive dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/smooth_app/pubspec.lock | 8 ++++---- packages/smooth_app/pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/smooth_app/pubspec.lock b/packages/smooth_app/pubspec.lock index 37bdbafea20..950bb6976ca 100644 --- a/packages/smooth_app/pubspec.lock +++ b/packages/smooth_app/pubspec.lock @@ -1317,18 +1317,18 @@ packages: dependency: "direct main" description: name: rive - sha256: cd45b071b288e4bef05f25423e1001a9b3218b81745deae18c9b4d2a2952cc56 + sha256: "468f0880d49c513e09fdfba26e4abd9d50433c2cf398210b62948d8de3837dd5" url: "https://pub.dev" source: hosted - version: "0.13.14" + version: "0.13.15" rive_common: dependency: transitive description: name: rive_common - sha256: c7bf0781b1621629361579c300ac2f8aa1a238227a242202a596e82becc244d7 + sha256: a3e5786f8d85c89977062b9ceeb3b72a7c28f81e32fb68497744042ce20bee2f url: "https://pub.dev" source: hosted - version: "0.4.11" + version: "0.4.12" scanner_ml_kit: dependency: "direct main" description: diff --git a/packages/smooth_app/pubspec.yaml b/packages/smooth_app/pubspec.yaml index dca1fa33f48..b59bc09c125 100644 --- a/packages/smooth_app/pubspec.yaml +++ b/packages/smooth_app/pubspec.yaml @@ -60,7 +60,7 @@ dependencies: share_plus: 10.0.0 fimber: 0.7.0 shimmer: ^3.0.0 - rive: 0.13.14 + rive: 0.13.15 webview_flutter: 4.10.0 webview_flutter_android: 4.0.0 webview_flutter_wkwebview: 3.16.0 From 72ec3a658f170b7c6c2df5fb3395f486a77be4d5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 19 Oct 2024 08:16:23 +0200 Subject: [PATCH 09/32] chore(deps): bump sqflite_common_ffi in /packages/smooth_app (#5718) Bumps [sqflite_common_ffi](https://github.com/tekartik/sqflite) from 2.3.3 to 2.3.4. - [Commits](https://github.com/tekartik/sqflite/commits) --- updated-dependencies: - dependency-name: sqflite_common_ffi dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: monsieurtanuki --- packages/smooth_app/pubspec.lock | 4 ++-- packages/smooth_app/pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/smooth_app/pubspec.lock b/packages/smooth_app/pubspec.lock index 950bb6976ca..7d12b448aa9 100644 --- a/packages/smooth_app/pubspec.lock +++ b/packages/smooth_app/pubspec.lock @@ -1511,10 +1511,10 @@ packages: dependency: "direct main" description: name: sqflite_common_ffi - sha256: "4d6137c29e930d6e4a8ff373989dd9de7bac12e3bc87bce950f6e844e8ad3bb5" + sha256: d316908f1537725427ff2827a5c5f3b2c1bc311caed985fe3c9b10939c9e11ca url: "https://pub.dev" source: hosted - version: "2.3.3" + version: "2.3.4" sqflite_darwin: dependency: transitive description: diff --git a/packages/smooth_app/pubspec.yaml b/packages/smooth_app/pubspec.yaml index b59bc09c125..f609be58f4c 100644 --- a/packages/smooth_app/pubspec.yaml +++ b/packages/smooth_app/pubspec.yaml @@ -39,7 +39,7 @@ dependencies: provider: 6.1.2 sentry_flutter: 8.9.0 sqflite: 2.4.0 - sqflite_common_ffi: 2.3.3 + sqflite_common_ffi: 2.3.4 url_launcher: 6.3.0 visibility_detector: 0.4.0+2 app_settings: 5.1.1 From 036e79e9e12333b82f4a24dc688ba6f9bdd1b6fd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 19 Oct 2024 11:10:14 +0200 Subject: [PATCH 10/32] chore(deps): bump JamesIves/github-pages-deploy-action (#5716) Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.3.3 to 4.6.8. - [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases) - [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.3.3...v4.6.8) --- updated-dependencies: - dependency-name: JamesIves/github-pages-deploy-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/dartdoc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dartdoc.yml b/.github/workflows/dartdoc.yml index 77185a5a23d..a88cf3c0120 100644 --- a/.github/workflows/dartdoc.yml +++ b/.github/workflows/dartdoc.yml @@ -30,7 +30,7 @@ run: pub global activate dartdoc && dartdoc - name: Deploy API documentation to Github Pages - uses: JamesIves/github-pages-deploy-action@v4.3.3 + uses: JamesIves/github-pages-deploy-action@v4.6.8 with: BRANCH: gh-pages FOLDER: packages/smooth_app/doc/api/ From aea9733f199fcb340d6c4cdc51b74c4d3795d92e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 19 Oct 2024 11:10:28 +0200 Subject: [PATCH 11/32] chore(deps): bump peaceiris/actions-gh-pages from 3 to 4 (#5715) Bumps [peaceiris/actions-gh-pages](https://github.com/peaceiris/actions-gh-pages) from 3 to 4. - [Release notes](https://github.com/peaceiris/actions-gh-pages/releases) - [Changelog](https://github.com/peaceiris/actions-gh-pages/blob/main/CHANGELOG.md) - [Commits](https://github.com/peaceiris/actions-gh-pages/compare/v3...v4) --- updated-dependencies: - dependency-name: peaceiris/actions-gh-pages dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/generate-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/generate-docs.yml b/.github/workflows/generate-docs.yml index b9cb882baa2..7c7be961237 100644 --- a/.github/workflows/generate-docs.yml +++ b/.github/workflows/generate-docs.yml @@ -28,7 +28,7 @@ jobs: run: mkdocs build - name: Deploy to GitHub Pages - uses: peaceiris/actions-gh-pages@v3 + uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./site From 76e0285492d81fac6963bf1b362cf4ff56f41991 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 19 Oct 2024 11:10:47 +0200 Subject: [PATCH 12/32] chore(deps): bump actions/cache from 3 to 4 (#5714) Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](https://github.com/actions/cache/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/dartdoc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dartdoc.yml b/.github/workflows/dartdoc.yml index a88cf3c0120..d8499592ab6 100644 --- a/.github/workflows/dartdoc.yml +++ b/.github/workflows/dartdoc.yml @@ -17,7 +17,7 @@ uses: actions/checkout@v3 - name: Setup Flutter - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ runner.tool_cache }}/flutter key: flutter-2.5.0-stable From b5cf473daca5a4722767d7fc4780230fac92ffcd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 19 Oct 2024 11:10:57 +0200 Subject: [PATCH 13/32] chore(deps): bump actions/checkout from 3 to 4 (#5712) Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/dartdoc.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dartdoc.yml b/.github/workflows/dartdoc.yml index d8499592ab6..25b8000db46 100644 --- a/.github/workflows/dartdoc.yml +++ b/.github/workflows/dartdoc.yml @@ -14,7 +14,7 @@ steps: - name: Chekout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Flutter uses: actions/cache@v4 From 3698965129b285f0064f6c882fba09b55e1b001d Mon Sep 17 00:00:00 2001 From: Pierre Slamich Date: Sat, 19 Oct 2024 11:12:50 +0200 Subject: [PATCH 14/32] ci: Delete .github/workflows/generate-docs.yml --- .github/workflows/generate-docs.yml | 34 ----------------------------- 1 file changed, 34 deletions(-) delete mode 100644 .github/workflows/generate-docs.yml diff --git a/.github/workflows/generate-docs.yml b/.github/workflows/generate-docs.yml deleted file mode 100644 index 7c7be961237..00000000000 --- a/.github/workflows/generate-docs.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Generate and Deploy Documentation - -on: - push: - branches: - - develop - workflow_dispatch: - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: '3.x' - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install mkdocs mkdocs-material - - - name: Build documentation - run: mkdocs build - - - name: Deploy to GitHub Pages - uses: peaceiris/actions-gh-pages@v4 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./site From 3185c72a36c2dc1cc96369941f92f62a16ad6fd7 Mon Sep 17 00:00:00 2001 From: monsieurtanuki Date: Sun, 20 Oct 2024 08:40:26 +0200 Subject: [PATCH 15/32] fix: 5665 - display "add nutrition facts" button only for relevant types (#5674) 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` --- .../knowledge_panels/knowledge_panel_action_card.dart | 4 +++- .../lib/knowledge_panel/knowledge_panels_builder.dart | 4 +++- .../smooth_app/lib/pages/product/add_nutrition_button.dart | 4 ++++ packages/smooth_app/pubspec.lock | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/smooth_app/lib/knowledge_panel/knowledge_panels/knowledge_panel_action_card.dart b/packages/smooth_app/lib/knowledge_panel/knowledge_panels/knowledge_panel_action_card.dart index 61c09bbaaad..c212a2d48bf 100644 --- a/packages/smooth_app/lib/knowledge_panel/knowledge_panels/knowledge_panel_action_card.dart +++ b/packages/smooth_app/lib/knowledge_panel/knowledge_panels/knowledge_panel_action_card.dart @@ -65,7 +65,9 @@ class KnowledgePanelActionCard extends StatelessWidget { ); } if (kpAction == KnowledgePanelAction.addNutritionFacts) { - return AddNutritionButton(product); + if (AddNutritionButton.acceptsNutritionFacts(product)) { + return AddNutritionButton(product); + } } Logs.e('unhandled knowledge panel action: $action'); return null; diff --git a/packages/smooth_app/lib/knowledge_panel/knowledge_panels_builder.dart b/packages/smooth_app/lib/knowledge_panel/knowledge_panels_builder.dart index feaff5bacb7..996aff5e5b7 100644 --- a/packages/smooth_app/lib/knowledge_panel/knowledge_panels_builder.dart +++ b/packages/smooth_app/lib/knowledge_panel/knowledge_panels_builder.dart @@ -65,7 +65,9 @@ class KnowledgePanelsBuilder { ProductState.NUTRITION_FACTS_COMPLETED.toBeCompletedTag) ?? false; if (nutritionAddOrUpdate) { - children.add(AddNutritionButton(product)); + if (AddNutritionButton.acceptsNutritionFacts(product)) { + children.add(AddNutritionButton(product)); + } } final bool needEditIngredients = context diff --git a/packages/smooth_app/lib/pages/product/add_nutrition_button.dart b/packages/smooth_app/lib/pages/product/add_nutrition_button.dart index 445fa12d418..27e7b002405 100644 --- a/packages/smooth_app/lib/pages/product/add_nutrition_button.dart +++ b/packages/smooth_app/lib/pages/product/add_nutrition_button.dart @@ -10,6 +10,10 @@ class AddNutritionButton extends StatelessWidget { final Product product; + static bool acceptsNutritionFacts(final Product product) => + product.productType != ProductType.product && + product.productType != ProductType.beauty; + @override Widget build(BuildContext context) => addPanelButton( AppLocalizations.of(context).score_add_missing_nutrition_facts, diff --git a/packages/smooth_app/pubspec.lock b/packages/smooth_app/pubspec.lock index 7d12b448aa9..4514dbf6068 100644 --- a/packages/smooth_app/pubspec.lock +++ b/packages/smooth_app/pubspec.lock @@ -1853,4 +1853,4 @@ packages: version: "3.1.2" sdks: dart: ">=3.5.3 <4.0.0" - flutter: ">=3.22.0" + flutter: ">=3.24.0" From 29f433c8069487147d7854871788da1c0de757ab Mon Sep 17 00:00:00 2001 From: monsieurtanuki Date: Sun, 20 Oct 2024 14:16:33 +0200 Subject: [PATCH 16/32] feat: 5700 - no click for KP title without additional elements (#5709) 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 --- .../knowledge_panel_card.dart | 11 ++++- .../knowledge_panels_builder.dart | 49 +++++++++++++++++-- 2 files changed, 55 insertions(+), 5 deletions(-) diff --git a/packages/smooth_app/lib/knowledge_panel/knowledge_panels/knowledge_panel_card.dart b/packages/smooth_app/lib/knowledge_panel/knowledge_panels/knowledge_panel_card.dart index b40ff5a410a..82f53fef727 100644 --- a/packages/smooth_app/lib/knowledge_panel/knowledge_panels/knowledge_panel_card.dart +++ b/packages/smooth_app/lib/knowledge_panel/knowledge_panels/knowledge_panel_card.dart @@ -43,11 +43,18 @@ class KnowledgePanelCard extends StatelessWidget { ); } + // in some cases there's nothing to click about. + // cf. https://github.com/openfoodfacts/smooth-app/issues/5700 + final bool improvedIsClickable = isClickable && + KnowledgePanelsBuilder.hasSomethingToDisplay( + product, + panelId, + ); return Padding( padding: const EdgeInsets.symmetric(vertical: SMALL_SPACE), child: InkWell( borderRadius: ANGULAR_BORDER_RADIUS, - onTap: !isClickable + onTap: !improvedIsClickable ? null : () async => Navigator.push( context, @@ -64,7 +71,7 @@ class KnowledgePanelCard extends StatelessWidget { ), child: KnowledgePanelsBuilder.getPanelSummaryWidget( panel, - isClickable: isClickable, + isClickable: improvedIsClickable, margin: EdgeInsets.zero, ) ?? const SizedBox(), diff --git a/packages/smooth_app/lib/knowledge_panel/knowledge_panels_builder.dart b/packages/smooth_app/lib/knowledge_panel/knowledge_panels_builder.dart index 996aff5e5b7..e60edf05757 100644 --- a/packages/smooth_app/lib/knowledge_panel/knowledge_panels_builder.dart +++ b/packages/smooth_app/lib/knowledge_panel/knowledge_panels_builder.dart @@ -151,6 +151,24 @@ class KnowledgePanelsBuilder { return elements.first; } + /// Returns true if there are elements to display for that panel. + static bool hasSomethingToDisplay( + final Product product, + final String panelId, + ) { + final KnowledgePanel panel = + KnowledgePanelsBuilder.getKnowledgePanel(product, panelId)!; + if (panel.elements == null) { + return false; + } + for (final KnowledgePanelElement element in panel.elements!) { + if (_hasSomethingToDisplay(element: element, product: product)) { + return true; + } + } + return false; + } + /// Returns a padded widget that displays the KP element, or rarely null. static Widget? getElementWidget({ required final KnowledgePanelElement knowledgePanelElement, @@ -180,6 +198,8 @@ class KnowledgePanelsBuilder { } /// Returns the widget that displays the KP element, or rarely null. + /// + /// cf. [_hasSomethingToDisplay]. static Widget? _getElementWidget({ required final KnowledgePanelElement element, required final Product product, @@ -244,10 +264,33 @@ class KnowledgePanelsBuilder { element.actionElement!, product, ); + } + } - default: - Logs.e('unexpected element type: ${element.elementType}'); - return null; + /// Returns true if the element has something to display. + /// + /// cf. [_getElementWidget]. + static bool _hasSomethingToDisplay({ + required final KnowledgePanelElement element, + required final Product product, + }) { + switch (element.elementType) { + case KnowledgePanelElementType.TEXT: + case KnowledgePanelElementType.IMAGE: + case KnowledgePanelElementType.PANEL_GROUP: + case KnowledgePanelElementType.TABLE: + case KnowledgePanelElementType.MAP: + case KnowledgePanelElementType.ACTION: + return true; + case KnowledgePanelElementType.UNKNOWN: + return false; + case KnowledgePanelElementType.PANEL: + final String panelId = element.panelElement!.panelId; + final KnowledgePanel? panel = getKnowledgePanel(product, panelId); + if (panel == null) { + return false; + } + return true; } } From a8cfcd02ce8fd71289971513e744897f6f857bbe Mon Sep 17 00:00:00 2001 From: monsieurtanuki Date: Sun, 20 Oct 2024 14:17:21 +0200 Subject: [PATCH 17/32] fix: 5693 - able to run tasks without minimum duration wait (#5694) * fix: 5693 - able to run tasks without minimum duration wait Impacted files: * `background_task_manager.dart`: made it possible to force an immediate run if possible * `offline_tasks_page.dart`: force an immediate run if possible when clicking on the refresh button * Added a call to BackgroundTaskManager.run related to prices * Minor fix * Wtf tests * Ugly fix for mocking hive --- .../background/background_task_manager.dart | 54 +++++++++++++------ .../lib/database/local_database.dart | 7 +++ .../lib/pages/offline_tasks_page.dart | 4 +- .../preferences/user_preferences_page.dart | 4 ++ .../dialogs/generic_lib/dialogs_test.dart | 2 + .../test/tests_utils/local_database_mock.dart | 9 ++++ .../forgot_password_page_layout_test.dart | 2 + .../test/users/login_page_layout_test.dart | 2 + .../test/users/signup_page_layout_test.dart | 2 + 9 files changed, 68 insertions(+), 18 deletions(-) diff --git a/packages/smooth_app/lib/background/background_task_manager.dart b/packages/smooth_app/lib/background/background_task_manager.dart index 66704385daf..2ca1815d627 100644 --- a/packages/smooth_app/lib/background/background_task_manager.dart +++ b/packages/smooth_app/lib/background/background_task_manager.dart @@ -40,7 +40,7 @@ class BackgroundTaskManager { ); await DaoStringList(localDatabase).add(DaoStringList.keyTasks, taskId); await task.preExecute(localDatabase); - run(); + run(forceNowIfPossible: true); } /// Finishes a task cleanly. @@ -103,11 +103,13 @@ class BackgroundTaskManager { static const int _minimumDurationBetweenRuns = 5 * 1000; /// Returns the "now" timestamp if we can run now, or `null`. - int? _canStartNow() { - final DaoInt daoInt = DaoInt(localDatabase); + /// + /// With [forceNowIfPossible] we can be more aggressive and force the decision + /// of running now or at least just after the current running block. + int? _canStartNow(final bool forceNowIfPossible) { final int now = LocalDatabase.nowInMillis(); - final int? latestRunStart = daoInt.get(_lastStartTimestampKey); - final int? latestRunStop = daoInt.get(_lastStopTimestampKey); + final int? latestRunStart = localDatabase.daoIntGet(_lastStartTimestampKey); + final int? latestRunStop = localDatabase.daoIntGet(_lastStopTimestampKey); if (_running) { // if pretending to be running but started a very very long time ago if (latestRunStart != null && @@ -115,6 +117,10 @@ class BackgroundTaskManager { // we assume we can run now. return now; } + // let's try again at the end of the current run. + if (forceNowIfPossible) { + _forceRunAgain = true; + } return null; } // if the last run stopped correctly or was started a long time ago. @@ -123,7 +129,10 @@ class BackgroundTaskManager { // if the last run stopped not enough time ago. if (latestRunStop != null && latestRunStop + _minimumDurationBetweenRuns >= now) { - return null; + // let's apply that minimum duration if there's no rush + if (!forceNowIfPossible) { + return null; + } } return now; } @@ -132,8 +141,8 @@ class BackgroundTaskManager { /// Signals we've just finished working and that we're ready for a new run. Future _justFinished() async { - await DaoInt(localDatabase).put(_lastStartTimestampKey, null); - await DaoInt(localDatabase).put( + await localDatabase.daoIntPut(_lastStartTimestampKey, null); + await localDatabase.daoIntPut( _lastStopTimestampKey, LocalDatabase.nowInMillis(), ); @@ -141,11 +150,18 @@ class BackgroundTaskManager { bool _running = false; + /// Flag to say: I know you're running, please try again, it's worth it. + bool _forceRunAgain = false; + /// Runs all the pending tasks, and then smoothly ends, without awaiting. - void run() { - // no await - _runAsync(); - } + /// + /// Can be called in 2 cases: + /// 1. we've just created a task and we really want it to be executed ASAP + /// `forceNowIfPossible = true` + /// 2. we're just checking casually if there are pending tasks + /// `forceNowIfPossible = false` + void run({final bool forceNowIfPossible = false}) => + unawaited(_runAsync(forceNowIfPossible)); /// Runs all the pending tasks, and then smoothly ends. /// @@ -154,19 +170,17 @@ class BackgroundTaskManager { /// If a task fails and another task with the same stamp comes after, /// we can remove the failed task from the list: it would have been /// overwritten anyway. - Future _runAsync() async { - final int? now = _canStartNow(); + Future _runAsync(final bool forceNowIfPossible) async { + final int? now = _canStartNow(forceNowIfPossible); if (now == null) { return; } _running = true; - /// /// Will also set the "latest start timestamp". /// With this, we can detect a run that went wrong. /// Like, still running 1 hour later. - final DaoInt daoInt = DaoInt(localDatabase); - await daoInt.put(_lastStartTimestampKey, now); + await localDatabase.daoIntPut(_lastStartTimestampKey, now); bool runAgain = true; while (runAgain) { runAgain = false; @@ -196,6 +210,12 @@ class BackgroundTaskManager { } } await _justFinished(); + if (!runAgain) { + if (_forceRunAgain) { + runAgain = true; + _forceRunAgain = false; + } + } } _running = false; } diff --git a/packages/smooth_app/lib/database/local_database.dart b/packages/smooth_app/lib/database/local_database.dart index 5d5d7abddda..7969c8145c1 100644 --- a/packages/smooth_app/lib/database/local_database.dart +++ b/packages/smooth_app/lib/database/local_database.dart @@ -51,6 +51,13 @@ class LocalDatabase extends ChangeNotifier { List getAllTaskIds() => DaoStringList(this).getAll(DaoStringList.keyTasks); + /// Ugly solution to be able to mock hive data. + int? daoIntGet(final String key) => DaoInt(this).get(key); + + /// Ugly solution to be able to mock hive data. + Future daoIntPut(final String key, final int? value) => + DaoInt(this).put(key, value); + static Future getLocalDatabase() async { // sql from there String? databasesRootPath; diff --git a/packages/smooth_app/lib/pages/offline_tasks_page.dart b/packages/smooth_app/lib/pages/offline_tasks_page.dart index 3758922aae7..327598cd0b1 100644 --- a/packages/smooth_app/lib/pages/offline_tasks_page.dart +++ b/packages/smooth_app/lib/pages/offline_tasks_page.dart @@ -32,7 +32,9 @@ class _OfflineTaskState extends State { actions: [ IconButton( onPressed: () => - BackgroundTaskManager.getInstance(localDatabase).run(), + BackgroundTaskManager.getInstance(localDatabase).run( + forceNowIfPossible: true, + ), icon: const Icon(Icons.refresh), ), ], diff --git a/packages/smooth_app/lib/pages/preferences/user_preferences_page.dart b/packages/smooth_app/lib/pages/preferences/user_preferences_page.dart index 1aae09487a3..17c6ab20c79 100644 --- a/packages/smooth_app/lib/pages/preferences/user_preferences_page.dart +++ b/packages/smooth_app/lib/pages/preferences/user_preferences_page.dart @@ -5,9 +5,11 @@ import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:matomo_tracker/matomo_tracker.dart'; import 'package:provider/provider.dart'; +import 'package:smooth_app/background/background_task_manager.dart'; import 'package:smooth_app/data_models/preferences/user_preferences.dart'; import 'package:smooth_app/data_models/product_preferences.dart'; import 'package:smooth_app/data_models/user_management_provider.dart'; +import 'package:smooth_app/database/local_database.dart'; import 'package:smooth_app/generic_lib/design_constants.dart'; import 'package:smooth_app/generic_lib/widgets/smooth_back_button.dart'; import 'package:smooth_app/helpers/app_helper.dart'; @@ -44,6 +46,8 @@ enum PreferencePageType { required final UserPreferences userPreferences, required final BuildContext context, }) { + final LocalDatabase localDatabase = context.read(); + BackgroundTaskManager.getInstance(localDatabase).run(); final AppLocalizations appLocalizations = AppLocalizations.of(context); final ThemeProvider themeProvider = context.read(); final ThemeData themeData = Theme.of(context); diff --git a/packages/smooth_app/test/dialogs/generic_lib/dialogs_test.dart b/packages/smooth_app/test/dialogs/generic_lib/dialogs_test.dart index 7d56d66a46f..526c55a091a 100644 --- a/packages/smooth_app/test/dialogs/generic_lib/dialogs_test.dart +++ b/packages/smooth_app/test/dialogs/generic_lib/dialogs_test.dart @@ -14,6 +14,7 @@ import 'package:smooth_app/themes/contrast_provider.dart'; import 'package:smooth_app/themes/theme_provider.dart'; import '../../tests_utils/goldens.dart'; +import '../../tests_utils/local_database_mock.dart'; import '../../tests_utils/mocks.dart'; void main() { @@ -72,6 +73,7 @@ void main() { const UserPreferencesPage( type: PreferencePageType.CONTRIBUTE, ), + localDatabase: MockLocalDatabase(), ), ); await tester.pumpAndSettle(); diff --git a/packages/smooth_app/test/tests_utils/local_database_mock.dart b/packages/smooth_app/test/tests_utils/local_database_mock.dart index ef0de9bb4ac..3ae0aa6edcd 100644 --- a/packages/smooth_app/test/tests_utils/local_database_mock.dart +++ b/packages/smooth_app/test/tests_utils/local_database_mock.dart @@ -2,6 +2,15 @@ import 'package:mockito/mockito.dart'; import 'package:smooth_app/database/local_database.dart'; class MockLocalDatabase extends Mock implements LocalDatabase { + final Map _daoInt = {}; + @override List getAllTaskIds() => []; + + @override + int? daoIntGet(final String key) => _daoInt[key]; + + @override + Future daoIntPut(final String key, final int? value) async => + _daoInt[key] = value; } diff --git a/packages/smooth_app/test/users/forgot_password_page_layout_test.dart b/packages/smooth_app/test/users/forgot_password_page_layout_test.dart index a626e8c30d1..d28891bf296 100644 --- a/packages/smooth_app/test/users/forgot_password_page_layout_test.dart +++ b/packages/smooth_app/test/users/forgot_password_page_layout_test.dart @@ -11,6 +11,7 @@ import 'package:smooth_app/themes/contrast_provider.dart'; import 'package:smooth_app/themes/theme_provider.dart'; import '../tests_utils/goldens.dart'; +import '../tests_utils/local_database_mock.dart'; import '../tests_utils/mocks.dart'; void main() { @@ -51,6 +52,7 @@ void main() { textContrastProvider, colorProvider, const ForgotPasswordPage(), + localDatabase: MockLocalDatabase(), ), ); await tester.pump(); diff --git a/packages/smooth_app/test/users/login_page_layout_test.dart b/packages/smooth_app/test/users/login_page_layout_test.dart index fc372dae573..7719b164caa 100644 --- a/packages/smooth_app/test/users/login_page_layout_test.dart +++ b/packages/smooth_app/test/users/login_page_layout_test.dart @@ -11,6 +11,7 @@ import 'package:smooth_app/themes/contrast_provider.dart'; import 'package:smooth_app/themes/theme_provider.dart'; import '../tests_utils/goldens.dart'; +import '../tests_utils/local_database_mock.dart'; import '../tests_utils/mocks.dart'; void main() { @@ -51,6 +52,7 @@ void main() { textContrastProvider, colorProvider, const LoginPage(), + localDatabase: MockLocalDatabase(), ), ); await tester.pump(); diff --git a/packages/smooth_app/test/users/signup_page_layout_test.dart b/packages/smooth_app/test/users/signup_page_layout_test.dart index 24246e34560..fa91ca43728 100644 --- a/packages/smooth_app/test/users/signup_page_layout_test.dart +++ b/packages/smooth_app/test/users/signup_page_layout_test.dart @@ -11,6 +11,7 @@ import 'package:smooth_app/themes/contrast_provider.dart'; import 'package:smooth_app/themes/theme_provider.dart'; import '../tests_utils/goldens.dart'; +import '../tests_utils/local_database_mock.dart'; import '../tests_utils/mocks.dart'; void main() { @@ -51,6 +52,7 @@ void main() { textContrastProvider, colorProvider, const SignUpPage(), + localDatabase: MockLocalDatabase(), ), ); await tester.pump(); From cfa5dae6807d3803ccf6c1ca4124b630c7fa22aa Mon Sep 17 00:00:00 2001 From: Edouard Marquez Date: Mon, 21 Oct 2024 14:25:06 +0200 Subject: [PATCH 18/32] iOS icons with an alpha channel (#5722) --- .../AppIcon.appiconset/black_icon-1024.png | Bin 44125 -> 42658 bytes .../AppIcon.appiconset/tinted_icon-1024.png | Bin 39580 -> 43398 bytes .../AppIcon.appiconset/white_icon-1024.png | Bin 46946 -> 39371 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/packages/smooth_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/black_icon-1024.png b/packages/smooth_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/black_icon-1024.png index 930ffbc21013184208b9d23a0653955ad853f495..371d4f94af3a013cf255ab346cacfe6b369b6e85 100644 GIT binary patch literal 42658 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

V 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 b9D&l+#JTO=>r3+_;Gf1>-80X@#FYOB(7JS@ diff --git a/packages/smooth_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/tinted_icon-1024.png b/packages/smooth_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/tinted_icon-1024.png index 11efe48323187745375ed55c5d48e9b2eb44c7b3..68b75ce62cc4e83483a2071695391c94d1816875 100644 GIT binary patch literal 43398 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 Ygl*SoT^mp;Pr?6|SUFl=vG9!eUkERm6aWAK literal 39580 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 literal 46946 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 TSl3SrekkvM_+G6S?eqTwN7soq From a4b3632067442e34d9fc48e2156125910078dca2 Mon Sep 17 00:00:00 2001 From: Edouard Marquez Date: Mon, 21 Oct 2024 15:09:17 +0200 Subject: [PATCH 19/32] The user was stuck in the onboarding (#5723) --- .../lib/pages/navigator/app_navigator.dart | 12 ++++++++++-- .../onboarding/onboarding_flow_navigator.dart | 17 ++++++++++++----- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/packages/smooth_app/lib/pages/navigator/app_navigator.dart b/packages/smooth_app/lib/pages/navigator/app_navigator.dart index 34e3b65682d..41696039971 100644 --- a/packages/smooth_app/lib/pages/navigator/app_navigator.dart +++ b/packages/smooth_app/lib/pages/navigator/app_navigator.dart @@ -72,6 +72,13 @@ class AppNavigator extends InheritedWidget { _router.router.pushReplacement(routeName, extra: extra); } + /// Remove all the screens from the stack + void clearStack() { + while (_router.router.canPop() == true) { + _router.router.pop(); + } + } + void pop([dynamic result]) { _router.router.pop(result); } @@ -286,7 +293,7 @@ class _SmoothGoRouter { externalLink = true; } } else if (path == _ExternalRoutes.MOBILE_APP_DOWNLOAD) { - return AppRoutes.HOME; + return AppRoutes.HOME(); } else if (path == _ExternalRoutes.GUIDE_NUTRISCORE_V2) { return AppRoutes.GUIDE_NUTRISCORE_V2; } else if (path == _ExternalRoutes.SIGNUP) { @@ -421,7 +428,8 @@ class AppRoutes { AppRoutes._(); // Home page (or walkthrough during the onboarding) - static String get HOME => _InternalAppRoutes.HOME_PAGE; + static String HOME({bool redraw = false}) => + '${_InternalAppRoutes.HOME_PAGE}?redraw:$redraw'; // Product details (a [Product] is mandatory in the extra) static String PRODUCT( diff --git a/packages/smooth_app/lib/pages/onboarding/onboarding_flow_navigator.dart b/packages/smooth_app/lib/pages/onboarding/onboarding_flow_navigator.dart index 2391b6abb1d..0fa723075c5 100644 --- a/packages/smooth_app/lib/pages/onboarding/onboarding_flow_navigator.dart +++ b/packages/smooth_app/lib/pages/onboarding/onboarding_flow_navigator.dart @@ -139,16 +139,23 @@ class OnboardingFlowNavigator { static final List _historyOnboardingNav = []; Future navigateToPage(BuildContext context, OnboardingPage page) async { - _userPreferences.setLastVisitedOnboardingPage(page); + await _userPreferences.setLastVisitedOnboardingPage(page); _historyOnboardingNav.add(page); - final MaterialPageRoute route = MaterialPageRoute( - builder: (BuildContext context) => page.getPageWidget(context), - ); + if (!context.mounted) { + return; + } if (page.isOnboardingComplete()) { - AppNavigator.of(context).pushReplacement(AppRoutes.HOME); + AppNavigator.of(context) + ..clearStack() + ..pushReplacement( + AppRoutes.HOME(redraw: true), + ); } else { + final MaterialPageRoute route = MaterialPageRoute( + builder: (BuildContext context) => page.getPageWidget(context), + ); await Navigator.of(context).push(route); } } From 3fde3e6f9386074ac14d14b8fced4792bb4ff0df Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Oct 2024 07:37:37 +0200 Subject: [PATCH 20/32] chore(deps): bump fastlane in /packages/smooth_app/android (#5727) Bumps [fastlane](https://github.com/fastlane/fastlane) from 2.224.0 to 2.225.0. - [Release notes](https://github.com/fastlane/fastlane/releases) - [Changelog](https://github.com/fastlane/fastlane/blob/master/CHANGELOG.latest.md) - [Commits](https://github.com/fastlane/fastlane/compare/fastlane/2.224.0...fastlane/2.225.0) --- updated-dependencies: - dependency-name: fastlane dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/smooth_app/android/Gemfile.lock | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/smooth_app/android/Gemfile.lock b/packages/smooth_app/android/Gemfile.lock index b087ba1e0f8..444c18b1c6e 100644 --- a/packages/smooth_app/android/Gemfile.lock +++ b/packages/smooth_app/android/Gemfile.lock @@ -16,17 +16,17 @@ GEM artifactory (3.0.17) atomos (0.1.3) aws-eventstream (1.3.0) - aws-partitions (1.984.0) - aws-sdk-core (3.209.1) + aws-partitions (1.992.0) + aws-sdk-core (3.210.0) aws-eventstream (~> 1, >= 1.3.0) - aws-partitions (~> 1, >= 1.651.0) + aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.94.0) - aws-sdk-core (~> 3, >= 3.207.0) + aws-sdk-kms (1.95.0) + aws-sdk-core (~> 3, >= 3.210.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.167.0) - aws-sdk-core (~> 3, >= 3.207.0) + aws-sdk-s3 (1.169.0) + aws-sdk-core (~> 3, >= 3.210.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) aws-sigv4 (1.10.0) @@ -74,7 +74,7 @@ GEM faraday_middleware (1.2.1) faraday (~> 1.0) fastimage (2.3.1) - fastlane (2.224.0) + fastlane (2.225.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) @@ -90,6 +90,7 @@ GEM faraday-cookie_jar (~> 0.0.6) faraday_middleware (~> 1.0) fastimage (>= 2.1.0, < 3.0.0) + fastlane-sirp (>= 1.0.0) gh_inspector (>= 1.1.2, < 2.0.0) google-apis-androidpublisher_v3 (~> 0.3) google-apis-playcustomapp_v1 (~> 0.1) @@ -117,6 +118,8 @@ GEM xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) fastlane-plugin-flutter_dart_version_manager (0.1.5) fastlane-plugin-versioning (0.6.0) + fastlane-sirp (1.0.0) + sysrandom (~> 1.0) gh_inspector (1.1.3) google-apis-androidpublisher_v3 (0.54.0) google-apis-core (>= 0.11.0, < 2.a) @@ -192,6 +195,7 @@ GEM simctl (1.6.10) CFPropertyList naturally + sysrandom (1.0.5) terminal-notifier (2.0.0) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) From 4b8489d6e598db84ff0b15135a52a481ff06de6c Mon Sep 17 00:00:00 2001 From: monsieurtanuki Date: Fri, 25 Oct 2024 07:55:37 +0200 Subject: [PATCH 21/32] feat: 5428 - page dedicated to prices (#5730) * feat: 5428 - page dedicated to prices New file: * `prices_home_page.dart`: Home page of Prices Impacted file: * `user_preferences_account.dart`: replaced the whole prices items with a single item linking to new page `PricesHomePage` * minor fix * Moved to top page Prices and Donation New files: * `user_preferences_donation.dart`: Display of "Donation" for the preferences page. * `user_preferences_prices.dart`: Display of "Prices" for the preferences page. Deleted file: * `prices_home_page.dart` Impacted files: * `app_en.arb`: added a short label for "donation" * `user_preferences_account.dart`: removed link to `PricesHomePage` * `user_preferences_contribute.dart`: removed the "donation" item * `user_preferences_page.dart`: added "donation" and "prices" as preferences --- packages/smooth_app/lib/l10n/app_en.arb | 2 + .../preferences/user_preferences_account.dart | 108 ----------- .../user_preferences_contribute.dart | 10 - .../user_preferences_donation.dart | 42 +++++ .../preferences/user_preferences_page.dart | 20 ++ .../preferences/user_preferences_prices.dart | 174 ++++++++++++++++++ 6 files changed, 238 insertions(+), 118 deletions(-) create mode 100644 packages/smooth_app/lib/pages/preferences/user_preferences_donation.dart create mode 100644 packages/smooth_app/lib/pages/preferences/user_preferences_prices.dart diff --git a/packages/smooth_app/lib/l10n/app_en.arb b/packages/smooth_app/lib/l10n/app_en.arb index 2887e976840..5381887348d 100644 --- a/packages/smooth_app/lib/l10n/app_en.arb +++ b/packages/smooth_app/lib/l10n/app_en.arb @@ -355,6 +355,8 @@ "@contribute_develop_text_2": {}, "contribute_develop_dev_mode_title": "DEV Mode?", "contribute_develop_dev_mode_subtitle": "Activate the DEV Mode", + "contribute_donate_title": "Donate", + "@contribute_donate_title": {}, "contribute_donate_header": "Donate to Open Food Facts", "@contribute_donate_header": {}, "contribute_enroll_alpha": "Enroll in internal alpha version", diff --git a/packages/smooth_app/lib/pages/preferences/user_preferences_account.dart b/packages/smooth_app/lib/pages/preferences/user_preferences_account.dart index 8a951e8e08d..0548121d344 100644 --- a/packages/smooth_app/lib/pages/preferences/user_preferences_account.dart +++ b/packages/smooth_app/lib/pages/preferences/user_preferences_account.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:openfoodfacts/openfoodfacts.dart'; import 'package:provider/provider.dart'; @@ -17,12 +16,6 @@ import 'package:smooth_app/pages/preferences/lazy_counter_widget.dart'; import 'package:smooth_app/pages/preferences/user_preferences_item.dart'; import 'package:smooth_app/pages/preferences/user_preferences_list_tile.dart'; import 'package:smooth_app/pages/preferences/user_preferences_page.dart'; -import 'package:smooth_app/pages/prices/get_prices_model.dart'; -import 'package:smooth_app/pages/prices/price_user_button.dart'; -import 'package:smooth_app/pages/prices/prices_page.dart'; -import 'package:smooth_app/pages/prices/prices_proofs_page.dart'; -import 'package:smooth_app/pages/prices/prices_users_page.dart'; -import 'package:smooth_app/pages/prices/product_price_add_page.dart'; import 'package:smooth_app/pages/product/common/product_query_page_helper.dart'; import 'package:smooth_app/pages/user_management/login_page.dart'; import 'package:smooth_app/query/paged_product_query.dart'; @@ -217,92 +210,6 @@ class UserPreferencesAccount extends AbstractUserPreferences { lazyCounter: const LazyCounterUserSearch(UserSearchType.TO_BE_COMPLETED), ), - _getListTile( - PriceUserButton.showUserTitle( - user: ProductQuery.getWriteUser().userId, - context: context, - ), - () async => PriceUserButton.showUserPrices( - user: ProductQuery.getWriteUser().userId, - context: context, - ), - CupertinoIcons.money_dollar_circle, - lazyCounter: LazyCounterPrices(ProductQuery.getWriteUser().userId), - ), - _getListTile( - appLocalizations.user_search_proofs_title, - () async => Navigator.of(context).push( - MaterialPageRoute( - builder: (BuildContext context) => const PricesProofsPage( - selectProof: false, - ), - ), - ), - Icons.receipt, - ), - _getListTile( - appLocalizations.prices_add_a_receipt, - () async => ProductPriceAddPage.showProductPage( - context: context, - proofType: ProofType.receipt, - ), - Icons.add_shopping_cart, - ), - _getListTile( - appLocalizations.prices_add_price_tags, - () async => ProductPriceAddPage.showProductPage( - context: context, - proofType: ProofType.priceTag, - ), - Icons.add_shopping_cart, - ), - _getListTile( - appLocalizations.all_search_prices_latest_title, - () async => Navigator.of(context).push( - MaterialPageRoute( - builder: (BuildContext context) => PricesPage( - GetPricesModel( - parameters: GetPricesParameters() - ..orderBy = >[ - const OrderBy( - field: GetPricesOrderField.created, - ascending: false, - ), - ] - ..pageSize = GetPricesModel.pageSize - ..pageNumber = 1, - displayOwner: true, - displayProduct: true, - uri: OpenPricesAPIClient.getUri( - path: 'prices', - uriHelper: ProductQuery.uriPricesHelper, - ), - title: appLocalizations.all_search_prices_latest_title, - lazyCounterPrices: const LazyCounterPrices(null), - ), - ), - ), - ), - CupertinoIcons.money_dollar_circle, - lazyCounter: const LazyCounterPrices(null), - ), - _getListTile( - appLocalizations.all_search_prices_top_user_title, - () async => Navigator.of(context).push( - MaterialPageRoute( - builder: (BuildContext context) => const PricesUsersPage(), - ), - ), - Icons.account_box, - ), - _getPriceListTile( - appLocalizations.all_search_prices_top_location_title, - 'locations', - ), - _getPriceListTile( - appLocalizations.all_search_prices_top_product_title, - 'products', - ), _buildProductQueryTile( productQuery: PagedToBeCompletedProductQuery( productType: ProductType.food, @@ -356,21 +263,6 @@ class UserPreferencesAccount extends AbstractUserPreferences { ]; } - UserPreferencesItem _getPriceListTile( - final String title, - final String path, - ) => - _getListTile( - title, - () async => LaunchUrlHelper.launchURL( - OpenPricesAPIClient.getUri( - path: path, - uriHelper: ProductQuery.uriPricesHelper, - ).toString(), - ), - Icons.open_in_new, - ); - Future _confirmLogout() async => showDialog( context: context, builder: (BuildContext context) { diff --git a/packages/smooth_app/lib/pages/preferences/user_preferences_contribute.dart b/packages/smooth_app/lib/pages/preferences/user_preferences_contribute.dart index d0e438e2c1c..f5478fe4ca7 100644 --- a/packages/smooth_app/lib/pages/preferences/user_preferences_contribute.dart +++ b/packages/smooth_app/lib/pages/preferences/user_preferences_contribute.dart @@ -94,16 +94,6 @@ class UserPreferencesContribute extends AbstractUserPreferences { () async => _share(appLocalizations.contribute_share_content), Icons.adaptive.share, ), - _getListTile( - appLocalizations.contribute_donate_header, - () async => LaunchUrlHelper.launchURL( - AppLocalizations.of(context).donate_url, - ), - Icons.volunteer_activism, - icon: - UserPreferencesListTile.getTintedIcon(Icons.open_in_new, context), - externalLink: true, - ), if (GlobalVars.appStore.getEnrollInBetaURL() != null) _getListTile( appLocalizations.contribute_enroll_alpha, diff --git a/packages/smooth_app/lib/pages/preferences/user_preferences_donation.dart b/packages/smooth_app/lib/pages/preferences/user_preferences_donation.dart new file mode 100644 index 00000000000..92d580480f2 --- /dev/null +++ b/packages/smooth_app/lib/pages/preferences/user_preferences_donation.dart @@ -0,0 +1,42 @@ +import 'package:flutter/material.dart'; +import 'package:smooth_app/helpers/launch_url_helper.dart'; +import 'package:smooth_app/pages/preferences/abstract_user_preferences.dart'; +import 'package:smooth_app/pages/preferences/user_preferences_item.dart'; +import 'package:smooth_app/pages/preferences/user_preferences_list_tile.dart'; +import 'package:smooth_app/pages/preferences/user_preferences_page.dart'; + +/// Display of "Donation" for the preferences page. +class UserPreferencesDonation extends AbstractUserPreferences { + UserPreferencesDonation({ + required super.context, + required super.userPreferences, + required super.appLocalizations, + required super.themeData, + }); + + @override + PreferencePageType getPreferencePageType() => PreferencePageType.DONATION; + + @override + String getTitleString() => appLocalizations.contribute_donate_title; + + @override + String getSubtitleString() => appLocalizations.contribute_donate_header; + + @override + IconData getLeadingIconData() => Icons.volunteer_activism; + + @override + Icon? getForwardIcon() => UserPreferencesListTile.getTintedIcon( + Icons.open_in_new, + context, + ); + + @override + Future runHeaderAction() async => LaunchUrlHelper.launchURL( + appLocalizations.donate_url, + ); + + @override + List getChildren() => []; +} diff --git a/packages/smooth_app/lib/pages/preferences/user_preferences_page.dart b/packages/smooth_app/lib/pages/preferences/user_preferences_page.dart index 17c6ab20c79..984a1de4481 100644 --- a/packages/smooth_app/lib/pages/preferences/user_preferences_page.dart +++ b/packages/smooth_app/lib/pages/preferences/user_preferences_page.dart @@ -18,9 +18,11 @@ import 'package:smooth_app/pages/preferences/user_preferences_account.dart'; import 'package:smooth_app/pages/preferences/user_preferences_connect.dart'; import 'package:smooth_app/pages/preferences/user_preferences_contribute.dart'; import 'package:smooth_app/pages/preferences/user_preferences_dev_mode.dart'; +import 'package:smooth_app/pages/preferences/user_preferences_donation.dart'; import 'package:smooth_app/pages/preferences/user_preferences_faq.dart'; import 'package:smooth_app/pages/preferences/user_preferences_food.dart'; import 'package:smooth_app/pages/preferences/user_preferences_item.dart'; +import 'package:smooth_app/pages/preferences/user_preferences_prices.dart'; import 'package:smooth_app/pages/preferences/user_preferences_settings.dart'; import 'package:smooth_app/pages/preferences/user_preferences_widgets.dart'; import 'package:smooth_app/themes/theme_provider.dart'; @@ -34,6 +36,8 @@ enum PreferencePageType { SETTINGS('settings'), CONTRIBUTE('contribute'), FAQ('faq'), + DONATION('donation'), + PRICES('prices'), CONNECT('connect'); const PreferencePageType(this.tag); @@ -101,6 +105,20 @@ enum PreferencePageType { appLocalizations: appLocalizations, themeData: themeData, ); + case PreferencePageType.DONATION: + return UserPreferencesDonation( + context: context, + userPreferences: userPreferences, + appLocalizations: appLocalizations, + themeData: themeData, + ); + case PreferencePageType.PRICES: + return UserPreferencesPrices( + context: context, + userPreferences: userPreferences, + appLocalizations: appLocalizations, + themeData: themeData, + ); case PreferencePageType.CONNECT: return UserPreferencesConnect( context: context, @@ -117,6 +135,8 @@ enum PreferencePageType { [ PreferencePageType.ACCOUNT, PreferencePageType.FOOD, + PreferencePageType.PRICES, + PreferencePageType.DONATION, PreferencePageType.SETTINGS, PreferencePageType.CONTRIBUTE, PreferencePageType.FAQ, diff --git a/packages/smooth_app/lib/pages/preferences/user_preferences_prices.dart b/packages/smooth_app/lib/pages/preferences/user_preferences_prices.dart new file mode 100644 index 00000000000..80178b7383d --- /dev/null +++ b/packages/smooth_app/lib/pages/preferences/user_preferences_prices.dart @@ -0,0 +1,174 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:openfoodfacts/openfoodfacts.dart'; +import 'package:smooth_app/helpers/launch_url_helper.dart'; +import 'package:smooth_app/pages/preferences/abstract_user_preferences.dart'; +import 'package:smooth_app/pages/preferences/lazy_counter.dart'; +import 'package:smooth_app/pages/preferences/lazy_counter_widget.dart'; +import 'package:smooth_app/pages/preferences/user_preferences_item.dart'; +import 'package:smooth_app/pages/preferences/user_preferences_list_tile.dart'; +import 'package:smooth_app/pages/preferences/user_preferences_page.dart'; +import 'package:smooth_app/pages/prices/get_prices_model.dart'; +import 'package:smooth_app/pages/prices/price_user_button.dart'; +import 'package:smooth_app/pages/prices/prices_page.dart'; +import 'package:smooth_app/pages/prices/prices_proofs_page.dart'; +import 'package:smooth_app/pages/prices/prices_users_page.dart'; +import 'package:smooth_app/pages/prices/product_price_add_page.dart'; +import 'package:smooth_app/query/product_query.dart'; + +/// Display of "Prices" for the preferences page. +class UserPreferencesPrices extends AbstractUserPreferences { + UserPreferencesPrices({ + required super.context, + required super.userPreferences, + required super.appLocalizations, + required super.themeData, + }); + + @override + PreferencePageType getPreferencePageType() => PreferencePageType.PRICES; + + @override + String getTitleString() => appLocalizations.prices_generic_title; + + @override + IconData getLeadingIconData() => CupertinoIcons.money_dollar_circle; + + @override + List getChildren() { + final String userId = ProductQuery.getWriteUser().userId; + final bool isConnected = OpenFoodAPIConfiguration.globalUser != null; + return [ + if (isConnected) + _getListTile( + PriceUserButton.showUserTitle( + user: userId, + context: context, + ), + () async => PriceUserButton.showUserPrices( + user: userId, + context: context, + ), + CupertinoIcons.money_dollar_circle, + lazyCounter: LazyCounterPrices(userId), + ), + if (isConnected) + _getListTile( + appLocalizations.user_search_proofs_title, + () async => Navigator.of(context).push( + MaterialPageRoute( + builder: (BuildContext context) => const PricesProofsPage( + selectProof: false, + ), + ), + ), + Icons.receipt, + ), + _getListTile( + appLocalizations.prices_add_a_receipt, + () async => ProductPriceAddPage.showProductPage( + context: context, + proofType: ProofType.receipt, + ), + Icons.add_shopping_cart, + ), + _getListTile( + appLocalizations.prices_add_price_tags, + () async => ProductPriceAddPage.showProductPage( + context: context, + proofType: ProofType.priceTag, + ), + Icons.add_shopping_cart, + ), + _getListTile( + appLocalizations.all_search_prices_latest_title, + () async => Navigator.of(context).push( + MaterialPageRoute( + builder: (BuildContext context) => PricesPage( + GetPricesModel( + parameters: GetPricesParameters() + ..orderBy = >[ + const OrderBy( + field: GetPricesOrderField.created, + ascending: false, + ), + ] + ..pageSize = GetPricesModel.pageSize + ..pageNumber = 1, + displayOwner: true, + displayProduct: true, + uri: OpenPricesAPIClient.getUri( + path: 'prices', + uriHelper: ProductQuery.uriPricesHelper, + ), + title: appLocalizations.all_search_prices_latest_title, + lazyCounterPrices: const LazyCounterPrices(null), + ), + ), + ), + ), + CupertinoIcons.money_dollar_circle, + lazyCounter: const LazyCounterPrices(null), + ), + _getListTile( + appLocalizations.all_search_prices_top_user_title, + () async => Navigator.of(context).push( + MaterialPageRoute( + builder: (BuildContext context) => const PricesUsersPage(), + ), + ), + Icons.account_box, + ), + _getPriceListTile( + appLocalizations.all_search_prices_top_location_title, + 'locations', + ), + _getPriceListTile( + appLocalizations.all_search_prices_top_product_title, + 'products', + ), + ]; + } + + UserPreferencesItem _getPriceListTile( + final String title, + final String path, + ) => + _getListTile( + title, + () async => LaunchUrlHelper.launchURL( + OpenPricesAPIClient.getUri( + path: path, + uriHelper: ProductQuery.uriPricesHelper, + ).toString(), + ), + Icons.open_in_new, + ); + + UserPreferencesItem _getListTile( + final String title, + final VoidCallback onTap, + final IconData leading, { + final LazyCounter? lazyCounter, + }) => + UserPreferencesItemSimple( + labels: [title], + builder: (_) => Card( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15), + ), + elevation: 5, + color: Theme.of(context).cardColor, + child: UserPreferencesListTile( + title: Text(title), + onTap: onTap, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15), + ), + leading: UserPreferencesListTile.getTintedIcon(leading, context), + trailing: + lazyCounter == null ? null : LazyCounterWidget(lazyCounter), + ), + ), + ); +} From ccbe094d2374be75fa0343b911dff374e2279b00 Mon Sep 17 00:00:00 2001 From: monsieurtanuki Date: Fri, 25 Oct 2024 08:03:20 +0200 Subject: [PATCH 22/32] fix: 5627 - remove focus from price amount after adding product (#5729) --- .../pages/prices/price_add_product_card.dart | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/smooth_app/lib/pages/prices/price_add_product_card.dart b/packages/smooth_app/lib/pages/prices/price_add_product_card.dart index fd1930d32d4..12e8cec788b 100644 --- a/packages/smooth_app/lib/pages/prices/price_add_product_card.dart +++ b/packages/smooth_app/lib/pages/prices/price_add_product_card.dart @@ -24,6 +24,17 @@ class _PriceAddProductCardState extends State { String? _latestScannedBarcode; + // we create dummy focus nodes to focus on, when we need to unfocus. + final List _dummyFocusNodes = []; + + @override + void dispose() { + for (final FocusNode focusNode in _dummyFocusNodes) { + focusNode.dispose(); + } + super.dispose(); + } + @override Widget build(BuildContext context) { final AppLocalizations appLocalizations = AppLocalizations.of(context); @@ -109,6 +120,13 @@ class _PriceAddProductCardState extends State { ), ), ); + + // unfocus from the previous price amount text field. + // looks like the most efficient way to unfocus: focus somewhere in space... + final FocusNode focusNode = FocusNode(); + _dummyFocusNodes.add(focusNode); + FocusScope.of(context).requestFocus(focusNode); + priceModel.notifyListeners(); } From b6af30a584aedc8828b5e961ab90f518e6e3ab10 Mon Sep 17 00:00:00 2001 From: Edouard Marquez Date: Fri, 25 Oct 2024 18:19:18 +0200 Subject: [PATCH 23/32] The tagline content is now hosted on a dedicated Github repo (#5733) --- .../news_feed/newsfeed_provider.dart | 33 ++++++------------- .../Flutter/GeneratedPluginRegistrant.swift | 4 ++- 2 files changed, 13 insertions(+), 24 deletions(-) diff --git a/packages/smooth_app/lib/data_models/news_feed/newsfeed_provider.dart b/packages/smooth_app/lib/data_models/news_feed/newsfeed_provider.dart index 2fe18d8d600..3a15c11ae5e 100644 --- a/packages/smooth_app/lib/data_models/news_feed/newsfeed_provider.dart +++ b/packages/smooth_app/lib/data_models/news_feed/newsfeed_provider.dart @@ -5,7 +5,6 @@ import 'dart:isolate'; import 'package:collection/collection.dart'; import 'package:flutter/widgets.dart'; import 'package:http/http.dart' as http; -import 'package:openfoodfacts/openfoodfacts.dart'; import 'package:path/path.dart'; import 'package:path_provider/path_provider.dart'; import 'package:smooth_app/data_models/news_feed/newsfeed_model.dart'; @@ -28,8 +27,6 @@ class AppNewsProvider extends ChangeNotifier { _preferences = preferences, _uriOverride = preferences.getDevModeString( UserPreferencesDevMode.userPreferencesCustomNewsJSONURI), - _domain = preferences.getDevModeString( - UserPreferencesDevMode.userPreferencesTestEnvDomain), _prodEnv = preferences .getFlag(UserPreferencesDevMode.userPreferencesFlagProd) { _preferences.addListener(_onPreferencesChanged); @@ -102,27 +99,20 @@ class AppNewsProvider extends ChangeNotifier { } } - /// API URL: [https://world.openfoodfacts.[org/net]/resources/files/tagline-off-ios-v3.json] - /// or [https://world.openfoodfacts.[org/net]/resources/files/tagline-off-android-v3.json] + /// The content is stored on GitHub with two static files: one for Android, + /// and the other for iOS. + /// [https://github.com/openfoodfacts/smooth-app_assets/tree/main/prod/tagline] Future _fetchJSON() async { try { - final UriProductHelper uriProductHelper = - ProductQuery.getUriProductHelper(); - final Map headers = {}; final Uri uri; if (_uriOverride?.isNotEmpty == true) { uri = Uri.parse(_uriOverride!); } else { - uri = uriProductHelper.getUri(path: _newsUrl); + uri = Uri.parse(_newsUrl); } - if (uriProductHelper.userInfoForPatch != null) { - headers['Authorization'] = - 'Basic ${base64Encode(utf8.encode(uriProductHelper.userInfoForPatch!))}'; - } - - final http.Response response = await http.get(uri, headers: headers); + final http.Response response = await http.get(uri); if (response.statusCode == 404) { Logs.e("Remote file $uri doesn't exist!"); @@ -143,10 +133,12 @@ class AppNewsProvider extends ChangeNotifier { /// Based on the platform, the URL may differ String get _newsUrl { + final String env = _prodEnv != false ? 'prod' : 'dev'; + if (Platform.isIOS || Platform.isMacOS) { - return '/resources/files/tagline-off-ios-v3.json'; + return 'https://raw.githubusercontent.com/openfoodfacts/smooth-app_assets/refs/heads/main/$env/tagline/ios/main.json'; } else { - return '/resources/files/tagline-off-android-v3.json'; + return 'https://raw.githubusercontent.com/openfoodfacts/smooth-app_assets/refs/heads/main/$env/tagline/android/main.json'; } } @@ -166,7 +158,6 @@ class AppNewsProvider extends ChangeNotifier { .isAfter(DateTime.now().add(const Duration(days: -1))); bool? _prodEnv; - String? _domain; String? _uriOverride; /// [ProductQuery.uriProductHelper] is not synced yet, @@ -175,15 +166,11 @@ class AppNewsProvider extends ChangeNotifier { final String jsonURI = _preferences.getDevModeString( UserPreferencesDevMode.userPreferencesCustomNewsJSONURI) ?? ''; - final String domain = _preferences.getDevModeString( - UserPreferencesDevMode.userPreferencesTestEnvDomain) ?? - ''; final bool prodEnv = _preferences.getFlag(UserPreferencesDevMode.userPreferencesFlagProd) ?? true; - if (domain != _domain || prodEnv != _prodEnv || jsonURI != _uriOverride) { - _domain = domain; + if (prodEnv != _prodEnv || jsonURI != _uriOverride) { _prodEnv = prodEnv; _uriOverride = jsonURI; loadLatestNews(forceUpdate: true); diff --git a/packages/smooth_app/macos/Flutter/GeneratedPluginRegistrant.swift b/packages/smooth_app/macos/Flutter/GeneratedPluginRegistrant.swift index 89d3e87fb16..7e96d3476de 100644 --- a/packages/smooth_app/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/packages/smooth_app/macos/Flutter/GeneratedPluginRegistrant.swift @@ -19,8 +19,9 @@ import rive_common import sentry_flutter import share_plus import shared_preferences_foundation -import sqflite +import sqflite_darwin import url_launcher_macos +import webview_flutter_wkwebview func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { AudioplayersDarwinPlugin.register(with: registry.registrar(forPlugin: "AudioplayersDarwinPlugin")) @@ -39,4 +40,5 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin")) UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) + FLTWebViewFlutterPlugin.register(with: registry.registrar(forPlugin: "FLTWebViewFlutterPlugin")) } From 7ec97037d544e350aceb2b5c63ac008f7c413b70 Mon Sep 17 00:00:00 2001 From: Edouard Marquez Date: Fri, 25 Oct 2024 19:21:52 +0200 Subject: [PATCH 24/32] Bump Flutter version (#5735) --- flutter-version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flutter-version.txt b/flutter-version.txt index ffba2c8db92..057aa0d01e9 100644 --- a/flutter-version.txt +++ b/flutter-version.txt @@ -1 +1 @@ -3.24.3 \ No newline at end of file +3.24.4 \ No newline at end of file From a90e1868ba88e1a3779693dafe8d23117211bd06 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 19:22:14 +0200 Subject: [PATCH 25/32] chore(deps): bump actions/setup-java from 4.4.0 to 4.5.0 (#5731) Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4.4.0 to 4.5.0. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v4.4.0...v4.5.0) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../workflows/android-release-to-org-openfoodfacts-scanner.yml | 2 +- .github/workflows/ios-release-to-org-openfoodfacts-scanner.yml | 2 +- .github/workflows/postsubmit.yml | 2 +- .github/workflows/waldo_sessions.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/android-release-to-org-openfoodfacts-scanner.yml b/.github/workflows/android-release-to-org-openfoodfacts-scanner.yml index 6da9452f366..5bef5c55971 100644 --- a/.github/workflows/android-release-to-org-openfoodfacts-scanner.yml +++ b/.github/workflows/android-release-to-org-openfoodfacts-scanner.yml @@ -63,7 +63,7 @@ jobs: - run: echo Release type ${{ inputs.RELEASE_TYPE }} + Build type ${{ inputs.BUILD_TYPE }} + Tag name null if not github release ${{ inputs.TAG_NAME }} - name: Setup Java JDK - uses: actions/setup-java@v4.4.0 + uses: actions/setup-java@v4.5.0 with: distribution: 'zulu' java-version: ${{ env.JAVA_VERSION }} diff --git a/.github/workflows/ios-release-to-org-openfoodfacts-scanner.yml b/.github/workflows/ios-release-to-org-openfoodfacts-scanner.yml index e77d4592f88..566dd1869a4 100644 --- a/.github/workflows/ios-release-to-org-openfoodfacts-scanner.yml +++ b/.github/workflows/ios-release-to-org-openfoodfacts-scanner.yml @@ -61,7 +61,7 @@ jobs: run: bundle install working-directory: ./packages/smooth_app/android/ - name: Setup Java JDK - uses: actions/setup-java@v4.4.0 + uses: actions/setup-java@v4.5.0 with: distribution: 'zulu' java-version: ${{ env.JAVA_VERSION }} diff --git a/.github/workflows/postsubmit.yml b/.github/workflows/postsubmit.yml index 243cc88c9f2..fed9ccddf9b 100644 --- a/.github/workflows/postsubmit.yml +++ b/.github/workflows/postsubmit.yml @@ -16,7 +16,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Java JDK - uses: actions/setup-java@v4.4.0 + uses: actions/setup-java@v4.5.0 with: distribution: 'zulu' java-version: 17 diff --git a/.github/workflows/waldo_sessions.yml b/.github/workflows/waldo_sessions.yml index b7f0ea59a15..81eb0d98e1d 100644 --- a/.github/workflows/waldo_sessions.yml +++ b/.github/workflows/waldo_sessions.yml @@ -27,7 +27,7 @@ jobs: fetch-depth: 0 - name: Setup Java JDK - uses: actions/setup-java@v4.4.0 + uses: actions/setup-java@v4.5.0 with: distribution: 'zulu' java-version: 17 From 985772a0ff461b0450359ff9e1504b5f1b3ad262 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 19:22:41 +0200 Subject: [PATCH 26/32] chore(deps): bump fastlane in /packages/smooth_app/ios (#5725) Bumps [fastlane](https://github.com/fastlane/fastlane) from 2.224.0 to 2.225.0. - [Release notes](https://github.com/fastlane/fastlane/releases) - [Changelog](https://github.com/fastlane/fastlane/blob/master/CHANGELOG.latest.md) - [Commits](https://github.com/fastlane/fastlane/compare/fastlane/2.224.0...fastlane/2.225.0) --- updated-dependencies: - dependency-name: fastlane dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/smooth_app/ios/Gemfile.lock | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/smooth_app/ios/Gemfile.lock b/packages/smooth_app/ios/Gemfile.lock index f11bf6f002a..b47a9626f5f 100644 --- a/packages/smooth_app/ios/Gemfile.lock +++ b/packages/smooth_app/ios/Gemfile.lock @@ -16,17 +16,17 @@ GEM artifactory (3.0.17) atomos (0.1.3) aws-eventstream (1.3.0) - aws-partitions (1.984.0) - aws-sdk-core (3.209.1) + aws-partitions (1.992.0) + aws-sdk-core (3.210.0) aws-eventstream (~> 1, >= 1.3.0) - aws-partitions (~> 1, >= 1.651.0) + aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.94.0) - aws-sdk-core (~> 3, >= 3.207.0) + aws-sdk-kms (1.95.0) + aws-sdk-core (~> 3, >= 3.210.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.167.0) - aws-sdk-core (~> 3, >= 3.207.0) + aws-sdk-s3 (1.169.0) + aws-sdk-core (~> 3, >= 3.210.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) aws-sigv4 (1.10.0) @@ -75,7 +75,7 @@ GEM faraday_middleware (1.2.1) faraday (~> 1.0) fastimage (2.3.1) - fastlane (2.224.0) + fastlane (2.225.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) @@ -91,6 +91,7 @@ GEM faraday-cookie_jar (~> 0.0.6) faraday_middleware (~> 1.0) fastimage (>= 2.1.0, < 3.0.0) + fastlane-sirp (>= 1.0.0) gh_inspector (>= 1.1.2, < 2.0.0) google-apis-androidpublisher_v3 (~> 0.3) google-apis-playcustomapp_v1 (~> 0.1) @@ -118,6 +119,8 @@ GEM xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) fastlane-plugin-flutter_dart_version_manager (0.1.5) fastlane-plugin-versioning (0.6.0) + fastlane-sirp (1.0.0) + sysrandom (~> 1.0) gh_inspector (1.1.3) google-apis-androidpublisher_v3 (0.54.0) google-apis-core (>= 0.11.0, < 2.a) @@ -193,6 +196,7 @@ GEM simctl (1.6.10) CFPropertyList naturally + sysrandom (1.0.5) terminal-notifier (2.0.0) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) From bb1c1054613c33d31288bfa63abee0a07a0b2880 Mon Sep 17 00:00:00 2001 From: Edouard Marquez Date: Fri, 25 Oct 2024 19:24:55 +0200 Subject: [PATCH 27/32] Onboarding first screen: add a slight padding for devices without a transparent nav bar (#5705) Co-authored-by: Pierre Slamich --- packages/smooth_app/ios/Podfile.lock | 17 +++++++++-------- .../onboarding/v2/onboarding_bottom_hills.dart | 8 +++++++- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/packages/smooth_app/ios/Podfile.lock b/packages/smooth_app/ios/Podfile.lock index c2373332d6c..657bc696e02 100644 --- a/packages/smooth_app/ios/Podfile.lock +++ b/packages/smooth_app/ios/Podfile.lock @@ -140,13 +140,14 @@ PODS: - shared_preferences_foundation (0.0.1): - Flutter - FlutterMacOS - - sqflite (0.0.3): + - sqflite_darwin (0.0.4): - Flutter - FlutterMacOS - url_launcher_ios (0.0.1): - Flutter - webview_flutter_wkwebview (0.0.1): - Flutter + - FlutterMacOS DEPENDENCIES: - app_settings (from `.symlinks/plugins/app_settings/ios`) @@ -174,9 +175,9 @@ DEPENDENCIES: - sentry_flutter (from `.symlinks/plugins/sentry_flutter/ios`) - share_plus (from `.symlinks/plugins/share_plus/ios`) - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - - sqflite (from `.symlinks/plugins/sqflite/darwin`) + - sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) - - webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/ios`) + - webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/darwin`) SPEC REPOS: trunk: @@ -251,12 +252,12 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/share_plus/ios" shared_preferences_foundation: :path: ".symlinks/plugins/shared_preferences_foundation/darwin" - sqflite: - :path: ".symlinks/plugins/sqflite/darwin" + sqflite_darwin: + :path: ".symlinks/plugins/sqflite_darwin/darwin" url_launcher_ios: :path: ".symlinks/plugins/url_launcher_ios/ios" webview_flutter_wkwebview: - :path: ".symlinks/plugins/webview_flutter_wkwebview/ios" + :path: ".symlinks/plugins/webview_flutter_wkwebview/darwin" SPEC CHECKSUMS: app_settings: 017320c6a680cdc94c799949d95b84cb69389ebc @@ -303,9 +304,9 @@ SPEC CHECKSUMS: sentry_flutter: 0eb93e5279eb41e2392212afe1ccd2fecb4f8cbe share_plus: 8875f4f2500512ea181eef553c3e27dba5135aad shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 - sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec + sqflite_darwin: a553b1fd6fe66f53bbb0fe5b4f5bab93f08d7a13 url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe - webview_flutter_wkwebview: 2a23822e9039b7b1bc52e5add778e5d89ad488d1 + webview_flutter_wkwebview: 0982481e3d9c78fd5c6f62a002fcd24fc791f1e4 PODFILE CHECKSUM: e840dd57ba2b03bcb6fdba293a27c5f82151a80a diff --git a/packages/smooth_app/lib/pages/onboarding/v2/onboarding_bottom_hills.dart b/packages/smooth_app/lib/pages/onboarding/v2/onboarding_bottom_hills.dart index e8ecaa7c70b..1e4b1eed85d 100644 --- a/packages/smooth_app/lib/pages/onboarding/v2/onboarding_bottom_hills.dart +++ b/packages/smooth_app/lib/pages/onboarding/v2/onboarding_bottom_hills.dart @@ -24,7 +24,13 @@ class OnboardingBottomHills extends StatelessWidget { @override Widget build(BuildContext context) { final TextDirection textDirection = Directionality.of(context); - final double bottomPadding = MediaQuery.viewPaddingOf(context).bottom; + double bottomPadding = MediaQuery.viewPaddingOf(context).bottom; + if (bottomPadding == 0) { + // Add a slight padding for devices without a transparent nav bar + // (eg: iPhone SE) + bottomPadding = 4.0; + } + final double maxHeight = OnboardingBottomHills.height(context); final SmoothColorsThemeExtension colors = Theme.of(context).extension()!; From 44ce678042294d046feac7cc7c100f878c6c563c Mon Sep 17 00:00:00 2001 From: monsieurtanuki Date: Fri, 25 Oct 2024 19:40:15 +0200 Subject: [PATCH 28/32] feat: 5418 - Prices - "Are you sure you want to exit?" feature (#5737) Impacted files: * `price_add_product_card.dart`: now accessing amount items through specific methods * `price_amount_card.dart`: now accessing amount items through specific methods * `price_amount_model.dart`: new `hasChanged` getter * `price_model.dart`: new `hasChanged` getter; now giving access to amount items through specific methods * `price_proof_card.dart`: minor refactoring * `product_price_add_page.dart`: used `WillPopScore2` in order to check for changes against back gesture; now accessing amount items through specific methods * `user_preferences_prices.dart`: usage of `AppNavigator` for a better management of back gesture --- .../preferences/user_preferences_prices.dart | 7 + .../pages/prices/price_add_product_card.dart | 5 +- .../lib/pages/prices/price_amount_card.dart | 14 +- .../lib/pages/prices/price_amount_model.dart | 34 ++- .../lib/pages/prices/price_model.dart | 55 ++++- .../lib/pages/prices/price_proof_card.dart | 1 - .../pages/prices/product_price_add_page.dart | 207 +++++++++++------- 7 files changed, 221 insertions(+), 102 deletions(-) diff --git a/packages/smooth_app/lib/pages/preferences/user_preferences_prices.dart b/packages/smooth_app/lib/pages/preferences/user_preferences_prices.dart index 80178b7383d..8cb5528a303 100644 --- a/packages/smooth_app/lib/pages/preferences/user_preferences_prices.dart +++ b/packages/smooth_app/lib/pages/preferences/user_preferences_prices.dart @@ -2,6 +2,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:openfoodfacts/openfoodfacts.dart'; import 'package:smooth_app/helpers/launch_url_helper.dart'; +import 'package:smooth_app/pages/navigator/app_navigator.dart'; import 'package:smooth_app/pages/preferences/abstract_user_preferences.dart'; import 'package:smooth_app/pages/preferences/lazy_counter.dart'; import 'package:smooth_app/pages/preferences/lazy_counter_widget.dart'; @@ -130,6 +131,12 @@ class UserPreferencesPrices extends AbstractUserPreferences { ]; } + // we need the [AppNavigator] for a better back-gesture management. + @override + Future runHeaderAction() async => AppNavigator.of(context).push( + AppRoutes.PREFERENCES(PreferencePageType.PRICES), + ); + UserPreferencesItem _getPriceListTile( final String title, final String path, diff --git a/packages/smooth_app/lib/pages/prices/price_add_product_card.dart b/packages/smooth_app/lib/pages/prices/price_add_product_card.dart index 12e8cec788b..1a8c709293c 100644 --- a/packages/smooth_app/lib/pages/prices/price_add_product_card.dart +++ b/packages/smooth_app/lib/pages/prices/price_add_product_card.dart @@ -96,7 +96,8 @@ class _PriceAddProductCardState extends State { context, listen: false, ); - for (final PriceAmountModel model in priceModel.priceAmountModels) { + for (int i = 0; i < priceModel.length; i++) { + final PriceAmountModel model = priceModel.elementAt(i); if (model.product.barcode == barcode) { await showDialog( context: context, @@ -111,7 +112,7 @@ class _PriceAddProductCardState extends State { return; } } - priceModel.priceAmountModels.add( + priceModel.add( PriceAmountModel( product: PriceMetaProduct.unknown( barcode, diff --git a/packages/smooth_app/lib/pages/prices/price_amount_card.dart b/packages/smooth_app/lib/pages/prices/price_amount_card.dart index 893ff6d8144..65553aa5244 100644 --- a/packages/smooth_app/lib/pages/prices/price_amount_card.dart +++ b/packages/smooth_app/lib/pages/prices/price_amount_card.dart @@ -32,7 +32,7 @@ class _PriceAmountCardState extends State { final PriceAmountModel model = Provider.of( context, listen: false, - ).priceAmountModels[widget.index]; + ).elementAt(widget.index); _controllerPaid = TextEditingController(text: model.paidPrice); _controllerWithoutDiscount = TextEditingController(text: model.priceWithoutDiscount); @@ -49,8 +49,8 @@ class _PriceAmountCardState extends State { Widget build(BuildContext context) { final AppLocalizations appLocalizations = AppLocalizations.of(context); final PriceModel priceModel = Provider.of(context); - final PriceAmountModel model = priceModel.priceAmountModels[widget.index]; - final int total = priceModel.priceAmountModels.length; + final PriceAmountModel model = priceModel.elementAt(widget.index); + final int total = priceModel.length; return SmoothCard( child: Column( @@ -62,12 +62,8 @@ class _PriceAmountCardState extends State { PriceProductListTile( product: model.product, trailingIconData: total == 1 ? null : Icons.clear, - onPressed: total == 1 - ? null - : () { - priceModel.priceAmountModels.removeAt(widget.index); - priceModel.notifyListeners(); - }, + onPressed: + total == 1 ? null : () => priceModel.removeAt(widget.index), ), SmoothLargeButtonWithIcon( icon: model.promo ? Icons.check_box : Icons.check_box_outline_blank, diff --git a/packages/smooth_app/lib/pages/prices/price_amount_model.dart b/packages/smooth_app/lib/pages/prices/price_amount_model.dart index 089d4cfd4e3..8d3f61129ac 100644 --- a/packages/smooth_app/lib/pages/prices/price_amount_model.dart +++ b/packages/smooth_app/lib/pages/prices/price_amount_model.dart @@ -8,10 +8,29 @@ class PriceAmountModel { required this.product, }); - PriceMetaProduct product; + final PriceMetaProduct product; - String paidPrice = ''; - String priceWithoutDiscount = ''; + bool _hasChanged = false; + + bool get hasChanged => _hasChanged; + + String _paidPrice = ''; + + String get paidPrice => _paidPrice; + + set paidPrice(final String value) { + _hasChanged = true; + _paidPrice = value; + } + + String _priceWithoutDiscount = ''; + + String get priceWithoutDiscount => _priceWithoutDiscount; + + set priceWithoutDiscount(final String value) { + _hasChanged = true; + _priceWithoutDiscount = value; + } late double _checkedPaidPrice; double? _checkedPriceWithoutDiscount; @@ -20,7 +39,14 @@ class PriceAmountModel { double? get checkedPriceWithoutDiscount => _checkedPriceWithoutDiscount; - bool promo = false; + bool _promo = false; + + bool get promo => _promo; + + set promo(final bool value) { + _hasChanged = true; + _promo = value; + } static double? validateDouble(final String value) => double.tryParse(value) ?? diff --git a/packages/smooth_app/lib/pages/prices/price_model.dart b/packages/smooth_app/lib/pages/prices/price_model.dart index ee2d9d09764..c4193e077de 100644 --- a/packages/smooth_app/lib/pages/prices/price_model.dart +++ b/packages/smooth_app/lib/pages/prices/price_model.dart @@ -24,23 +24,43 @@ class PriceModel with ChangeNotifier { _date = DateTime.now(), _currency = currency, _locations = locations, - priceAmountModels = [ + _priceAmountModels = [ if (initialProduct != null) PriceAmountModel(product: initialProduct), ]; PriceModel.proof({ required Proof proof, - }) : priceAmountModels = [] { - setProof(proof); + }) : _priceAmountModels = [] { + setProof(proof, init: true); } - void setProof(final Proof proof) { + bool _hasChanged = false; + + bool get hasChanged { + if (_hasChanged) { + return true; + } + for (final PriceAmountModel priceAmountModel in _priceAmountModels) { + if (priceAmountModel.hasChanged) { + return true; + } + } + return false; + } + + void setProof(final Proof proof, {final bool init = false}) { + if (!init) { + _hasChanged = true; + } _proof = proof; _cropParameters = null; _proofType = proof.type!; _date = proof.date!; _locations = null; _currency = proof.currency!; + if (!init) { + notifyListeners(); + } } /// Checks if a proof cannot be reused for prices adding. @@ -58,13 +78,30 @@ class PriceModel with ChangeNotifier { bool get hasImage => _proof != null || _cropParameters != null; - final List priceAmountModels; + final List _priceAmountModels; + + void add(final PriceAmountModel priceAmountModel) { + _hasChanged = true; + _priceAmountModels.add(priceAmountModel); + notifyListeners(); + } + + void removeAt(final int index) { + _hasChanged = true; + _priceAmountModels.removeAt(index); + notifyListeners(); + } + + PriceAmountModel elementAt(final int index) => _priceAmountModels[index]; + + int get length => _priceAmountModels.length; CropParameters? _cropParameters; CropParameters? get cropParameters => _cropParameters; set cropParameters(final CropParameters? value) { + _hasChanged = true; _cropParameters = value; _proof = null; notifyListeners(); @@ -79,6 +116,7 @@ class PriceModel with ChangeNotifier { ProofType get proofType => _proof != null ? _proof!.type! : _proofType; set proofType(final ProofType proofType) { + _hasChanged = true; _proofType = proofType; notifyListeners(); } @@ -88,6 +126,7 @@ class PriceModel with ChangeNotifier { DateTime get date => _date; set date(final DateTime date) { + _hasChanged = true; _date = date; notifyListeners(); } @@ -100,6 +139,7 @@ class PriceModel with ChangeNotifier { List? get locations => _locations; set locations(final List? locations) { + _hasChanged = true; _locations = locations; notifyListeners(); } @@ -113,6 +153,7 @@ class PriceModel with ChangeNotifier { Currency get currency => _currency; set currency(final Currency currency) { + _hasChanged = true; _currency = currency; notifyListeners(); } @@ -133,7 +174,7 @@ class PriceModel with ChangeNotifier { } } - for (final PriceAmountModel priceAmountModel in priceAmountModels) { + for (final PriceAmountModel priceAmountModel in _priceAmountModels) { final String? checkParameters = priceAmountModel.checkParameters(context); if (checkParameters != null) { return checkParameters; @@ -152,7 +193,7 @@ class PriceModel with ChangeNotifier { final List pricesAreDiscounted = []; final List prices = []; final List pricesWithoutDiscount = []; - for (final PriceAmountModel priceAmountModel in priceAmountModels) { + for (final PriceAmountModel priceAmountModel in _priceAmountModels) { barcodes.add(priceAmountModel.product.barcode); pricesAreDiscounted.add(priceAmountModel.promo); prices.add(priceAmountModel.checkedPaidPrice); diff --git a/packages/smooth_app/lib/pages/prices/price_proof_card.dart b/packages/smooth_app/lib/pages/prices/price_proof_card.dart index 6ad223dfc7b..287f4e8a14e 100644 --- a/packages/smooth_app/lib/pages/prices/price_proof_card.dart +++ b/packages/smooth_app/lib/pages/prices/price_proof_card.dart @@ -128,7 +128,6 @@ enum _ProofSource { ); if (proof != null) { model.setProof(proof); - model.notifyListeners(); } return; case _ProofSource.camera: diff --git a/packages/smooth_app/lib/pages/prices/product_price_add_page.dart b/packages/smooth_app/lib/pages/prices/product_price_add_page.dart index 13d71fac9fc..b9efbf90fbe 100644 --- a/packages/smooth_app/lib/pages/prices/product_price_add_page.dart +++ b/packages/smooth_app/lib/pages/prices/product_price_add_page.dart @@ -20,8 +20,10 @@ import 'package:smooth_app/pages/prices/price_meta_product.dart'; import 'package:smooth_app/pages/prices/price_model.dart'; import 'package:smooth_app/pages/prices/price_proof_card.dart'; import 'package:smooth_app/pages/product/common/product_refresher.dart'; +import 'package:smooth_app/pages/product/may_exit_page_helper.dart'; import 'package:smooth_app/widgets/smooth_app_bar.dart'; import 'package:smooth_app/widgets/smooth_scaffold.dart'; +import 'package:smooth_app/widgets/will_pop_scope.dart'; /// Single page that displays all the elements of price adding. class ProductPriceAddPage extends StatefulWidget { @@ -81,7 +83,6 @@ class _ProductPriceAddPageState extends State @override Widget build(BuildContext context) { - // TODO(monsieurtanuki): add WillPopScope2 return ChangeNotifierProvider.value( value: widget.model, builder: ( @@ -90,85 +91,67 @@ class _ProductPriceAddPageState extends State ) { final AppLocalizations appLocalizations = AppLocalizations.of(context); final PriceModel model = Provider.of(context); - return Form( - key: _formKey, - child: SmoothScaffold( - appBar: SmoothAppBar( - centerTitle: false, - leading: const SmoothBackButton(), - title: Text( - appLocalizations.prices_add_n_prices( - model.priceAmountModels.length, + return WillPopScope2( + onWillPop: () async => ( + await _mayExitPage( + saving: false, + model: model, + ), + null + ), + child: Form( + key: _formKey, + child: SmoothScaffold( + appBar: SmoothAppBar( + centerTitle: false, + leading: const SmoothBackButton(), + title: Text( + appLocalizations.prices_add_n_prices( + model.length, + ), ), + actions: [ + IconButton( + icon: const Icon(Icons.info), + onPressed: () async => _doesAcceptWarning(justInfo: true), + ), + ], ), - actions: [ - IconButton( - icon: const Icon(Icons.info), - onPressed: () async => _doesAcceptWarning(justInfo: true), + body: SingleChildScrollView( + padding: const EdgeInsets.all(LARGE_SPACE), + child: Column( + children: [ + const PriceProofCard(), + const SizedBox(height: LARGE_SPACE), + const PriceDateCard(), + const SizedBox(height: LARGE_SPACE), + const PriceLocationCard(), + const SizedBox(height: LARGE_SPACE), + const PriceCurrencyCard(), + const SizedBox(height: LARGE_SPACE), + for (int i = 0; i < model.length; i++) + PriceAmountCard( + key: Key(model.elementAt(i).product.barcode), + index: i, + ), + const PriceAddProductCard(), + // so that the last items don't get hidden by the FAB + const SizedBox(height: MINIMUM_TOUCH_SIZE * 2), + ], ), - ], - ), - body: SingleChildScrollView( - padding: const EdgeInsets.all(LARGE_SPACE), - child: Column( - children: [ - const PriceProofCard(), - const SizedBox(height: LARGE_SPACE), - const PriceDateCard(), - const SizedBox(height: LARGE_SPACE), - const PriceLocationCard(), - const SizedBox(height: LARGE_SPACE), - const PriceCurrencyCard(), - const SizedBox(height: LARGE_SPACE), - for (int i = 0; i < model.priceAmountModels.length; i++) - PriceAmountCard( - key: Key(model.priceAmountModels[i].product.barcode), - index: i, - ), - const PriceAddProductCard(), - // so that the last items don't get hidden by the FAB - const SizedBox(height: MINIMUM_TOUCH_SIZE * 2), - ], ), - ), - floatingActionButton: FloatingActionButton.extended( - onPressed: model.priceAmountModels.isEmpty - ? null - : () async { - if (!await _check(context)) { - return; - } - if (!context.mounted) { - return; - } - - final UserPreferences userPreferences = - context.read(); - const String flagTag = - UserPreferences.TAG_PRICE_PRIVACY_WARNING; - final bool? already = userPreferences.getFlag(flagTag); - if (already != true) { - final bool? accepts = - await _doesAcceptWarning(justInfo: false); - if (accepts != true) { - return; - } - await userPreferences.setFlag(flagTag, true); - } - if (!context.mounted) { - return; - } - - await model.addTask(context); - if (!context.mounted) { - return; - } - Navigator.of(context).pop(); - }, - icon: const Icon(Icons.send), - label: Text( - appLocalizations.prices_send_n_prices( - model.priceAmountModels.length, + floatingActionButton: FloatingActionButton.extended( + onPressed: () async => _exitPage( + await _mayExitPage( + saving: true, + model: model, + ), + ), + icon: const Icon(Icons.send), + label: Text( + appLocalizations.prices_send_n_prices( + model.length, + ), ), ), ), @@ -201,15 +184,17 @@ class _ProductPriceAddPageState extends State } /// Returns true if the basic checks passed. - Future _check(final BuildContext context) async { + Future _check( + final BuildContext context, + final PriceModel model, + ) async { if (!_formKey.currentState!.validate()) { return false; } String? error; try { - error = Provider.of(context, listen: false) - .checkParameters(context); + error = model.checkParameters(context); } catch (e) { error = e.toString(); } @@ -232,4 +217,68 @@ class _ProductPriceAddPageState extends State @override String get actionName => 'Opened price_page with ${widget.model.proofType.offTag}'; + + /// Exits the page if the [flag] is `true`. + void _exitPage(final bool flag) { + if (flag) { + Navigator.of(context).pop(); + } + } + + /// Returns `true` if we should really exit the page. + /// + /// Parameter [saving] tells about the context: are we leaving the page, + /// or have we clicked on the "save" button? + Future _mayExitPage({ + required final bool saving, + required PriceModel model, + }) async { + if (!model.hasChanged) { + return true; + } + + if (!saving) { + final bool? pleaseSave = + await MayExitPageHelper().openSaveBeforeLeavingDialog( + context, + title: AppLocalizations.of(context).prices_add_n_prices( + model.length, + ), + ); + if (pleaseSave == null) { + return false; + } + if (pleaseSave == false) { + return true; + } + if (!mounted) { + return false; + } + } + + if (!await _check(context, model)) { + return false; + } + if (!mounted) { + return false; + } + + final UserPreferences userPreferences = context.read(); + const String flagTag = UserPreferences.TAG_PRICE_PRIVACY_WARNING; + final bool? already = userPreferences.getFlag(flagTag); + if (already != true) { + final bool? accepts = await _doesAcceptWarning(justInfo: false); + if (accepts != true) { + return false; + } + await userPreferences.setFlag(flagTag, true); + } + if (!mounted) { + return true; + } + + await model.addTask(context); + + return true; + } } From 388e4d0b902b0b23525d5ae6034924ba6120ef96 Mon Sep 17 00:00:00 2001 From: Edouard Marquez Date: Fri, 25 Oct 2024 20:15:07 +0200 Subject: [PATCH 29/32] feat: Switch to Material 3 (#5736) * Switch to Material 3 * Upgrade Flutter goldens --- packages/smooth_app/lib/main.dart | 2 +- .../smooth_app/lib/themes/smooth_theme.dart | 5 ++++- ...ferences_page_dialogs_Improving-amoled.png | Bin 8762 -> 7760 bytes ...references_page_dialogs_Improving-dark.png | Bin 8390 -> 7997 bytes ...eferences_page_dialogs_Improving-light.png | Bin 8680 -> 7866 bytes ...ge_dialogs_Software development-amoled.png | Bin 8511 -> 9112 bytes ...page_dialogs_Software development-dark.png | Bin 8553 -> 9504 bytes ...age_dialogs_Software development-light.png | Bin 8857 -> 9264 bytes ...ferences_page_dialogs_Translate-amoled.png | Bin 8393 -> 7380 bytes ...references_page_dialogs_Translate-dark.png | Bin 8000 -> 7523 bytes ...eferences_page_dialogs_Translate-light.png | Bin 8294 -> 7449 bytes .../goldens/user_preferences_page-amoled.png | Bin 15404 -> 15642 bytes .../goldens/user_preferences_page-dark.png | Bin 15837 -> 15079 bytes .../goldens/user_preferences_page-light.png | Bin 15184 -> 14422 bytes .../goldens/forgot_password_page-amoled.png | Bin 7708 -> 8375 bytes .../goldens/forgot_password_page-dark.png | Bin 8879 -> 8499 bytes .../goldens/forgot_password_page-light.png | Bin 8797 -> 8517 bytes .../test/users/goldens/login_page-amoled.png | Bin 12136 -> 13184 bytes .../test/users/goldens/login_page-dark.png | Bin 13544 -> 13427 bytes .../test/users/goldens/login_page-light.png | Bin 13112 -> 13132 bytes .../test/users/goldens/signup_page-amoled.png | Bin 12692 -> 14825 bytes .../test/users/goldens/signup_page-dark.png | Bin 15248 -> 15328 bytes .../test/users/goldens/signup_page-light.png | Bin 14462 -> 14865 bytes 23 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/smooth_app/lib/main.dart b/packages/smooth_app/lib/main.dart index e9005326b92..5ea9df3799c 100644 --- a/packages/smooth_app/lib/main.dart +++ b/packages/smooth_app/lib/main.dart @@ -304,7 +304,7 @@ class _SmoothAppState extends State { Widget _buildError(AsyncSnapshot snapshot) { return MaterialApp( - theme: ThemeData(useMaterial3: false), + theme: ThemeData(), home: SmoothScaffold( body: Center( child: Text( diff --git a/packages/smooth_app/lib/themes/smooth_theme.dart b/packages/smooth_app/lib/themes/smooth_theme.dart index 1d41a28ecbe..dabc6bb5d32 100644 --- a/packages/smooth_app/lib/themes/smooth_theme.dart +++ b/packages/smooth_app/lib/themes/smooth_theme.dart @@ -39,7 +39,6 @@ class SmoothTheme { } return ThemeData( - useMaterial3: false, fontFamily: 'OpenSans', primaryColor: DARK_BROWN_COLOR, extensions: [ @@ -49,7 +48,11 @@ class SmoothTheme { canvasColor: themeProvider.currentTheme == THEME_AMOLED ? myColorScheme.surface : null, + scaffoldBackgroundColor: + brightness == Brightness.light ? null : const Color(0xFF303030), bottomNavigationBarTheme: BottomNavigationBarThemeData( + backgroundColor: + brightness == Brightness.light ? null : const Color(0xFF303030), selectedIconTheme: const IconThemeData(size: 24.0), showSelectedLabels: true, selectedItemColor: brightness == Brightness.dark diff --git a/packages/smooth_app/test/dialogs/generic_lib/goldens/user_preferences_page_dialogs_Improving-amoled.png b/packages/smooth_app/test/dialogs/generic_lib/goldens/user_preferences_page_dialogs_Improving-amoled.png index b79b8afec1c66c8f8320872b90a492b5f4edeeee..f25fedf1e9c687d6248c078954657f0279dc19b9 100644 GIT binary patch literal 7760 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 literal 8762 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 diff --git a/packages/smooth_app/test/dialogs/generic_lib/goldens/user_preferences_page_dialogs_Improving-dark.png b/packages/smooth_app/test/dialogs/generic_lib/goldens/user_preferences_page_dialogs_Improving-dark.png index caa158d51929f548fa1df7c2f1dfed24653abb60..1a9d9ff2460e5ff54e7812b82c2f98574d3a3454 100644 GIT binary patch literal 7997 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 Y%={3(^~I*LqLmMy)Hl;39e29+KO-Em!~g&Q literal 8390 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 diff --git a/packages/smooth_app/test/dialogs/generic_lib/goldens/user_preferences_page_dialogs_Improving-light.png b/packages/smooth_app/test/dialogs/generic_lib/goldens/user_preferences_page_dialogs_Improving-light.png index 6d5b48f3e2086f578c210348bdce6f4b86e5c70f..344412aa8b89d03678a623e6628fd020e47502b4 100644 GIT binary patch literal 7866 zcmeHMX;@R&y549ND+)$M97uw30A;Fz%mJ(cv?_`dAP8OoL79XQhJ*lWEs-gRf+7+s zP*H}Y3<3#Lt${EI2!deSlkAo3wZHWZ@As~E z-92q-v3~9LwGafYKXw#z27*>9LC^}DHLJnMWB*$>z=ss}jK!A_wLx(R+yVzMzOZ-)`^UTsYZ%dw5Z0(SdK$$Co=U47 zx)dj@dJeBX^^Ko$b-PK_iK_`G`P~h~9_(C*@p&=%+%Uayf->KoG?9b#^7;&z_uuQU z^nj_fJY9OQAWu!foM}QP$-{iCFlsgEO%U|tgDJ)+XhD>pszRwppH{A?LuV3rTv8wb zV;{QU6C_N8pl?^1M39!`VLdUVv4)qX2VGYjwN2n#Fp(C_a1?ihGXX(AT)VLwWsHP{ zUff)%=_`jdXfY03gMc8voBEqD*WsqMd8KNoa@@i^9D=@JkH(NfZ8ukvv2xAShdji$ zmt1VSx5CJ4kl=xP@-PvYp3O(3UwXMt$;DQ348u`?Mfx_bfS|kT5u_aO=LABme~WNS zcAi?#c36*yCvjE4w+jpJXz+ zZcSb5T?s)Be*c3B))8;Wd0sCco2N#LB8~AWV0`~zW~zz={E(4qX>BUO3Z;M#QYG4A zC?j)=RJvMS(k^Z-2Ma-_W@V!@`dD5oDh$J9aKNLcm95+-^zk04eRaN8n2~6b7IxWg zd4FvbJ|b1`5h3>ei`Vk80Wx5zU!-a6;y&gad6Or%#@faOmJJ@29)c17b+) z#SzFhjsUXZ`Q6$SL-x+FQUfu#JH07hPAOjE_K2jgXx zL`fUY3{a%>4q1>9_2@4xl7p^3UWy%S%XPXpo;EhiPa)4v@Rf&fBW<~QeNkF*lMzgJ zL;R#$9y;!|y~B<-hs>PhzeUX^mhg3qZHd1p2iu4~hWG3!*r(&s7Mrf{ zB;vt5^3nY8NB9N^x*W5?6oSH>KLg*Dwn>3PK57mD@5RCX;^D+ux-|6sb{Rojbz9E( zQ965Y&@IjwioFf3xUm)yGSgcuWC(o8QqW8O77+hGwxufcwagP8vWX-x&tYCXMh==7 zs7y7BjGOE%BLrmI8oV^Z4Uku!AndbgxNo?zZyj* z7ugqGt$(}~f$*YJi;8qnsW}t@n?{aTwJx+*IAoVW(GqiteVpoWFqonL2!&dXM< zkpOff(s4}naXmE&ao?^oT=v2h$LVa!R7I{Gnc7QUvef##W${W1ei@NeG=l#9PDEYRo zCBCH;9Dx=XO6e%?`u=}j?_-a27SYsPMUpon2YtA2N=0M3I}OC(v||9r$HJaC)v7rg zP}GfgUl?&UIc~fuV>yYx^>2}wO{+^STmU~me&nkm=Wq4etdUb9N1l-q+2w# z>N|-<(pF9+)Zsvu!aPIvUB7YTi@CYEi`2-+IcFOa2~@ixDvv=TH8nN0<+&WUL%%LZ zzwolnAR6Wylu>}^(5}Lv#dbPHU*61W2)po=oC16u$j&bm&ZEPM|0wI8xrcsU*6vX? zGZR>cbAO+Gx3{-9L4YR^cA?__K?-C~r2CFMof5EFwehNU)JP3Ht)MgCi&bdXt*ZZi zsEzUj*TB)bKH1JzN4rjJI~5%dZ+6qJCArNudFXUzx@&K@#TUA}xm6pe7B~14WY@2M zNsJmUuw?lU;0m+6#^MzPejYjbF@lzfesX(o75~Bf0&%a`D^PTQ8j_Zm1P`OT|9!Zi zg_TmDh3UIqzN}o|>G*V0Mquy}B3)0u*W)I_eVCJ*UN@TMu>a*1ks&?Q`Zd-Orn#SrbJ`oiJu(dM1#@Nd3hTuH_W+Nn>U zKJ7O~;-IH5KYdHUET!!6#35#8Uo0X!0-*X;gmCP3A9R-Ir zU-*;fT|~n}hg$CiLDk2ho7=Z--AcN5?_Pocpq2-xIG4vTPlJ)s(>8Uu8>#IhcF+K# z=rU+mKSQyZQ0nTL1ef-^{I1d<>k53;k!+nY|!$WUH}x!bpIH?i4l-%BkX zV3GeQn)?JJ_NP*gw2ri^&llRgPfT+yVI^Ew{p%vL7{i&sD2W1oyWME-+nLX5uBzBbyfeWKc2Wp2upn6V(ZTh()I3Eynp{b zNLR6#H9gvCM->bW-6ai1Pz3LD-02#qD}H|3g&ytA7aHBL$$yJW+Yvm%Rc=VXlak+l z1k(IYCE}};K5KmO;AMd6Vf5$2Qp{hy?@#pO-)Yl-_3)bo&dUB~4;`oA;8Gsrko$Y) z$B#GaaAjp>xjubW%aGwe(gsV?@w}epim~Az1GTA-Hz-UNB=)tvADa3({s&Pg3PDJp zskSg~9>-!Z_SpJExt^Vc&ba&+Wxe0*;0`2thlm>WC0(TLWlNTvT{*rUS!}EhO}WLP zeP^_JS`;Y(3HnbCsFbGZ>?22xc!~=e8gky{;yhdl9)d|cNR_g-(4KOlC)xt@ps35= zu9?x^;??$jFA^^H3etQMgKo|=$jP_EHw;YeuHf*;wEhsHej9;H^T!7v`pFX~n3I!! zb-1%<&jO@{&H$!)@Ye-xF(4JTnFBiRFMMhF2l)lI73ibQ(Tz3LwyI$&hP@xA2j?Tx`$PyUuVUH9`~(;Shi)>IF= z2E(oA{WZBD^i;M}BLJ~5ecDK@d770urj87%>cXY8roqRbh*4&%0l)xlZRehbr|ABv zmi!pBYrgl*;eVm5e}}RDJr!Z~_dD0&78e(DiSyHd1>o^06eE?-zzF~oA#H`jqt)#S z3tF|nYNVy5(`Ymrk1?1^w9ELlasOYS{B8dHbCCL-)%>T1C$Ms-tpT(hFg8XwIXNwV zNXsGKpf^GgydY4-9UL8v=G8s40O>F}IoXeRk?>jU*#dVqHSpsr>AqLe$S6?Jm9JJx zbI%{&!iuY;MPavSM&v7~Rija03O{GO!8Fon^Sm4)f+#Ip$=!3D+u=?lia_IfNMK%6 z@s<1Hex6$0lf?ibXWKGww?NMJ1S5I6y2Wuj@_ihUOxMRR&igp>LR2>6ee2{{E z*f;OFA!vk^CgPP;Y-HPGPmXWPM3^pU+AJ{@%0J!-T>3E2O%P|_Et+!N84N);Y8xJz zm{5m9ofafNlyJq8`i>c{Ld7FOdhH88g9xUzsqtJBxoTxk+s3g_v7yteMAv86WuPAv zwTY8%oW*GG$`2=XS;+z2iP_$*w6Jsd;-gzljc034RTVAqi9U;C<$KHwf$Cstn;@$9 z42A1<`yCG+aY7z%&i~X=U_MKWVitdCgc`_-&+;X&08^jYY{vOGoyDatO(LBF1NFpu z@u!FUHh)eHi;9Y3mQX7+j04|Q#5_zPUQo7^g5G{7iwM!t@ur&;62(u87sl%hJFR5l7woPCj(l>|Hz(XITjLCv}Tm)e&{=& zR(V?F@e7mw+#xCG!=BL&G=glDs~R$yhQ#&HW`(RuR}CE?`1&5KVpVbFR#O|%YcUw6 zI+Br-!yuj-i^ewE;XC+ESbucIxI&6&mM~zhM=|>Rwa`en{w1T0Wbe>|oDRkLLQ7Vm z7hqKQ!jkY0evFwP*-Y#3!YY6{pNd48PF<%YXY|pubehXM;N4xyNi)S@vIk2Fav0-x z6gsG$4=Ks{ZZ&cJ=m4@LeYC@1v{MmmJf=O1Ccl1nt-CbHM|4Ml`98<4ZzXcZROk~Y zs2vL%;n1}-#!B?WTY*&d;<(0ebh2T<0Ag1pc-blR)HyZVQk9>6n;;}qHHJziI8M$@ z@lwu!raH_lnpy6ACL?hTn-lusE9YVutA-DjElE3xpSkS{Ndn**cMxeUy zV~>e)nBV>7q5Nh1OH|Ygw1I~9f-Od*;|b$r0+1sZE#1WVRk2=qppVTA-S3+H4v13Y z^F#NYa`98cKiS>?EXgb4F1jM>#n2EZ4T9dfJbOm2Vp1HdK76<=w8|T-g?uHme3ra- zu#=H~uCiDK_$5(UIRvqobpbc3ZUe9_wr;*#TpswLoK`8A)2KzSWeS^83eOjX_GnoZ z*mi254f$_xuJjzc(?028ojmOsj`0wyKn#|@RVo{c?#A398$1V)AnPDCnu%7#8vL)wT^zVj z-+-*7UMex@V1Ys?;Zq3Q@`{cvjqpUU8VJI+U@e|;J9`Mbg=OMyPMR}&O3Jx4^Snr5 ziKp3DC+j!t>rb9U zMu#K25G7S&Cc8ouZBvHFeS%}ot*MO{Xby0)i3n3VJ1pQfj+HByFTG|3ABIC=OEiAy zq9Aal30alWv-mP_zNGupKNCJ$Nyl4S+#6b3eU}n6kT}zlVJz<`8FP$~!8b(e+WQ}~ z5AIzh%6oWT@)p42;bm`*bf976B|q(u**B7zACT0@^*eN!bUq~sN6mDUdNFy!>L%oy zy4)8*NOtth4d^;Klx}cMeyP;p@V!!lvHRgSDY}~CK#;C)Cn_X3#l*)kAjkC%9)dTr z>bQ>U*L{izd@RsHD00{x_U26dit4+2m6ZV>H>#?ty5ixXCJQ%sK-djI25us5Wp427 z_|J`+)%@LYEO|2Svsl~A>&v^0{a{}%+T#cP6CLv3D3xBm8ZJ9Rwm{5T+P#!fP`~Rc z2S0k@VHV$xTCTB0T|Xn|BGe2t+UpHq1i+u3kvJnQdt`iDS;hQb~{U!dnN3%OX9a9Qq^m2!6d zbY`$OK+d!FVVDaiEdOFdWWg1Sw``2^lkOzBRsBB=etWS}ZXVtEXE zsk@|^zE9?vc>?9>MJ71an5jP>J7&&orSpNEYqx1caKGUk0Y@OKVvnP^-n+P^oP1Ew ztBl|NS1oR;A&*_+~Bf`}N-j-O9yK8Ht;#PVjM%fiDQR-MqsiqCgGG-DQ_u9yjdimh}r z1;dOsvs&0KRvOLhQnyjwAHik8nn51#`{B+x zD>JF>`?f<6B!xKp?F9&uP=X-wi(9vVE6JfZ0>KZlkPBwtKt&z$li-g{A>SZuw}KCD ztLJ|}kP?LW_G{blR1OROz;z6-I6HHfTDtYRz0#oP@z>%9cHfhI)>KoGv(<6@ZT0lL6-Gnt z-SqlJ{$~4KtpOVk52W__Zf+aLE(rXZ6dYD*o|8`p#t{y@6W$#f%mWV z^8%hm=^>0$JsDi$en)=;2zrsY4y!-Q<8g^~7yS)Je1F*dppoSAV3Y?-RMykojaC$c zo_vgsH+<-6M|zCdZ^=VtDkyxj+bf8GBT-ZY9GIEizzztKH}5A6Bzc}DIjC{Ro>C(q zy%RLzSspsxqOd|1g7#RWRRwfJ0IjIC%;|!f0U|r+^3_cnp58C*vkSg1U*H_>G-`{s^3^MoNbW6&c2dt-VQT}Urm9P zKjv_Mq&h)*hO~{dyk0!{)ZClhAzhZbV@-1Cw&B}~s5&hOI`wADmMy{k{^er{&H*$v zO3jHrWZmOYH|4#D`W^XBhojmocd0B0|hRXCrZ5OMLEh4bjTYVxpI})%5T%6PYb&bBGe0>W=31)Rb7|<+%dh|xTtC> z&v4~)#%oCk^7mMr?#0f3FcTdOPp(p;5h>td1$&HyVgs?QsDHX{W;_Mm!6_d~FDfd! z>m&|EUA0I$p-dJIOz^;+@t4i}`}w&g@ipP4-(92YQY?kGE=xw>C~n((<z|eiDFpf_i->mAG1yc2SE)1s$^Vn0B{~&vF-p( zS*DbKy?a67K`e|NU$b%S#sry2*pD53IHeDEo?P|$hkLx)#z_3U2R;<9;+c~i+horS zGx^dxZuTK;Xt_!E$kojdG{ph_=v{gir&?KY!+vK@k=SUSk#12nw zoMPE0FHpF-w|)Z^FN^2g2!b&ft-!J52z$8O#=0FO)sel`tcjszjuGJkhpuShX%ISn z*1>^UC(XRtKIDjzsBc;1^ydeNsT5?B3HlChcubGK?Ns&9T7cIMCBAiaK5s%=rTDN- zmM!bGSkK(9qY&hNW0wgyz@<%p0O_?yY!is*GY~Mu-9P@1U)IkLfSw*-Rd4UR z?xbCkB3jupFA@sc24d|WzR0^r%GT>qHHZWgO-@8PvrI~f6VV_BJvCQ<1s3>Uu-QL% zQ&!2;mb~L2`GFmEU35>KdIFoA_VepYE<}=K)a*T{x^ty^N?X=*<($>zm!4~{loD^3 zsr$rW5l$KOP9d|vJ}L1IDzUT)n>IZaB7(M&SOeqtZ1{$NJ^|v;Kac)!&V0=EwYTF+P{fuWRSqjeGsTR4xocsaCJxKHX8}-O|7fOVqBX46R-kfl}6r z{9Z~o-Bj)K=a1++Zu#0o=Q;^-$Yier3hQMIb{4lXpb$3jFmk50JkZS65=5~3KwGl5 z+C+LJH-}z`s;vst?Y=Jk47lzeMO4KO;QEnq(JKK%Nk2~(j%g4bE99n3Ah9SN&66h| zrKhJyvsZ+|=4Wz!cb>jV2hO;%du?savGmIMMvNps=3^=4^t~^~-pabIHc)2RY`Nxu zoZZCuKgX*-cALF}gG0hGXGS3F#~P`uLWq_xAW|X&1iu*+O{Fw#!$YhF2|A z7S}E3v3vKHBqiIQBGBFp!Z9Acw?>RlT-MTVpYNRxx6RI&+Hyv-hS@YbdyxVTxA@_g zs3!bo_LPqKhf8kRQj8PuqS;Q9I(Rkvf_ESbR+y_8WD%=rO{WHr$0xywghq_1sVRblh~F1El5@?KRNz{z)0J(F z&dIVHS5EpU^hQmc2N8u+Dg5A_KkYU-r?P_UgJYDZNaL}>Z^w0NfQ72JDgCoV|2hA= z5{ACtX~OoU^)XqG z``=>jyo$nsyE1AgFjL*pSDm~zoHEr9N6IHFP)hCf=)2%%9*42%mh*yZgjoLrGh~4u zz3RC(!J6q<7(k=;R}4j$Qz#nz2|BtW;L4Rlh!Z{+Jkavm&WSKzW>Ne6WS7W=Yrc=G zo=*o|39adL8Z$($%Ex4mVs$=DbP4pz?$i*+ON`j0m5uaJITV0?)<4ITpDTh-EBc$; zRqS8wF3G=TF5&_2Nu(7T4au6;>j@iWitgk-Q#zMYjvV;H%9=n`64bhb}eC<>cp?! z1i0)!s%Tlq(2WMaB4ya|a$o0{mriF{rS+YQG43x>_u-y8**fRT0j3m)Lz4OS<)eN6 z1L($nCNojMp8((rFaefyGIvflmQm!IGTD`_Ynwq|EI=k3>}(HSb*cuAt%J@H0~*05 zUi?&J{^-#R0=Z(mDi zCh{KPrq*pMB9ZvzF{kdpv=K?@k>^`bH-F2z*@gM}`MJp?d|tkp>nGfK=99}EvQUos zU)50vn$F1Zs8=QwGFJcpRJXt6CV)RY-7X;^;aG>m{yB8A{ome|Nz%t$HPy}(mJ%0o zkZlvs3Xm-w-jj1X-`4njeDPJ-K#*DELcEG)%lr4|IPA;q$&WRNf>s1+20s(&SaR92 zaU-Tt8g2;I-dz?j{Q8z)J{!&oOcNBCrHwemRb7rVHMrUe6^Bf841~~uPhwU-rTi2I z0d<1$XkYUspA7(bPw1wOiI39gog)f&u>g0FHXe$R(=U6gFuol2ct@I$06EqZ@HWDT zroG;ypyZ^yz%?1W`Tn73uo!$?J5BM#!=_8g5j!HuU^3r-rgf! zjGmqzTT7ZT$IWPJ7ax0wy^F7x@DM9vP&PvSlP9~ol|3@qv3lcAmNxLfPI{orky}S! zyLQbpJUsk0qdi5JGMxMd$H?rM1EE&Z{0wk%R>Pr1{ZH+w00Q0@>FX~#e*)}v=C=;{ zq^w42rlG+kLBnk@&{d6v3i&S=k9%FqoKOagqKE43+BqQD1|9tS#i?@^{~5_tru9*M zweTzR(O27AKbzB$o%`^4z5rn>`MaZn2ckh|>#qARlHi}h^6wzpHP>Qa#gtr4jSS|a z)WnCHDY;4Snyp=pKoRV)hW30okCDjOGwACP9$vr%2`v1T>eM4&{2vkY-&+`dZ>u1p zrcShcN?kJ5mzh;wzO)7h9ZXKuF$mf|H8o`pI;N`XYAuhZ`>A1r*d)D>%RTh*G@o&I0Z=1$LML_NYpMf#Wd_b1pG<1Q7|jFQJ2Rc-lYdm*T>aN@B;$c*#` zIs%2&X0ce6LTArMUt8H94%(uQ1< zWQmM;Pi8W|&zGXG6tww4lZ=#79DF@oy>9uF-%y>AYzN#R(Tzv5=-YTI2AMQQN8jcX z>*`hF3Z2OSTny*mn>xO5e^n8CIO=54MMwmRBlH^PTXy67&OoX`ZFIk`kVUUXgS^rn=4^$tBLP!kM&t^WXyo5BkydwNs%-K9q^U5bAE>5BoXd z(784c86mx|?~ztVl1o{oEJ;Nj^kAwt8Ly*&=ve-I*sfdxK^m%?Lt6IK&aE)yjrbo; z2Vyj(L)+@B))-k+#)LuiXu)RkmAo=XxIk!DvVNyIIj`_jjelmPKb2qR+T^z=f5UXL z)W*unjI_XJPJj$)4Qi$`6Wz*PA;;PX3~BWFZtGdDBvn&bs+F84w}0Q&sxrqWdAJ!S zOja?ZYX@D&wcmWgUnZnqeZs%`{iXj>QDDM%H9O7kC5KLcUOF-Ucc>I(JNU_(fwqr2lM6}y3Bd+s#1TaZ>i$=2so z#Pfi)<*{$N?;3y(+SRhZ_Dj5AEK!a7yryi2(!s+e`M&0F(?mt$%({0)m`Ps)5bQ{e zplT1hy4sb4?k`0j*YZd{^y7C}4wab~kXZq~rIkXC*!&o>idYU8tj--qv!Q|43xu2|n_Z<%Uet1arG4QE|c)8a2 zBZy+b<72&b9^P+R;2Z&EwF{v-^~K7FV48BG?SLiLU)F@=iU>JH1hiNwNe+ z{4fm2QKx$fZGRB;@_{2Uy5sA@8T!=i{j_E);T3%Y>HI3?zJV;+bl*H~yDlLqR>e2P zt8K2Nu)KUSWZ1pQ&t5I9+^)^PI<=g0LPh?_&6_i0x253;Fac|5jdiy=_sn0SWY{?% zUZoZ|m#aIduVhyS5`_3=Nhpf9A62csv_AXn=*1VJG+(Z`|7&x(URJY74Nb)NAKEk2;keLf7)G>M%nRBa2pm41XalJ%Q%d z!qN3w50sG!qw(Zb&z@s;S@!7WY5UP#1+d;yADeMHnXEg6)0!X~XdpFQPX&00LGSD8 zgbg>beyo+YR6Q+gV}YlY{^au@xmM+i+B!gT9smjef}{u+%nKE_0tM1^Y#mt5gUwJy zfHc=D8qSa@#Xty>NGk<3#+x)M3GA{Fu@qL~kxl;|f&v2v_kK*@;OTA{`0mFaKm;>g z!@OSI*enxfSL;-(P~!X&`C_p&c&x=Gq+J^;+{)_Kv^ut^2cE`GkEZY zB2+LUmYa?$079`7Q?3>-=vafdAmKyQbi=VnHpSqrxM>eXHO5V-v!X@(EXl9G?3kON z#ewHdT=brShb}gEyi3Z)pUft&JhVtMth@pT!ft(34&I) z4)Q9E?Acf9b6WUElYI_8(B7BdHAdrxceuR++_&cM)Jkt>LXsh5(jO5PcwC}CY&4D2 z-?hQ$7YJIN7bDg`-P7oBTOV^92j#2aIb7^{5Ou54K@qmv<=cDpvqmCqz0FO*Knp-L>dV0H3pkRq= zyr^OTj&8?d2sb@w>d}b;E3$fwqDt46z^~BQKi3QYw&VIOb@6vUoo1&CHC$g?&6MR$ zcUj9QgfwY3kGH!8_$O(?F+JYWLAua=NwG~&H`nkP&e+u%#-9}UyJa=5=4x*KLloo3 z-y*=jTbC6{s!-ZQ80KnkG~=Qj;1hcBZb_XXgZIrWl?xWJ*=mzvr;6cI)eXGsI)6Va`J zng8e@=hePidt~L*1AWwu$1n%gN^iO(ffrBq9IV00P(hEiKqaiLd|5B%(spK;$>8`zQV4YeZ7Of%8$e|aF!&Z z{duIMEf~CLP2ENJuQajR$Sdw?CgUxV(-n4d(SmNSknq3^2-*qL8-U1E=5 zYI$k*0LZu!fKe`(9y=K-7!dSSgXKdu)`a*r4=f4o@V-ORehK;F%qj)O1ZVp6_8y;u zCK`z5FQ-M@!Si*$L8+~?UOPqGEK}P3qKdf1^UdOPRoq;(ks=Nd;9!QMw-;yz zL6=L(0>QJ#8)zni4ERb$Y9zNZ<5rv$BEkN>y^YhD!h=6{k#MRsFmyY$_|YST->y5c zM3`AR0p>ltG%={*E78Er8C|PQT*)RT4-O7~Kn1&zeB*2E%1Xw;WDyZs>l=a$W%Y-{ zfwW22X1c@=trQNmC?~oA#j2y21=jdFe2EptZ;+541(xjytK+B5FD%3?bW)Tn4_9+> zJtv$rqwX)ekTw!L+rAG1Q$TM}Swx@)$jL(xmDezs$80c&+37A^b`xH<1f zEf54k+;99RN&ZMH diff --git a/packages/smooth_app/test/dialogs/generic_lib/goldens/user_preferences_page_dialogs_Software development-amoled.png b/packages/smooth_app/test/dialogs/generic_lib/goldens/user_preferences_page_dialogs_Software development-amoled.png index e5f07246fbddfb9c14e4505753c128d13da34720..a77edc1daa8d4dab5b91039e29e963caa11a39f5 100644 GIT binary patch literal 9112 zcmds73s_TUnm&MvQ>1am3iSfm5@aj_Dgtr|VDXmWW~&hH*m6@qP#|Ce0j%4)76l0f z+l$^M6STX%M6w==Ud&pw+69v)84Isf^; z%lm!r`<*Mt-H&R&xAi>;g0#`c4t)+m8ap6J-Fy8yaHJsNt8?IwTHNPHKZPhg+XdjC zHF2M!Pp$`_mgbw{H`@xqOiEyc0f2m^h0by)iM3bVm2M&I!vjHK4RS+$Z$R%nDU;NFq^{HKFTA@uE=hvFXC)32c&ib8ytZ4mTG-7j~d4|y*;$|Lrn z;G*!f$Ye)3QXWRMwnnXop#7&X#6%-Gj(O?iz%!_NH(g~*R6uYdp1YyV&cOGX+Sf_k?Y3`pen-uVT#QrCpXQu8)i*)V zcYOtzgTt{-s-WzZ#-Hw7x0_Bsd%=0>b(!W3qw+vC=+Rq67*nI`$Ts!oa&*t?V@<{K z^=uMmBhIeh(IU}+ps;dLX7R{IC$nfgaQ*2k6vu>UXUOKhKn-loh^8E(YO96Z{`o(L zwA!&Gr?Tv#{`rj%)T{1cN~S~c^1XtSjO8ArMzO2y zRV$Lic&Stx8WC~#SY@AAg?E-fAo#f1-B$2}z3gS&Vf?K(gdgTd122qyz1=qc_OZ$w z6O4|4xkjdvk14tC#&e3+3Bte3z8DZpt*=b$s$nEgTCg9U4`v2Cc|4R3`o*G~ZI19*I`nquQ9a`toLBYU}X?lDq>lq*7b%KeYN&~S{qIcpQ-(*M^`4b zV}Mham(%Bcsj;Dfk^3USBcRX~GaU zAQ1eEn)-k26GzQ?Djo5 zd4{7%O(}XVOJ%4e{6o#E@;7lInF3+(3Ppc*z1kWOE|tKf#sBlu|72%ii;`XB#UG6e z^g%l658i9P8K?#V>sx^^25tYux>N&tG>w(+ZNWH!%=mH*2&$3~;bs1K1cFcd{XhJ0 zt`*AZME%*3+{cd}cVO)jrk_tuo#xRL%Q9p1eNu36FuR42#G}dnZoMf^Ci>^My zECVrp%Zo9@KTkzq!x>#|lHLN#$XH3YHKye%k}9G!R)5j<&6n7?I~;0Ucr;B=mZ#*H zFv_t>J-ist0MdvKC43|UC3GP7T_tJn0DkmoNyhPLV`F0#ehrjZPM1cNJEOF;w8PS3 zxRya(s0coN`nf~+3npP|XcEt{dJ#uqIGbQ76$6fF5@CVuTZa`*ex5Y;wXU+GHAx_^ zo#)=A**BQ_GpzKJdiC8OgHZp?)+`He{nw2pXGE+@kD#C+9?jOWx7%K)qyhL;n@z(; z-jC55ZA=t@)urL~);n$V^#{9uaa&oq$K$OA28>6KoOm=;(n1IxPmASDOoR~og*JQl zent&DQn+BlB4J%!T|-!ufV!k%eiaqbO$qm-jN~~Y^bVXW86;(ga9arM*3?uUtx??4 z=*98J&yF@PW0V{hM!C{UzHOuSc4ee&5Cb>wJ8;088r`0u zw?$9yzQ48P_t)_W7)Di9RTQ_SIW}M`4RLm~i5eR~j2f=p$=TUC zCo*h5*5EGi-)-Y)hSfsF&1((edJ8sCaFEK~U{6jKR3wTCKmFqGjQZ-z1LIpWU*3 zdxd{PaC^qpj0`Wz2=FEx16EeKGb0Tcic9B$O&+PxI)>t(hb*)@+mUPP7a?_ZUY-_< z8Qhg_Zr9x~eorw~P*ylu%h*X7vEq>Q$;MucKq_h`Zmf0&x4xjaMlB>H1lgHqUg>Xb zZ(oEJ4SG@vai88{#sO=`c3-uciKC!IA8y?m!Esn#S_%tD1qrfK@_=DGJj5J7@n`p1 zGd%mXZs7B4)}t5t$%?@kg_l|LeBWyeHK^$iYHNIjPj!R3tXt*XHefJ_QZ)3RM}{fZpcn2=;9!5BJ1efGwYTr!CsyI!TWxZgl%s|o58pGCB<+} zaa?J0tng2q>Mf0W`SAR~F!d%)7(tJ%BB+3U;=z9%40U*SSJ#u2{1;_}p1N?oO`A5c z>mo5Tq~>bIPJBHtMf4W;rF1%Hqz1FVe#Rf^YcSqls%?+eCX_C>LBr|(% z4?S9;t;}`C4R~TaDR%Kwy#O{j&v$wM(uTM)NMBhxIFK%0yx4(FT9~HK&&Tsz%Qg3?c(xn_x!t_uUXgWHu%QCSC(HGVJ z>{&Hod7%Sa#lZCc=)mublT3E!h=?J~GB@d{^2;{^hkp_Fmy}ieI1zX$#8n7VW>t+{r zcL(!+6!{zlRjXhqd>c7t<^(9SKO`Oa?~2raDz7(4ijO~?GEyiMHp|mBCM-8MH&c+j zPU1f}m1z2>$az%Z-Fu&~^lal#ADmQ!@Oke*#|;u{ZDew?y@rNHj%Z<;oeii>2R1u9 z8{Jnx0=T-`0&oU@skdjy?Sm$nIjg+@0Hy!%)PI%v|I;r1LA^6*DL^>zDjaa0?vB`V zJ$Z3ca=v8za;lZN#S1^swWsOFKDG(x1+*##ZGw7A`DBKa%&~>Pd^d<;kCYtsL|qfQ z>9&3m=+6DV0k;+|RnJUzbPYFJE5ZgV0t2Y4Rk-igfH)#^Mui)EpY%C3Is$J?F!4Gm zww6mO^lp!e=^C1`oeN?wiUu@wSbcp>0$6_1^PU%||M*$zd~y8eJQ}YvH*Bgd{3K;r zp6$W=&a#r?-w?&_EAqL?eH>1LsYMw59UT5|>EL)0I33^LXXFw)>f>CaRA3`Db>sE% zmjH+Cy{Tg!ScGVj>A7Vd%sl@~8`|q^Tiny+-;-|M!{GHM!ItQCPT&$e;9q8NZ`+!U zVKW(=B*|URd*4cvgs&d2hzv8mD0az{t_d)82<8IR z1p+|!M9Vxx&?ii+YhO^=M{0W9@wc`_6}N0QxhpGN0l{`sEPFDhTOE&7 zrvnQ?XLqLUiPSBM3k$4^@Z{0%@JTLQw6Q0}uO;ftH-Sk!3{G_{&MA(7t%r))K zw_I{_l=*x05B(f#X{7Pr+TFiJ?SLRugn(#dBd#d*Q7LJ4m$YmV%?Ck4H}zS%u6d8< z=yFC`drAAR5I6Nvv3q!+8ULv+pC3Dgf-N)k5#Ub7;I~|`cj^l`N7`qbaRYZfpDv-W zZ%!$tSw~G+dJZdJ=I*|ud_8(Xlibs0xnxv~O#cLsbhsjMMVWBCET&vKAu>Y z5$cl*eg-n?@KRyVOapf`f3KC*ppCTu#I{2IJkvuQ#i2=W;Q%kNyN9WaUcvjmdb-_` zpy3N&7V1;u9Zn`B@Jlc23*!NVAyOCHdZ>KT$fB!7zq!TbCP~mO0{{%+!_fm8DA6 z(v>CI!=Ft^GfQg{xW#nv9c0w9_8Zxm$rFZhrK~mR-ol}wROV!?Lc_^=7;qYx#wCmV zxE*#}c~4op4JCD@J+&(|FCe$rE-`HU*)_M!nvJxj54kX&?lCq{Ew;xAZskpCIxZfh zJbe9aSv&49CJ+}o3yjdjGmW8JvizCz2T(^rLYCA6;V5}J*uaIjq7($F!*6__y8mmXX0ybgbYbin4qn^TnLh2fjZp2NBU-+^|U zR}e{|6OCLla6T@%yXj;Fn;Z%x1M1ZG={o0xDltQ~!jMeYFeZV|&t;{o5JA0jGHsRE zwPqvbLQE^Z%Oe}FTIP}^J$5mJdAJvcb$JSLs;a5`f<5Rq88A0RqDS9mBz_>c0$=N9 zp*drhIBPEiB!AMHf73v5n%AkAI_l^9WK({xEGf^fP=(*3M!+9K(TvDFR63h$KfMC%jgU))qCn`uh<E-R(?mdd`G&IfC{-%~wBZ zy6Oj>+62fkk2Tl7U)@Ij?|!$yF%-^zMSZ`~6yR9_~ znSbNPANvsSO$tC-W+TM}aZ=`zMAIO74=W%sfY%A!7AfgcgeDZ--rFM)= z47BCefxjkQCpv?avC73v)qx;|5EJ)wGiJLq5!UiOl3#CD-;Avc z1SvczjkB~b$s{RIpiyERBWaG6s$juvE{pVaymW6029bD(wH7!#MNn5sIIEwsIEJJH zf}JV9KZTB^8|6)8DyK4myf)WovJ>!@Af=qFva#kS$F+bQ+FZE&eY#l(*du_+VxX4h zjUG?^>U0~pugLo+DC0E3;;VZ(Qvd|V_@$+#tz>?V7f?0%qefPW+bRZIx$zoV~gki4XWvt7%q^XYvP~W!Lyr>ubGKlX%$zDDSFYp0;wK!>(3LpOobBp47&cK-4^%>K; z;#_VvVqzh{%mN-I~>C(X&_pq)Le!c1k?Kem#eQKZ7@jZe7o$8J-Z570Z&hnW^?cE3b9=%`v*dU#A5nUk_IJWQ!_W9Sl}pY1Tvx+&vO@ z0ANrHs9KXtqDsa^4b83jrD_3$tK5M$J$OP>`?7IVO7X|>a%{v+61WBfU8KUh>dU|+ zS2wp%P=f)lqNE#%GpLtvO?MJ+boxc$xpB)4(dz{( z{9D3{KBLYK`o(m^1)&3*X+L+2I7M|r9X$$KA|pDG>spfMvdI+#77IB41?oAJ<3d#? z&m>6xC!Q^I1EGG*4P^9fDP3DPDEWMkt*D{{YoWOXmaA;d9==jvE;{!O*z8OFg0oixXKysiF&jwC6d6RaKli}P6ygC>nLdaT^!YD|&F^{wq)ClP zbOj?p4J-Iv0Qyry{=n@Hw4sMYk4my z=h`+iif7U*L3qv5M9x!Tfe^c&RQz&3(^1iTM-bd`I>82WbuOWJj5{+Qgkz zJu`P|DVT4y=K4{1whH-v4@TB-)i`iIUQty8+6u@xp&0YKT zYFHh0kr~@m3O)kqm#%OjN(%K~=hTjEzK+}y0}rpKVgppdqrPDDo{ye&ss3JY5S*yx zW{e{c+Y9w4a%y>-uNxT4qnOSBS@M>mwmpGQK1OV^rK@b_g20S9?|meWlch>%u5VH& z8U~rP-dbI(Gb-9;@fgv_4RQPhB75G5Jv6@qJmgx3f%=9|Y6TxuY)Q{vVIWndt1BLC zFaqy4=oW(42CUXyM}k)fNXXW~)hp62XE%*KANj!dmYY}&M{Un8DxA<-eRbe#!Y;ba z*$oC~z<54z_8d_~ny5m?#GJpO4w&14q6s0AWgu61MZ`h*=P|^}?Q-H1EsyIcAS7Jn zXRkCMRlDd5Wta2s)wgI)cn20vv?AptF>abr36F%XHl>FXS84@cOm<$;0eA01Vvx9C zqS7$(+9}Y{<>kB2O=L;ak#^b1ru13(<&A&pCoOP61+DAOYkNGj%@JN1ec1gF<^1*m<9|R9q=`84^>+}YtPepeTvw@rGdVHeM}R*{$nWeALS^l`!{CDo@*v{G zDsUvO^7{dT^dZF82TsK1jdOfbJOy!jZ+RM7Ru3{gu?{zGANkAPou6UP9&t)l4NQH0 z;QhYa>8E~TscToG+zJTN zdFPIm=ka-laYgUECthY2>QpPU(j{~Q`Oap>`Dy{U1ZI}W7a?T5Y9#sg=0xQ9bhs-| zN$i)&y=h75-c%LF$+1b8^^1($!y<(3lzscOIjBr*%AD+cWVaMFWmnSDD*(hF8FBKIYGxos^ z30{J^D5Me8*PHO!WMp=3uE)5E&_K*`Tc}@nwV?`{N=r{P+mY#!nwBQ`@UCHh#9O<* z@fb6l5>&71>gm}!N~GZ{0vKiMz8*@KMCR!E|6Hw?TPP7EeNu>p>u%W1eZ+) z(JN$UvAmFbrFc!c8i{s`Z$*baWsS2ja_Roq4`(lD0Mzjd>sHm9_X2RAJb|O%Sv}gH;tupP!F4@vMHFDB>V25%|EuVh2P_Y-Ax0rkzQ{E{|92I9{DX{XyuBDw5ur;Z#NF9}?u{L-E)jc5bwR@)TkSz*eq+lKjrv$gc_v7RUSk8Ht) z9+pH-Bs#B6Vz<_--Eu1GIH3nYyH1?ikE%meE}93vReo6&%E}p0#>%!$CI4?@a?oeS-kLjJE4SmUm_0q-n3V9u0UZpoPL}rlsSeGO z`&3Ee9#Sm809kKUw#WU)y4w`N4L!$JdbrLG^~Soi5JioP%2}LZQG) z)e+W95CJYdPnGy6%p58=3>eO06G7>Zvfpp@jISf?)t|3lzn-`6;(Y-HAdJCq40T&H zB65n~+}heYeZtIGRN>QY(IV2Bk-FJ%7nrMch1otGKlUoGTqDpR6YYF^^Ey!fB(6@aW3x&u`D+) zPx3){ZS|&+;4&l6u5@nzPTw)Xa+&POgb%u1F+TDj5F${)K`jS6A1UnL9lWS4~V010x#D3hs4k z(kDkr&WD|ghgDC#_CgQLPYyWFfLJ;d5FZ~uSa``&KvGfv$N88$6&!11Xc*c5^L6~F zduf5`n)fkOQgspKK#2o3-N<=Xl5x3$5<;RLDbxGnm+xYXZu2sRSk9HC1CXLU0v z4`@;Za+w1)H@*T6L|+Q(7w<7nDyJNWqlZZGZI4^S6`R$`w7vEXd@+5<^?Oi`{z(V{ zplG+&KOg`(()kEK+BaTMQ&nC4Fl^N*w!oL?>^LYIY`iP&jP-{3WTnhbI<$tD0$cMQ zGPgBcl!T@9I;RSHM;3YsdyBfFl#Ab+&@M{mCkqzBIBV^bU1VTTiWd}N#1j$-qg zwQJYzzu5mZBf7Nv&H7aUPdwPjq!BEi-<+PEojv>rm@9x*G7dhH<+4T5%dKhbZYgb% zBOJ;&?L8cfhBX%V5xNHA@S*J#zo%(F=g_0gqx8P3KQfME&^PZpYTH@joC*sIbHWCy zqAYQE!rO+uG<50$8YE0FDV!HNM-AuI#gB z?p533leTdC*M%DTyN+@bgtdvn1fIuC0PTZ1?G^~olrCB^rXE2Vke9y{R|0D?u9SN-9_DAFfPoxTXd2$Ht~> z3^Y!cDN3rx;l#Cw$f4G3V-u4wJNw*pX0XNg&|1l}SyXT82>+b*x@*Eqf@5MVikxsGj~Qu#W{>`f4VxT$e&rd zq#ISD*#G^hc_rzSk0tZpSK@5PxGxSuuFm5zR`xe_hsj}rcAU;D&H6KI?Vz`-$GNpu z&eoG(cZ5P3E0+~ee;1QyIXGO~BbOrZR-~+{J^;7~uky}dxcSiB#V(NxsSc#S^)E); zWldZw@+kJ-pa2B~rb+8z7oZF$qq2DW(2`h}Bv1ffW#jSQu^aGmzKq&XX$-k2~Pi$^{$stTmgp#c+r}0 zsia@I`+B-qlXjeE+9lG-l*avCnd>S0SeeUjmr3?5B9YxQ3GCk3%rgM_e`|+U@ulh4 zt3ph!Y3a4&Z4%;t>Lnuus?o|&ZZ5PUrKU*_Q!~5{O4eGA)47qKbdQaNIN>b2kY3c< zJIrWXo%s`I5Oz}!&RuGV zqd-@BI&9-ZBzjqN{>sr6U(&9k&Yjz0Hsfno^@QgfT&x- zC4j_pv!S6i>FDDm3!0XmAUZH<6#E)apgeo%5G0r8@6X+n4B+*sqoX;e(QYKl(nj77 zdjh{!z(CKK(X6zCU1!ycMT?K)Q<()b<|88CT_kYfKc{vO&=7QJeQ8m+=ydBJ;ZpC-Y zcdO{J42DCsyJp*CZROedI_yvLUs^2@5n=M(;GHC{u=d##GjHKP}+2aGN(dl6K#!dg|_Wf$|BI{Dt4gTKr`+=;9_oiLeFGGJU|TJ4(6X0>JIXIiZk>1_}}a3xqn0?+6A027v)u zC!fj&TY2GVx)nQ8Yuu)DBxryd>4ll;+tcQHXuV?_xS8{N&1zhS|sJ z#K&Cut9V!J4oE)@PkfuoF>)Cj$*>^{@CjIh@H(+SH&N7<2gleJITOOF4^7+wT8Q01 zjF5|K+MHkv2%w~g@mFoa5CJrWtRj5;SHil*u;?2l>HkAe@O1>_p_hii@MggKJ77I) z<124380^Q$5&_{`_-WIu80JM__sZ0gkBd6s(hl*PthzfuBV$qIY_=ypZYW#QOpr9I zqAc?Mt5(V`1q~@H>w(a8)gvsj1yh5j7&5W%ubLZee9?!7wgK%8IZ+(RjU7mBWiaN< zC+_J?L;Z)|L(txHpkEjFuc!5(q_6YsD*)qW)yaX1SdlO{p=%wxiy$2fQ2bxlRH%?) zph1AEo0Fzrv%F&}b9Q=E@jD2zDECsXTulxXL0jptv-%gBYruB4lYk*l!XvoF94aaR zbfQU29?&(lbwssCGZbjr!U4==bk-HvB#C(wXsJM7^d@;%n*%*5ITExf-lV3Syu6zH z1*#Y#n96tc-(W(45Vq z{V#5yP6+$!E0-QuJK3lM9tS)#v8hX4|F0)!x;?vCsHYwhV zyOJC`c@7PP!)Y&h%MK#HuQC|LRwFS^o?e&+#d~@tBixiGi3INNLvjinvar*0=E%mH znY%p65G4O$QL?)5lsN?aKGF2h=M6rV6b#*aeXtZ->}_#hKK&RnQl z^Y;1kgLQJLa4ve&Ei##0Gu5&KRg-uFym^u(P=kGF#){qz&;~{{%xO;w`J(TvFRw0X zC{D*WN6?ou?*-_g55pX2>{EkuaXYFmotQYdBdJUNOiywE2#hf--nnS$!VKUkd~ikF zKq_nx9L{4_vlS9v^5Kx)@@*JN6DAL6!Gk+|#NS%t+C#g%$dTJ7XIf|)*i30pocYovq0mUK9WZU)Ku!vT4-hQN^Y3=lPJYd?kroD_*owZPoVmR{uf$1!R z-QR_R|85sANy*if9IJ_zI!=0lZ@YIc-3vGQqqe938D55jK_MziDrZ)uq@@nlCAk#% z)-7~j`EjEQq_ko6@{aTWs(k~66{;_7Yhws1Nv4@Mq~ce#>vwt0><1-3Fn1A)#lPrYEFg0#>wofX=4xQS!!Xu8-bGY;AA_Fcj10ouJ+H+ zls!FMGUy{aza$GBa~ouf(@s%+(p7gSTW35-7-$6C5~z7PA!-n$%KJ*t#xbCE9J31E z2yRU`kcW$}f*IW2PLR?X*G_V!^JuJt=F>=*%Ny*l1*ikIQ9z{yx{^f~&^tAr0(hyJ z?F-%kgID$?rv7@Y;y_ks|b01aWIX&L}8@s;%m# zHMdCIg_i}>Xe|E-_EHW0g<_g{UFY<1@taglP;vuFtlruL)S;bV!1i_@m?{P7ot&RB zkQafa>H2E748#q_D{ozfS=1~}P96d!7aZzsHK%KNE!XQiAL*mwDIbtoM%nf-_+s**JQ^X%ALl>e2G{TH`8?*Io?;wXW{o6f@qJ0h*ZeU_R{Y>)T6-4hH2xWi9Yn3y`&j1OhWKAs%HC zmr4#RoQ4CK&nX!b8_@FjzPx8v@2{FC8#GrL$hS1pzAZ0)2PTvEo>LJrFYL_`DVXI! z9K~+|O3pGI;3l@|w%*qvRv??~xz1oxj+ebdg+}7AbVs20{6PmhQ?3=HB)f3uI8pJ#2ng|w)7NDO&wT%%=Hunb diff --git a/packages/smooth_app/test/dialogs/generic_lib/goldens/user_preferences_page_dialogs_Software development-dark.png b/packages/smooth_app/test/dialogs/generic_lib/goldens/user_preferences_page_dialogs_Software development-dark.png index 6cabe8e4e7639a27f9ec408332b52b4c509f7b9f..9e9291553796417ec5b60f6a213e41bb0a1928f0 100644 GIT binary patch literal 9504 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%0D6$`?+ic)OFCvc6A3gas?V4 zV}cbEw!80CfW48bek)bGf9dtAMdNs~utNcF(0l2iFUt1hJe#rMzq$_62fVvpw0ib3 zEKC*Y;uV{krxgW2T2UB#XjW5Py2}eZYWOA{|GoV0>;8R60%rN8js?~=GwlQAMe+z+ zQ*gTS6IL74l))*02catq?*}e_mD2H5U)%<4GtA=75Etv6^Cv~XA?)$LQITJn&z~?H z`X{+covqOYJ{nNNeHP%)m`(lD@_)vX-01*tosw+~SCwOR%iixTn4Jox^*VFKSD3hz@j{a(#`oLa(rrO~H(1uwC#m1PsJd8JSM zAs*Z8rw8z(@qYH8Joj~5!gl@&h>@fePu=C20KAHY1mN@!eKXK}vv(RBtV!_xy)@|$ z;Tf^}gQ_n4GC{X_2wbGfAwhz8B%~4U?Y0hFe5Je|19mV1&$m+ABc!yPI~Po$Ap87D zC`DZ*5C~l<`#MCw1CG?eX?)ycT~h!6COTFq?VvKd58bruu*Pn))9I6^!Lab?4a7Mw zC-GviHyzI}{BTa^@-g^vBsk!{bN5*=iYe19q~&ZqZV2hL;6AO;k-lcNMoP*E*@wQk zHJaduG}o(-|N1yUPki7=cX9UQ{%sk%c@98t4ty9}*AAT z(orzR`gR<8>FdJ{t@@I-WpfSSH@@UPi!uH<9yyPyldOyiL)(X8!Eu%7JBmgA+|geB zJ?CjBt2k*lVh)>>!!i~b8GInK`T4Rl+;W+o6ayW9mZ9I2p&Wm`x?T1J`wPVurMA*R|sb;zUS(8@*Ksw8+9v&H3R~|`_^s9-r>$u!# z_$ILBOTeKNF4_P4T?1Vcor1I1AN~()a;ilD literal 8553 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 IVbJIQ1+{92B>(^b diff --git a/packages/smooth_app/test/dialogs/generic_lib/goldens/user_preferences_page_dialogs_Translate-amoled.png b/packages/smooth_app/test/dialogs/generic_lib/goldens/user_preferences_page_dialogs_Translate-amoled.png index 293e3fe825a71eeb790f41586fbf274260f1c0d6..9c529dfc451fc97175becb605c0106fd6a56479d 100644 GIT binary patch literal 7380 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 literal 8000 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 diff --git a/packages/smooth_app/test/dialogs/generic_lib/goldens/user_preferences_page_dialogs_Translate-light.png b/packages/smooth_app/test/dialogs/generic_lib/goldens/user_preferences_page_dialogs_Translate-light.png index 27f7f335f12a88cd8fe135e20b91c7ef36458a05..fed17855358d1a3606a62c121d69b7a63b02d2be 100644 GIT binary patch literal 7449 zcmeHMc{rQt-hNeEU8dD^GcAcWS`11Ts+M4;Q99M?Y7Y)owH2`^h)$=K+Os!Fb zf6GlG1WCL-kN*0)Z^C3RAqwG@C^K#Ncq&5Q+>#s{{p80dlh{rB_N zTHv*&@etyNYxVh>sz`DuF$>8|CYBsW_U(q*50iF4&?T%alBCJ=Ln09&L_tXMnJD~E zm!296r7AScNHIHzB`1)5Bs>Cwp59A@@#0{-#bnueHe%%ZGclnd^z?!cj28@ZKgach zpn<)(uaMjjq9HB#(ECvc=?g*4x|Um!gsXe2J*dGB#7f(roWphKtA-CLGJ$S8Aqc%Z_|R#n=60i$ ziJd9QhdHbe>OtE8K`I}vqAl8We``I)49i{*E|;zvu2%#;c_w5!AKYaD8pRaui%)QP`SI+nK3 zO|OW>e=*>dDS$^wFK^xm94@nQ7X%$TAOwEvpM!)T=n+f@y!+-~dpk{r54~RI)k#Gj z;do6CyfOL7`fCMqio*HIbP`TZv3&aHBd;EXye8+x$Bj{529HZu{$uYeNX@)BnrLh&Lcw{)MwYBL@^T z%V_Z)_DF%quP&X#wZYdd_{^;G=!x>Ja0rs)NqYhd?)eKWh{K9THB3*t8C<$#L>51I zFl2RgH5EnAwUV^8wT?LF`OmHwlb_uC#m5_ z&WJ|qcOA|#$_gXaC$+S+455O9gBh7lMP|8Ugj%>yVNrs)>#L%iQfgb%OZHu15lajk z45JidBBtc|T32-=T;f>^PTeQ^kD)w9V_g`jqzFTl$9#4{4}GeDw*@3;R2T$YbVMo$ zxybGyY*ljj>T}ya*Xswga+n-CCvQ?ge8BpU`y}){mZ}tEo5yMFit)RVl@nUppD%U~`c0yCL=jmLbs2AD3c;aktJ_*-RU|+^Q zJg`^Z>6WKw;kuWNvTjh!awv|#(Q^qe)2C)s3Fq|m7=7n1ni&eB0_t$%T|*?d%%O_F zq;S2T{vAvi>sEa+)mx?-A)$7adgs=yG^rWjZPn3k2+Imrt@&uu9ipN>z^l;c=Fc-X zq(`_hO`#!wPeX5^!!?787jKZozx$B$z;4<0;7uB_B{pv`gUwVj+1A}?PllZbkRrFDzLMfev%o;T8c|IPYjbU>UDu8 z4VPD=y~r$wK3mC((C9X6$|>&a zHtMx-WWS$zeOEY_JOhR?7>c$082oQ*r?Z#GyHahB)>6Fuf%_lNGpG}1%Z<1ke%GI# z{SPz(Fmn&C?AEPYz~sr;-elcS^^<@ll^;S^Ti%LlOBDBDFASF&Wwl2Gf$_t6&F?n- zp67e1B2O=x#@flmmN~ShJ$?Q>(?a$5@m(6;6F*we84Ph)bUFLM4spvBen*bEtzdpK zCa%@7$c9eF#BfHgYQ&L>d%evSEX&Uzk;Zf?hoaxF1b#nREI z^a2l5yl3`MCnbW0n|FR6s1X-Hq|1F|;eS2j4CobG1AKkYNXy8`({rpUwQ6c=2Us3)}3%c=P6s$t#@KaH*UBxZgIMy4Ktm?87L- z@h+~~i;R%uALmp8bAm&6ZU*%EG;$oF^SR&ufbXr3@j(_3f`e_>(X00pdSzoVR#sN% z?@73(40cVpxIA6=w`?&-rM#Py_{4zqUM)Yd3LH3HsQ{Fk`U=cDPU+F4T^MPJ!N|9` zZ;sjp7nR-`}(!cL}y+K7USyb`s*1%q|1Rb z{>mSW@dGYo_V2WzJh9;1jXUiCc3Hrmh@ER}DLBudIIv&T{Y2^oTGGslMaPwlS_6?6 zwD==es7lJ@PdF5)&fCvZF4rEx+*EIla9m|}46%#WR?B?dnvwXfWSs403ZDUjj zU_3FO{s5o#MBWF3m3dEQT9i4qXOc(#X5Oi82dFud@bA)q7>xT*X@D|E;SLTCMl=GY z-uwEqvlv9p^$G^Vt!}<|?_M5mZoJ+L zf|jjxue2>4tn7HJDH&}3i#=w(KOi6=4|rgd!wGFrs?;P`t}gj97=5w$!gIf6by0dME%)=73H|jdpmK#7f)K9O=l&CD%PKlgih*F zH`GlQ_am%IIOLL%OnFwKlVaq36v;>!8lY=jGqdBc_B`E(uxl;bFCAHGSW#QUYw5V z1Jw=gbFUAA`Y)({|NLx~wuFheeHG87_zniB>JdbSkz-;6au6ORL-IwEUyVHXT`Q`D z2e_(h>t2AM5$Z4Y^R-riQzGtb{8hQW53$8Z#!UGdhX8%--V`-9Hdcb`EnP?~iqq|n zZ{m1rKu~ENDL}xwi_v~KwKgDf9#OknXGB&P^5d8F!|jtSt8O@vM?K}ixaPA2fqr8G zMV8{+^`2)5f)ukR9u*xO?K`$uxd&9XqffIsEMOu8ijvmaB8`nWT4t7>GCB>9x+fx9 zW9M3?ygH{{_7x7d-!l{R1gi2_wX6$kE1W#epq|a*hhaE}wNpPlV8T{1)Tc=CJ=hD+b z{__P%;T&>>oMT|{HYmt1HQoMe3&NZR%Ogo(0oKV_Y4=GF6vlF??3!SLYe2$GO%sYB z(tE2qUXjT6A4n>^f%nC!$10c`QMuJ)XY)L}OvA?(6I<}CE_)K$!k#hy4Cqn8vFR+7 z&w#bRR|BQ9*wsoe){5UB^T-TJSVLQCo=erZqL9mnXmw;4bBcwvfUmT)o37i!$A0G7B zf-3Q4tfJppAV!DRpY1qgzYT!lO>7$U9z*hFZuJ2=zV6o8qoW)2RZT%XE1|uL<(>fU zv{9<;Nu;M>4(J$Vo4}M1S_$|sKpeD%f;z^J?ZuYV1^)Q(^I#?I)86jCB`5`XKDO!; zTBq_lmab50SvIEZ^!(Z~_0vAqe*uM0L!H|XR=ra)_@Hy8a}Tu^sICi>ffEnG4RLH_ zw65{yD4%i`9JU?Dqza38L~ej|;{3R;-^d!8?{cD(-=V(U5BQ;Ocx8$}&|GR`xi^W& zu@Rd_!c+7js;=#cq+ERMvps*|Q7oyev6*N%ZU&y9ZkZTp0P)%p@3vDG_LxI(E;l5awY3qvy6 z2b}1I%uE&IDyD8a8zBNBbfT^$h1VdKy7R+Up_ zR6QZcnpDO&XE6C|1ES2Iw<|TGzBMYUK<$ACZj?td?~7RyvvMoc`<83$5Y-!?AEYYy z%}t#?*6Ik~fxBmB8c%6-XK^E~z2@LiMB*u$<|%I3RK>#B&?#P9D{biGK1Nz(_*J%s zYYOX+B7!5ON0*@8usoaUkcE!oihcb{@sc$&txBH;Gn=;q*cS1r0X0RoNgk4arsy(< zaVmNMmi>4V5N991f?r+j$_>xz@EoBf3qj3rigvjMqJPc8pC#T;jFC5%=5S!yn@y=$ zJI#fGd+yGI;!Hw-pe*{h08}}KPwWoxBV59zw(qaySFWw34yJ5fM?W4s>T$rZywyW( z0gbR*4C7{L;kWqGz1t!GAOuzRDFyOEzg*)PGI{oCOzpr4?do8y*%t~PZ7VzVf#3@h z8rqk%*l5qJ44kLgPQDbY)#wX+R-7gbO&`>YgojFUm)tc!bUx;}x>ibo(kZ`53P3p* zn8AJE_1zKyw~WPPWRwUPvZMp|&2=^v6_7GxHWn+|Drun+C zQqKbQc!MKo2>k^uwRL3x9WNVWi`LxZ6Vh|KUp6#Fh@~eP8pUO?%g6zS3L1Dn^CBn} z^iY&v=cVYef(Zcx^CDx5#U|gIY*BgotAK$--gLyc7Zqno4xWBDizuFACcMr zLhtCKC^rDj+84l{1@wsgJIT{W$Sm`zlvYd30x; zInu@lt8|YQlC(EXJhQ{qO&-dyu;|>ogA(@6A zGytwDJg^~u75=Up$|JCB<0p20W@zV7q7!z#e|}(Pidd2-8)7vCTJSZSq89A7jD-^= z&!MfjrXa}gy@K)P_h?_c{p1|#ySb1(mD81Hklgz9-5;5MNi^xLnuc9`C5+9_SI|BP zO9~}!`q=f~iBm&rneDBP!-}313oi%HlV!nw3Jr!w-lS03AdRj~n4taDkczIj1>&Nc z$k0tYQ_EejwZq83e)Co#=yu6l81FuDK}q+DW+MLSH9N~qQIBKnKvQSc0d27l)?n!0 zwBG=<)So>g`mR>7b~DYH`qp~a zyWYj^?`OH z{^=HY9_&*}ynZ+&1lN^(KFKQ#=YC3u@vgkc;jJ75DbBaTOl>N7@5-}qM)zr>h-jw^ z?w%KoHYE)sqK!KZF?*vR$gHwny_2e1r`d_w$qhLkcMH2Pvwlx!`H*YA)F`d~xA09wI}_E*rId@7-jf4Q{?A#&f1SgGW<0&3I&$hI;YCrfEY- zD0YX}8h^QtLo&on#lulushas%FK65%gAX^B3*Y!j(997{sV#-)da@04o0rcurzB#T zo*74jFY4z=K+ku-XS2yRaLRpCVT-Av=Fi(U4K_?bMSweRniXjW>Ev!;OT0hg`98(lvvHLkGer%zd%%$$(va6u^B>V#fxt@7y$X;%uT zJ-n+`LePMq#~tRf#`jAJ!~@z5A6|A07~&cEOuMiDrJ^>I;D*e%d%^z^#@N)+7Bep2DhGal@7}y4ka|4{JbLeE1x)ROK`U98gkL3@?Du!@d3{4^Eot*Bg zYR=08{G+KB+xO~PYGucWc#g{w5M*=dzAs(3pI66cJ?Vl#9uz3Om`#90#_=bR38pgjLZE&lvpOg#LI zR^EEn@#jiQ10=mq*HWYFp$(o7N=q3Z9E+UZwEvrsr`MDy>~4Mi)i!f;OMzmLB0icw>o@l7mx={=;CMDHL*F-bAwE#J zOTiQ|L(0hlu=A?z)!L%F4=i8JQzd6yQ~h#dg>Ohze9sW*M@+W+wM=@Z_&cTyEkhvGuMTdbanG{!q$z z?jwO;>YC0tW6oG+IYcO*Ps%k7Rh>JvzV=d^peos6rQLWRc&9?>fLkQ1y0uNAX>VX) z`I^N*Q0}?ffG57p*}fvQV1*^^4v!HDoi}vclvbD<83dj^U0j5huMO=hv?*n1zv~rL zUdipLaBqu5Hn!)vCAfR`^EgF>?~t?2?yIdCKLAku({{DCYWn%ZRlkv{{f&){`UA}2 zN^~4i!rP`kjP+`sQtwMBrTf2vvd?ZfDZN=r3NxMJJSaphPDSJ!K$b+_Ocn=(;*%L7 zm}C66aH#*~&cpw?wS74Ir^gHpE2DUenT+2}%&O@P?Y!=9jRRgstO*SYdP>;u`G`?y zleO}yS=+7QsC|*`6CS#%y84p0xA)kf=GmtYW-<$eqJtE4B{OZojefKWl`};Et8Jw3 z@hpEbx7i}NV~-Pg3jp3HCBOSHd=r4CKZ?;pRh5==rl}=Nw9n!O3bvXz9dQN`s-gzl~rsq`wpI;F)@e(Xd zN-DWvhI{_8A#s^8R8(48T9~;IE&M_-?afSk6Hi~m#j#oTL%Tx}So)qg{lp2dJ4a9c zN$^NdjoQI~_s-*p|A+&If;WzAd!PU!O-XZ)*$Q(wS=B1F|9rSn;3+WX$3Wfs38q{_ zwmPBF=u~ZYHw@+Zb2D5)etr$5aQ@dpRjGsv#`;sdXX-0mZ{BL>E06`Md#IyDgu`<< zK1tU*)ZY<)=uV#buA4U#Rtx}sAM*FNJU-}>twQAY^RC<88sOs=Ru*anr(JE7$W#w z?bU_JgGgf43=ufG3*TXAER`D^^w7cfym6BYXRS6TrMX?(PhD+;&y_T;jQHM- zhev%oKJF%nFPSi@4WPIVz3nTqBd@SV6`BG>LSFgCBx!{s{nbx6Gd*4QcExloUz`#Ho{m2#O zp8NoSpmm?^)!(hC*q!3+=EBM9Or*!pK+qxlv#&w@@*AlB^}TW;Y8gC@NA&jf*$>so z$jA)pUn;vo0p!Px#}y;aTz|3tdR$FS&30+&_)+4fZM*uekg2G%TRh-)XD4hY<+a4Gb6XR5N_A~}r zX>`+>a{GxD?zg?wABf{}4*ufaACE;&8u_*oe+>?7B^ESI*>ZdyTZSm<%_L5+7>ur$ zH@5i_6ciP$ahX)-JVG4<7mY#Hgh=qQtQ4L=JKO+r z!v8i^^qmfsbbQZbb}vqMfhp|XeG+%&N`K90zkWC}hSzDRhto<#w)Dc{iJ&Qgr_qQZtqyLD^C@|nF zvPaYOEOTqv@7p*l!?~72+p($RCa#v|#yG}*hkiOi1RK~Ib+k;HgYZoahSK>2KN9PgPQA>t5D8Ei`SE@LqccqF9Lh6=} zui@ku&3Oc#&EH}cKAr6!221~oHQmp)dh(qJ=Q9w=Y6It`AT!Kmv7hxn{hxkTRXY^c z;?pps+R0yL^bHI+Vw4~#pR?Ny@V6iTEPwOqgy+f1$e=*N)gNMkoVcAR0mTl!!AW?L z@y0F{UWlI1c1~L$1U>&4Lwi3`!a~&|kI=9%6mM}_e@J@!b{OK=vCE_Wa|wjX%E}pe zpjbHneXjK{ph}-!DGs8Z$?HDW#5!>*)4x;gx)rms(CJCZFz`3crI|~5fD{{dvsB> zA60}NCTp{HXi&4JEWa5H`&BjC9La$@=t?;%n}I^|o_5s4Hkazl0~(A%I~GZZH<*oB zV_KU`)2u;k|4JG{9lw=z5~P0G^!4jYY(WH{%j%k!Yk4)b#iovlA!&MQ0hH!4% zMSY#S#zbRAe2R9m?Vw`hBMF*@JMWYUCxcu7Tn({U18?4+rsbMmY)`ziA_07Ccz85T zYVZlUWnHL^z}?=VKJ)Q`r99c4EORizB?&Ka;Rkq7GR(LWiEQm`!pf5s082bt8B zoca)Yxacc8|EMDfam`EXauWT)(2V95w_+~AvO#P$;t)fe-YmH0IMeH!-yeOq6 z>!KaGkG_JSw#1^`;rr{AGwj7m5mxM~^Y!ee!zz_;Bu{oVOVL_XL_zb->muvik(|W! zHo*;92(nGb50OdjF;i<9Ce?;i(Mm1nUSd?iT=}gU20Tmc=W;XUZx`r*OhK!|{1T6$pwe z4mEw7G|H|6mS$FxQGmgC>LlzxD?LYK5Ug?yM8%Az-a)p=dcqxRv=Oxdv4=`m7X!0U#Ip}wiucczzCy7#CH z>E@-!*i`LTSyX=4iT1HN&&Wdjkw%|3Ar(HvZ8aARraLCMup_p`1@xu**Uf6LyMvM- zC0Ddm1fGTS!_AJB1U#s^r4oG&?9RfER z*xWdRI`BF~g7(Hz#Rk`n54C8`0Rln^3LowIF}v;zKjYT5DTy^&tB$ZWjyUt_wyiOb z23rsFA35cEBsTl&Sdhr>?MD`=eQxIZ5^y0LjFPPGJO;FaCzn@U9UvcxqU?}UfH+PS z+%XhmUtfrXS6iH9;y5;#O+GNc5sGzMo*ZvP;B-mejZ*un{h(oSE%*Js3E$Ha1)H8p zf&y?Lj5VJ89ptm6B`|ZW>XPrLnba7?yz8PrS=qHzut~C`_mNdHY<)3b1^svuV6?Zf zIYK#d(h?zJjZ~#noret8g&bYq!7}FCIt{Y_uv4fZ*w1u&jb9hO(X_p4O4?X8cc*jRvJ*>et_8e6^M7*WE z7LB6;$O>%DamfEvN_0QY%iCdkdTyazg`73MR9ID8J)OC}$jAsDsoG%z_>*G5Xo6fw zOYWK@j%I1fKTR?bFn5?({LT@mA@)ykv@s01r{YqV&QZPlk<9`-$686q?C!Hj){nrc z33VvzmzKKTkM*v+PNzyBaLD?wOQdXr;l{{tLNp!M5c;CdQwR7rtdpqX*TLeB<%%gQ z*@$CJtgmnPQVchfcK~=RTC!W$Lxi*&bLknm0maXNG}Km#h6na!3Y1Uc#zML@J$IR8 ze%rM+d{7iz|kep3Z@vLb%~+DZEzHlgU(3?53M=>&|1B2OMi1if1U|%4XLhBQdQzooSI&f!oOFNXT^gLDIw8s&U;63Fv6Bas+c>OvI&jiV=?Z z{^3{zJqHj&c~0;rd~7ihPRNSu1_UkwL+%DZgPXNK7apw)LDi!*Q#Ya*hSZ)uvfn9O z)Kb1mPY;}W-Y-g`AS`855{#E`%FmDD_vJ=k;`s+g+iM}K4%rvQVO=*t45h0JIRRr7l&n;)gdU!G@n+FbByhRZ1o5LrQ30Q5ZU!oW0Z#9j2BW5~2q3 z`$f91ZeG5syP7QYy24F)_sR99+@ct26EiwE5Fd@Q$6w{E4>w_kG;&=Ut_F)%6W5Q5 z%l^Au_1J#GBBaA48M3?CLK2&%vc90A!2sbk6Z~S69F3E^9z}RIdFR!&znEPfIwaxs zmXu?Np<=nyg!=hcvN5YI%&|IMapDm1=%oSD|2_YbjJabC3?%#2becQ9*uKb#k_nx; zb#ohlkJks~jbp2p?tTVdRq3(#2tE7jcGwz!!JU^M?$^@azd+|%(Jv|fzvXrG( znQQd{pk?RE&jHLF&7C(#oqJ-vIJ&d? zigo-oDHuYux05s>HenR#n3O*S{NLM1W$nGCtgMP5E~@xpnA?E3O|#w9bd_Ov(^;$l zi(4I9O{arH!GWMmU3hfV9X z(th%(pMVUfq==g>K|w*Zxln}Gsfy;0?F6YLSjIh?072UA7R;Y5qEFmXA!VTPE=Xr_ zqO{36atX9&W*H2HI(`v?M7|EVQ0cv9Ngcm)xKazkRS@KyoA8FO#0l*LU|eSUO`_#; zI^a$wMo~#2(aeCUlF|EW4lb<6&G!aeGEJ7A94A!8nU%yeF7GbI($_Q_S^ABvN+xc!a@h z0cr#W*m_Nxd$d9AScsL$hwHL5eB``=uvQ8utcAs#ZmQ(#wS=3=grCOgBZ#u=@k5RC zp*$wqG>a@ zusV%SVLtX9Xw`HJsOzGGu2tVqD3saxdD8v;_8WJA-pZ>cte|&vG;4f(TnvV?CaWGI ze);+_#^4h}r{SA0XV|bqVb_i#7fDd?tMS+fk>wZVmQv7zol9!Gi#SJwTgkIDq8>+1 zZ8Od&o#u;hOZK{u85s#?=CvbO@yKNV(q}DTbz5vvyZSkT^!*@ZP7w)+>i?WD$ wLIv1_e;@w>3&{7cODSD02OtD(6#p;4!g$p7;oc=J@l+5eY`-HM_xRyI05@@ljsO4v diff --git a/packages/smooth_app/test/pages/goldens/user_preferences_page-amoled.png b/packages/smooth_app/test/pages/goldens/user_preferences_page-amoled.png index 64382a53292c40411d0a18bb597214db5c6296fa..3c9875c5ae211887b19875e5367e4442bca9be0a 100644 GIT binary patch literal 15642 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 Ts67l;3F%!i)Gqz`mnZ)Rui2bT literal 15404 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 U%Op|;Tm@;UYOCa5z5Doo0lj)~g#Z8m diff --git a/packages/smooth_app/test/pages/goldens/user_preferences_page-dark.png b/packages/smooth_app/test/pages/goldens/user_preferences_page-dark.png index e76e022f32c407da3f9c448a473a07aaf3e6fa4b..69a553f39bfd27f89f99b3c72c597a7a83484bd7 100644 GIT binary patch literal 15079 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 DmTL5g diff --git a/packages/smooth_app/test/pages/goldens/user_preferences_page-light.png b/packages/smooth_app/test/pages/goldens/user_preferences_page-light.png index ca39caa42e0b98925b470b39641870645e20cbf4..5f4a6a1facbe9c8742a642da248a9ba313756754 100644 GIT binary patch literal 14422 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 literal 15184 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 diff --git a/packages/smooth_app/test/users/goldens/forgot_password_page-dark.png b/packages/smooth_app/test/users/goldens/forgot_password_page-dark.png index 1b3b69af5d1057e5d3881a84083a631cfb8c283e..61f6eaacb7126b54db4ff487f55bc972e8c0490e 100644 GIT binary patch literal 8499 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 nuAB3}06-l6e{$g7v9rtYWzyrEtT?bH2)bZ& literal 8879 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 Z?*xUh6eiD3g6}sVQ{(eS#b?~_{s)O^AJqT= diff --git a/packages/smooth_app/test/users/goldens/forgot_password_page-light.png b/packages/smooth_app/test/users/goldens/forgot_password_page-light.png index 40e8d3599631675a5c50b94c3dde56e1b708ee4e..587f6843fa95409feb664f558b32f63986d17c3d 100644 GIT binary patch literal 8517 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 Mkmrp`es#L{&*qfWQ~&?~ diff --git a/packages/smooth_app/test/users/goldens/login_page-amoled.png b/packages/smooth_app/test/users/goldens/login_page-amoled.png index 9b17255e08758a4e5119a32aad7e4e8758886d78..1995d8593093f3c0857c9a3e45f672746b16865f 100644 GIT binary patch literal 13184 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 bxy`9SWR=!U?9u{|4qdunf-E@a@Zf&|1A$^l diff --git a/packages/smooth_app/test/users/goldens/login_page-dark.png b/packages/smooth_app/test/users/goldens/login_page-dark.png index ddc5665b0b6386cfffed306f6fe1ee3d42ca8999..73055b8e8595c1d72babc945b55ad6a7405aefaa 100644 GIT binary patch literal 13427 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 JbC28I{vWN<-x&Y^ literal 13544 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 bS6_K|LYe7!7B48mLpQbWXcb?#dHz2DDTYT) literal 13112 zcmeHtc{J4j+xG{FFCp0~3{g=;%D$J8N)crZBTIy`jeQv{UyW_1zCwv1l4O}E`~I~I zStl_frVPz68I65+zo+i|e(rNW=RD^*=lA>lai8azGd0I&d2iQsy{^}_#9c8n;o~{T z13?hqh4XMr2;z{2Aa+~s-QY@k@I629!xm_1auzD-m6!&9>XAc8l-$hRGgwdUIXo=Pr)$2jb>kqnGTm9oReG;Z6JKrGMecE*zsETz@huMZ#k*zH4Z5EU7ZRTT-0jZMrPf~T$o-+wK|@n3l_MKc3d0$^lJ(4 z1(p>z@+%O|d` z>ZS58Exul<{yq{8|3qJk#c(xM`*Vvz zmno}EN@)odhVOMNVVdQ3u z!KTsX5@IK4kAMK->sRM{NbnHnu9%mimii5=ZOZMlm1LNLbrJfyZ@t=3kzKO%A;`4z zkS%mLaP{Xm&NQr5p>Gt_$CLN`q%ds-{w} zKM{yge+gc5n|19R^A!gm(P*SZFZK+`GUL@ zlo7`|^)K678?Mye%!PF8HHfCj!wvD3KbrTa7gx61G|Z=fw;Utqle4aY!;Jy*X!$W( zsSIXS!{0)cMn=wD&58#TDBY@X?@B!}y$W?>!9zwr#%eX9*9WqCy+`uorHqV>ERLu2 zuG$t{i%(Fh@g(-KHBB6oh7?DV&Giq|hRoqe?@`-S6f9&c$R-hkX+Kf<<>OmDDRGTE ziFfbbjZNfi`UuR-_Q_an2m!pJ^=s}g!K1fJy$0VLG2=3P2X1S6)CSMS1KsJ-a>P-Y zVkoBA2QCQghkEnS6on$S6Z$1$uD&#SYkhT6&Y%FO#7Q7P&e7^Xk00blRPQwIy8fN| zr6Jo=7h@m>RfQ06PG_D7K%z!$Y|i7sKZZ+zoH~!BfuqxH0ix~h!bs{&G~MM0G)tp~ zMK0z_C2cTjm6fU||6<9+Wo>@S6o=2x_vp;xh-tfO2t6I3U=3hg0Jv=&l2df3A}Z9c)0HS+9uUNYGo`0;Se^J!i+PIl_446Fs$*bHr$*OShyQ8j|xTIuKTEk)LPN#f~e2=9#%wJ02%cx(cT1D~AS z!z&4CoV&BjfkK_gwl8jP5ipPdgBhFLs`~crn{9Q#l${i!+$)8hz5g6|`KS$^G+F_` zq{y~ZMyX+SBF7babl!%@20a~f#p(@JOv(PeCJAK%boX?LSpE^0Yl0P(fmB~)>V&j+Cd(yY9zO^)gtQaDtZwb??Gr!0 zwHOo5AMGm3k%b;TVqFDBWQBb2(z@8*3b_l~7a#@J767F4G(G*e_BlBG(xpqSvRK`H zz&TgY(6TbI6mz9|q#777D zjJ!VvbV3;DzyIbcvx1(Di%G{_QTW4t>j=<{95SR#?g*~eu_f5){e`+|g~ zpYxdka@5M$F9ofst)=MAg_+k)U-pd$+xq#eCHKQr0L##sYkeqv{e@?J@OmdKd25WU zM-L@$FIWD8O#mCK0|r|Iq2G8Bt97@WcGgJ*##k+-MQYnGa^X2SF{EK3lbIt{?|G&= zMIfg46%cLQpH6EtrigXRJ$!s^s14tp*~BB+c)arXaz$lZImt;}YV#|X>&EizI}AYD zn$Rf)#DO`~&ISbtO`DDsSNHkl92nJ9+;EjY<=!dZ;kRc11op`d6vg4_Ce{7joyNXLRLPb1hlWK+_DawvI55O z9GJnb)Dzc(hX`Kf_NJLtdL+HeHzSIn_Xa?r|5#jJ?p+U67<=s(5D+j#*x1+*I>MHH zfVDwq@EIatC3RBeJ14rqCp@gvC4rv&=>on)m~TMPIjvMpXD?k}jn=+~A`* zZa}HAV1&cgcqctNC1Qnfdq(Hg9I(0}LPSJ_tEZ>D#lhc`93CpZu0f};@SE2E0)9*M zm33i{o#9Z4<8ygFsOJ(ul6^q!197}%fz;ktbt>OV9BXszi+iNbq^-PU|9WiS{=jml(x1u^^iNDTr4Rrt*j8*#1OhvzhHZ&7ThqGDzo8tp&A7h~Ure{@ZI* z4aJr?A-Rb-IUHKn1k)XX6RZ2mc}JJK>6b#4I4BW}1oVVcF1n8|EP^G+@`<~+xgEZk z_fbo4j!7Z7&W+deHf*c|*wvysjctd4&O3-|1;O){_nHZWLdLx>kqa0w07 zTwh<$sjOTH8vvdXEELRb)(Xa<(1^KI03s1p;fdSTeD0`Zp zzsLe!BY`dUY(17!dkNN-i`74P_3Bk)ldyAOn#<4C+hzs}6EN(CyjKh%`+l5Wgi9Yz z&zOJ)d?}Qe;3OOs6=iI~mTe4Vb;2tk;1r-Qf`EQ^X4MuJDgdpJ5_3daxY?y{uCaMK zf~_Rz_T0NjZs_{uX~YGz4p0t=MFyI8)Nn=#_+j9T9=Bt z`cOZ!Oi_nYe|W^d4vhxHSnY?+&ZjO{u*#!HkGkBvd6dP02ECT-cCcvM3LiUUNC=_K zz01YfSsECY7~oAwFJ8Qeo%H_Rhk$!4lY_;Tb4t57Jk7?8xuDdc;bGe^;q+oYabGav zysmFY`z?h;F+pa-NQUkV|z(IkL50Ag@Z`}-TK!W=vvf5=r$8&U0mQS1VG zQ+dO6dxDw6F5CJpKe5C{X)<6V(VN7r9Q2( zPoJ*A;d}P%>DG2EwoX8!Eek$~T zg@oynK0EE4b()K8Pw>Q$#F;;)0!OOvgxWO}t2n`3(+Doe`E}0JbUo?*@4&rN%m4aN zR`f#Q{Y@!l8DNor`KgPxyL?OtuEmib{H_%c>6$P{Z;6bmB(BDVY(#`>WU6Z)S z`QH?$m+i&$Zx9F@C+ELYNjQ}42sQ)- zfk!%_<^+c$5aiPesbIfT0bx$Az-oR;(=PwnT>O$x7p409#=1vDy{VQ{>*jdhpNSge zx&=E}Ur@!=Y4Vf`IWj4_o~rHC`Yx^S7B##SeXWZWItwK09lb5nJ4;UcW%0&fj(gPm zfiGl|FCh>J5cA;%>XPbCS*5!3)sI+NP=Z22`Zlyo&YkOBt2amvc7SH*o|2;2% z_RW-c-7;*>p?tnk`K@pU$G^@_|0@Q#rCdCsti7xI6#!!ZFh+!~GDTo|IxfE<3~UHt z)Ly15+Bbg^$4smgrWmU(lf`V0|3(c!fBtc$1W5ZoeUN929FBhWdEGZD0iTYaeoT5} zfghA%eXV5s7IFsIpg4CsQM&@2GRtE%7xOwUj#ru*q`mlGdD%>ZR16wz3ylB9FVL3G&i#czyV( zS6CP(e8~-Di(=FV2kRBrNr`Zq&SM>!W^B`b<<9~xN$E+1IVo%NK>gp#N=j%5y?uGO z@toW%(wr~vXJ%xe=b5?21PIc;kZMehS1a{#eoH$n+3w;)9>0X{@FS`oYOF>+ zXu1Y!S{O99cKP1Qq&YT}(c};3#2~?|*ZVu20L@^gplWIl^+gT%HYlVD@Ue0T*;`G!A?>c7a^ z%X-xIiTU5@V)IlUytwwsLfp<8DV+K!&~U_|Sa)`01TysQSV-Oa_GIlUxO5x0vIRk& zyIH~!v~}S*|2%LSh$W?JpY;ao{+0*9l>>UuKB_cp&UPy>Yz)s08Pea*e%uy*q)s*6 z1HIq(>(=k|@rc8a)p2chsHyIA@GaCG`0#hLs5o<_@Qf`k{`S?ct#z+}8rd%{utAv@ z*lwY~Y+VydPu`-GG-@Q0-woE1sH5)P)}j|JSg82G%Ke-N=Y%n5`iKfvvmQK-EKJb z*a?sIju)?cFNuMCiL>=s{T8wD=1basMU{unK{0n44@1z2CUsMfD~8&JA!I|MAOwB? zH0Jv}Pe@)`Qd%J;$73!2x8C&4i!j(e9uj`UPdu&p!;}wF%_}Mt)-wV*6lp=umqu=m zj>LCg#Ka*_eZ8)SvRyu@!91ol_ZRmlVlB-PL=_0av5*6IcM804i1TH#o82PbN!;;B zC5jD-PfMxEMJ>0D(dGR;4lo!eEw#LG(1A0yJuNrC| z>B~K(C72>anB`-G4j!e?#N%Fw5KmWqG4=yN-vep~ed%?ECM>1%4{GdxV4G%mY^*Fj zU`#gJjO|+@01PuTbK~2uBnB_q9bkjLr@9lz2E_8l8*GORXnqR4=h<%D34;w@)bdJs z*5N()n&kDE^?mbL;V9JaU#6H)^hwgLK-e+Q(k+i6zqEKR#5}8|=xOpVW=x3zWs(0` zg%B30J0abdYk$lHpln$2!6o|>^Q^DhysomgB=pEO)%|fwjVw^a!fWwh^8mkhydJk%9>4^a3zosz7ZOj2ZHBB`RF-JTJ-*BBu8 z3xMJ?P0^GBp^IFQ9|N$3-DxI${eEta@!SUaF?$6C!*C{3txU}@moGQ0Aj1|nI~zsu zbvwb%jOax6v+z%aa<1#NZ?A34MI|{Q&#R7OT{)p6 z0s{fy@li)A;p5IbS1-6u&5_b7|A&Jt|e4j6De1TM) zV3}6J3-y$smrz@7M{WY&J3gf#K3}J50IYg)Y2=>Sayp2q@tXrjJ+vwl*gnoItPFOma7*cBw)_SfK`EYyuOqv4>r1=Q=NRA0+t^G|_o>_xpCXP7n04C6NwbaLNtr~mA zl!Z{`x{k;PftFffry3RqQ4T*N%Ym-wVi}A-qw0RaqRjYOg?KK=?>8^7^*?(vbqgG! zy!36QKDtHmlLU;vnb)9K3nVvzhx> zIGZ*Fmo0n@$i%(uanEayjBDKP@l|t^fU<*xOSgUhuUwAvv}()xjzguRr{wRVK=a2= z`jV!{osF-$I19x4dF^nKvyl#prppeFpImKab=3Jy^Zo^ z-M*8vm)NGE0TX`Xpqn+c{lM+bFlMpaYO=-z=eUA2$?RHuBMk)Zfn_}(4*>J%AJe!3 z(wZ?^K`Wy-r+2ZG0#r`y8gf|gdJMjc{4*j3$qkflaS#87B?ol*82z|0Fi)b&c{tnj zUOO9`Ma7l2-B7xD-~0`mh8gKpB-iu-TUZ{hf#srfb3YA;>v41eg*(f0Uaqr@hNxGs zxya~(AYo;NAd{V$1(`4Jt8!V!0|w4g)`qUUS4_A&NYyea=Qt)U`TBj4+inMJUpxkX0fcFJn$t>SDd}BmhmCEcg24 zUEaa^4t9tLK{QRfRAcKIOwqOY63b&{mLX5V!*gr%`)*iwU-(s3_cw$=uxCMl-s~G< z^#c5B6Egob(EA6IJp+zN$kXGYfD|TzQ7u<-XY3%T2qbK6tQahiCnw#AOh|hK)Q?$J zPEIk0z0@pJv;&f8%>0mG<$k%}Bb+90BW zHU|+~R&}7jtt5Z!y%^^%(OWy)TmB0@8U(S1pMQ2NTt(!k`P9fbg|6k5GC%UE^pkD; z&O)LtE&<0Y=0+q(LuN51(PgqSGBq_d6P2iqN=mNOmM17Gm3)2BKO(%>_JPh^-RV0u z)2~>mRFKL&BCd?pXke6=1`mG7$z|(@%(0RQcoem^bV*J}28*8RN@LZKD8;@}-b7-y z`!Q)h%=RjFM^k^f6l)A`hapto-AN!%>C%?V6jY`U_%}PY0v5}Lq zOpvjz`g*ND9n7B%nhsWr$?L^cE8`Kl3SAQ<^6Gl%Qe(sgVkva~Ypp?~JfmiA`!zL; zb<(9_3*YxkNGNKHz840E;S3UtPAfH}HjtJCM=CeIwOrXgB|ao3$s6+kwlj@eMQt;^ zEpP>`T~5not3#CyBA^y-Ot_c&BBn`qkiJyKY!|19lUL6b*{ewGOlLO2sKriJNJWUp zkJdq4{gJkF3<`{X)@k>D0iO24Cn?s}IgWe8PJlPb-lL1b3 z^marNIDF-ud1cDGtSuknu6@@>=oNSSYJ-wD=nk2Sq*lqcnH*dOZ(bhl-zAtdL5Fse8B#{(QEg`km zVG@twxNOdL*Uo3O;)J^IxP+jfM%}j{&V06PyZY%Md=eVn7rp$h6qNGs4HyPqHFOq5 z{p3RJ4Z{%FMn39;~|Z>N=?r=4dDC zTl2l#n823ZSwFSZC;=|4dlyluP+G-KKE@@`!H}d0Y+8Bqm1enMet6G znn{sau;`z6SI2ik$T@@;QAO8lkCucpc_*4pD%#Q-H>Xycxb&}pL%PVroza#VGJZf% zFs(R5O$b*Ea`NYtJiDnm)`e<5Mdxn0y*fAc^tR`k-$1>&5mrD<^6pXO^g1tvH4=ES zAg0L`o}DQu2G;n)h*8j%#o1 zi$z$&1cr}U6xuy(dL}RJw_8?LR#4F2C7|rqK*rQ!&|jCi!)sz|rY?+kFZonv5+8nb>b zO4$k7=FVhQ<;-Pc1BIp@12Z)-hgF}yP zEQ@9Aj=5P*E!bi`EYnq1HCqAN9yl%o;oCU`4O)Q_8+Bx48n!d%L|Kmp&28lm32KZX zuh#wiQ&~}yPgMg9DzQ9A{?*q5N_SP?_(-jT_|*_&6ZY&lpRk_ zYF-hM{39I{0!}^zwTP;%Jxp&SDBM|wO10?q%zxCqV23Y+ky9}E#iINF@s3jbzo#-#V5NN9%UnY6EJ2OrAOsrA5`clNVjGuVg?kqI3S-WtnmLW!l9#PRk?9n%znOmD0-Y%%-DzX@=q$Ls?7O2Ly|aQckdY}vhc=6(wO=o(*B&Zyvhq0z9h{iXb@iXyA}1AN z=OVxRhJ5ii`GOp{%=zlx(5sjx89kP4SOfsz&{{XyscbraICMIe_0Lvc^NO=JB|Yn&>-mTa7An2{Q()(0h0o{tqDF*j zjZ#TfXjGAtmPAX}Lzk)fDL`3HhDU_+T;wr?w}Jzt2qpXbxX84FS}M_%QX1Ho%$(f5 z-@hF($y+Ok|hdm3mP0*cVY&Z;L4+8`tw zm%STBHNN;6fmW0P+WCHKzz5C}uu@nSb&Cf5Ty5j^5w3vn^lfTrY1tulV=(HPn)`Ee zbN!n+#acnToh%f zG=KGmRrk^;x={kmqwUS0px~*V8{pTUQX3sXq^PF%4SX5V8&LBN_jZU}OG$unc}nqc z|5P-H+LTk#Q>&)=50&T`;6@e(jIpPe7r&vopMCe!zWRkB^ZjEt@DTVLJuK)K^6X-TR@V^%m|9MsDe`3({uPKxNUf{2QO3s8|GBML2Of`Ca z)!Ze(MdrgmvIQ<36lLv^s?hfrwY56yyLac{Q72<#A5#8OP;YmC?j-DeZb(FuZ{(bH z!L|7uBg4WC;z~s;2f0BRgOvnXGRV|XkGxms+|^4o*l9#0K5W<-14aB zlaZMau|WtmMs8it!8bO31wG4o^NZKMpytMyxpTMU(CDQ!C)iF`M6^cu#^#0qF9k8o$eF47)S2~Eg}XWK*~72q11hB)8@L};D;DkTw()(gUalrM%noyUl(ITZ9QIpF zVK#1$&xuL?VGr7@7Le;1*oN)xs_C80Mi+n*#wPafAMVUXFw2#9qFUPNQu`CpS05Ir zeK2)mz6qUdp3`7Wwwg)~wW(W7a~gOHdL!;^4D8fW#!U{0yB^cW8f)qYtLg`iW|@SA zYdbOL5MrdAbzcz9*xwTu{9E@&_-1J+ZG)TyG7{r!S=*+ds~Qqz0TokRqh15lBSU{8 z8ii^@^ql~Q|AU9S`w(EyLt{Jp1qJcd%Y6RLZE3<8+%Y%(zr~tTtnd+0aCqcG30^p3 zxBY!~_Q2uw7F0sM00Vos`9)|C-r-je)9sC#N+N=Q}`YSw;(WC6yE!^1>3M; z0O(E-07J#=Ls$JkXW3to`_ZTe{QE6~axS;cr+U&*H-pLvdiMwVb0ESIjK8@Q^(iYB_hP2tz3(CAer$BsP+ qG|~r+$Oh$@su?vKF|alAj=GpA|fJ9 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 literal 12692 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�V>tDMfz~7-P`2YV@#^GDJG_%KK**yV!g>VQc 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 uoH=j1&@WWjsCNd-W)?V<8oI=SN{Ir(&_#OJ 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 From b988dc6d1ef488cbe3af6c9de854a27b8cca91be Mon Sep 17 00:00:00 2001 From: monsieurtanuki Date: Fri, 25 Oct 2024 20:15:28 +0200 Subject: [PATCH 30/32] feat: 5648 - deep link for Prices (+ OxF fixes) (#5734) * feat: 5648 - deep link for Prices (+ OxF fixes) Impacted files: * `AndroidManifest.xml`: added an entry for Prices regarding deeplinks * `launch_url_helper.dart`: added beauty, products and petfood regarding deeplinks * `Runner.entitlements`: added an entry for Prices, beauty, products and petfood regarding deeplinks * added prices.net --- .../android/app/src/main/AndroidManifest.xml | 6 +- .../smooth_app/ios/Runner/Runner.entitlements | 300 ++++++++++++++++++ .../lib/helpers/launch_url_helper.dart | 4 +- 3 files changed, 308 insertions(+), 2 deletions(-) diff --git a/packages/smooth_app/android/app/src/main/AndroidManifest.xml b/packages/smooth_app/android/app/src/main/AndroidManifest.xml index 8cd6614a446..212f5f042f2 100644 --- a/packages/smooth_app/android/app/src/main/AndroidManifest.xml +++ b/packages/smooth_app/android/app/src/main/AndroidManifest.xml @@ -52,7 +52,11 @@ - + + + + + diff --git a/packages/smooth_app/ios/Runner/Runner.entitlements b/packages/smooth_app/ios/Runner/Runner.entitlements index a6d5cc08c4a..550e1759ddd 100644 --- a/packages/smooth_app/ios/Runner/Runner.entitlements +++ b/packages/smooth_app/ios/Runner/Runner.entitlements @@ -4,6 +4,9 @@ com.apple.developer.associated-domains + applinks:prices.openfoodfacts.org + applinks:prices.openfoodfacts.net + applinks:ae.openfoodfacts.org applinks:ar.openfoodfacts.org applinks:at-en.openfoodfacts.org @@ -201,6 +204,303 @@ applinks:www.openfoodfacts.net applinks:za.openfoodfacts.net applinks:zh.openfoodfacts.net + + applinks:ae.openbeautyfacts.org + applinks:ar.openbeautyfacts.org + applinks:at-en.openbeautyfacts.org + applinks:at.openbeautyfacts.org + applinks:au.openbeautyfacts.org + applinks:be-de.openbeautyfacts.org + applinks:be-en.openbeautyfacts.org + applinks:be-fr.openbeautyfacts.org + applinks:be.openbeautyfacts.org + applinks:bg.openbeautyfacts.org + applinks:br.openbeautyfacts.org + applinks:ca-fr.openbeautyfacts.org + applinks:ca.openbeautyfacts.org + applinks:ch-en.openbeautyfacts.org + applinks:ch-fr.openbeautyfacts.org + applinks:ch-it.openbeautyfacts.org + applinks:ch.openbeautyfacts.org + applinks:cl.openbeautyfacts.org + applinks:cn-en.openbeautyfacts.org + applinks:cn.openbeautyfacts.org + applinks:co.openbeautyfacts.org + applinks:cz.openbeautyfacts.org + applinks:de-en.openbeautyfacts.org + applinks:de.openbeautyfacts.org + applinks:dk.openbeautyfacts.org + applinks:dz-fr.openbeautyfacts.org + applinks:dz.openbeautyfacts.org + applinks:en.openbeautyfacts.org + applinks:es-ca.openbeautyfacts.org + applinks:es-en.openbeautyfacts.org + applinks:es-eu.openbeautyfacts.org + applinks:es-gl.openbeautyfacts.org + applinks:es.openbeautyfacts.org + applinks:fi.openbeautyfacts.org + applinks:fr-en.openbeautyfacts.org + applinks:fr-es.openbeautyfacts.org + applinks:fr.openbeautyfacts.org + applinks:gf.openbeautyfacts.org + applinks:gp.openbeautyfacts.org + applinks:gr.openbeautyfacts.org + applinks:hk.openbeautyfacts.org + applinks:hk-zh.openbeautyfacts.org + applinks:hu.openbeautyfacts.org + applinks:id.openbeautyfacts.org + applinks:ie.openbeautyfacts.org + applinks:il.openbeautyfacts.org + applinks:in.openbeautyfacts.org + applinks:ir.openbeautyfacts.org + applinks:it.openbeautyfacts.org + applinks:jp.openbeautyfacts.org + applinks:ke.openbeautyfacts.org + applinks:kh.openbeautyfacts.org + applinks:lu.openbeautyfacts.org + applinks:ma-fr.openbeautyfacts.org + applinks:ma.openbeautyfacts.org + applinks:mq.openbeautyfacts.org + applinks:mx.openbeautyfacts.org + applinks:nl-en.openbeautyfacts.org + applinks:nl.openbeautyfacts.org + applinks:no.openbeautyfacts.org + applinks:nz.openbeautyfacts.org + applinks:pe.openbeautyfacts.org + applinks:pf.openbeautyfacts.org + applinks:ph.openbeautyfacts.org + applinks:pl-en.openbeautyfacts.org + applinks:pl.openbeautyfacts.org + applinks:openbeautyfacts.org + applinks:pt-en.openbeautyfacts.org + applinks:pt.openbeautyfacts.org + applinks:re.openbeautyfacts.org + applinks:ro.openbeautyfacts.org + applinks:ru-en.openbeautyfacts.org + applinks:ru.openbeautyfacts.org + applinks:sa.openbeautyfacts.org + applinks:se.openbeautyfacts.org + applinks:sg.openbeautyfacts.org + applinks:sg-zh.openbeautyfacts.org + applinks:sk.openbeautyfacts.org + applinks:th.openbeautyfacts.org + applinks:tn-en.openbeautyfacts.org + applinks:tn.openbeautyfacts.org + applinks:tr.openbeautyfacts.org + applinks:tw.openbeautyfacts.org + applinks:uk.openbeautyfacts.org + applinks:us-es.openbeautyfacts.org + applinks:us.openbeautyfacts.org + applinks:world-de.openbeautyfacts.org + applinks:world-en.openbeautyfacts.org + applinks:world-es.openbeautyfacts.org + applinks:world-fr.openbeautyfacts.org + applinks:world-it.openbeautyfacts.org + applinks:world.openbeautyfacts.org + applinks:world-pt.openbeautyfacts.org + applinks:world-ru.openbeautyfacts.org + applinks:world-zh.openbeautyfacts.org + applinks:www.openbeautyfacts.org + applinks:za.openbeautyfacts.org + applinks:zh.openbeautyfacts.org + + applinks:ae.openproductsfacts.org + applinks:ar.openproductsfacts.org + applinks:at-en.openproductsfacts.org + applinks:at.openproductsfacts.org + applinks:au.openproductsfacts.org + applinks:be-de.openproductsfacts.org + applinks:be-en.openproductsfacts.org + applinks:be-fr.openproductsfacts.org + applinks:be.openproductsfacts.org + applinks:bg.openproductsfacts.org + applinks:br.openproductsfacts.org + applinks:ca-fr.openproductsfacts.org + applinks:ca.openproductsfacts.org + applinks:ch-en.openproductsfacts.org + applinks:ch-fr.openproductsfacts.org + applinks:ch-it.openproductsfacts.org + applinks:ch.openproductsfacts.org + applinks:cl.openproductsfacts.org + applinks:cn-en.openproductsfacts.org + applinks:cn.openproductsfacts.org + applinks:co.openproductsfacts.org + applinks:cz.openproductsfacts.org + applinks:de-en.openproductsfacts.org + applinks:de.openproductsfacts.org + applinks:dk.openproductsfacts.org + applinks:dz-fr.openproductsfacts.org + applinks:dz.openproductsfacts.org + applinks:en.openproductsfacts.org + applinks:es-ca.openproductsfacts.org + applinks:es-en.openproductsfacts.org + applinks:es-eu.openproductsfacts.org + applinks:es-gl.openproductsfacts.org + applinks:es.openproductsfacts.org + applinks:fi.openproductsfacts.org + applinks:fr-en.openproductsfacts.org + applinks:fr-es.openproductsfacts.org + applinks:fr.openproductsfacts.org + applinks:gf.openproductsfacts.org + applinks:gp.openproductsfacts.org + applinks:gr.openproductsfacts.org + applinks:hk.openproductsfacts.org + applinks:hk-zh.openproductsfacts.org + applinks:hu.openproductsfacts.org + applinks:id.openproductsfacts.org + applinks:ie.openproductsfacts.org + applinks:il.openproductsfacts.org + applinks:in.openproductsfacts.org + applinks:ir.openproductsfacts.org + applinks:it.openproductsfacts.org + applinks:jp.openproductsfacts.org + applinks:ke.openproductsfacts.org + applinks:kh.openproductsfacts.org + applinks:lu.openproductsfacts.org + applinks:ma-fr.openproductsfacts.org + applinks:ma.openproductsfacts.org + applinks:mq.openproductsfacts.org + applinks:mx.openproductsfacts.org + applinks:nl-en.openproductsfacts.org + applinks:nl.openproductsfacts.org + applinks:no.openproductsfacts.org + applinks:nz.openproductsfacts.org + applinks:pe.openproductsfacts.org + applinks:pf.openproductsfacts.org + applinks:ph.openproductsfacts.org + applinks:pl-en.openproductsfacts.org + applinks:pl.openproductsfacts.org + applinks:openproductsfacts.org + applinks:pt-en.openproductsfacts.org + applinks:pt.openproductsfacts.org + applinks:re.openproductsfacts.org + applinks:ro.openproductsfacts.org + applinks:ru-en.openproductsfacts.org + applinks:ru.openproductsfacts.org + applinks:sa.openproductsfacts.org + applinks:se.openproductsfacts.org + applinks:sg.openproductsfacts.org + applinks:sg-zh.openproductsfacts.org + applinks:sk.openproductsfacts.org + applinks:th.openproductsfacts.org + applinks:tn-en.openproductsfacts.org + applinks:tn.openproductsfacts.org + applinks:tr.openproductsfacts.org + applinks:tw.openproductsfacts.org + applinks:uk.openproductsfacts.org + applinks:us-es.openproductsfacts.org + applinks:us.openproductsfacts.org + applinks:world-de.openproductsfacts.org + applinks:world-en.openproductsfacts.org + applinks:world-es.openproductsfacts.org + applinks:world-fr.openproductsfacts.org + applinks:world-it.openproductsfacts.org + applinks:world.openproductsfacts.org + applinks:world-pt.openproductsfacts.org + applinks:world-ru.openproductsfacts.org + applinks:world-zh.openproductsfacts.org + applinks:www.openproductsfacts.org + applinks:za.openproductsfacts.org + applinks:zh.openproductsfacts.org + + applinks:ae.openpetfoodfacts.org + applinks:ar.openpetfoodfacts.org + applinks:at-en.openpetfoodfacts.org + applinks:at.openpetfoodfacts.org + applinks:au.openpetfoodfacts.org + applinks:be-de.openpetfoodfacts.org + applinks:be-en.openpetfoodfacts.org + applinks:be-fr.openpetfoodfacts.org + applinks:be.openpetfoodfacts.org + applinks:bg.openpetfoodfacts.org + applinks:br.openpetfoodfacts.org + applinks:ca-fr.openpetfoodfacts.org + applinks:ca.openpetfoodfacts.org + applinks:ch-en.openpetfoodfacts.org + applinks:ch-fr.openpetfoodfacts.org + applinks:ch-it.openpetfoodfacts.org + applinks:ch.openpetfoodfacts.org + applinks:cl.openpetfoodfacts.org + applinks:cn-en.openpetfoodfacts.org + applinks:cn.openpetfoodfacts.org + applinks:co.openpetfoodfacts.org + applinks:cz.openpetfoodfacts.org + applinks:de-en.openpetfoodfacts.org + applinks:de.openpetfoodfacts.org + applinks:dk.openpetfoodfacts.org + applinks:dz-fr.openpetfoodfacts.org + applinks:dz.openpetfoodfacts.org + applinks:en.openpetfoodfacts.org + applinks:es-ca.openpetfoodfacts.org + applinks:es-en.openpetfoodfacts.org + applinks:es-eu.openpetfoodfacts.org + applinks:es-gl.openpetfoodfacts.org + applinks:es.openpetfoodfacts.org + applinks:fi.openpetfoodfacts.org + applinks:fr-en.openpetfoodfacts.org + applinks:fr-es.openpetfoodfacts.org + applinks:fr.openpetfoodfacts.org + applinks:gf.openpetfoodfacts.org + applinks:gp.openpetfoodfacts.org + applinks:gr.openpetfoodfacts.org + applinks:hk.openpetfoodfacts.org + applinks:hk-zh.openpetfoodfacts.org + applinks:hu.openpetfoodfacts.org + applinks:id.openpetfoodfacts.org + applinks:ie.openpetfoodfacts.org + applinks:il.openpetfoodfacts.org + applinks:in.openpetfoodfacts.org + applinks:ir.openpetfoodfacts.org + applinks:it.openpetfoodfacts.org + applinks:jp.openpetfoodfacts.org + applinks:ke.openpetfoodfacts.org + applinks:kh.openpetfoodfacts.org + applinks:lu.openpetfoodfacts.org + applinks:ma-fr.openpetfoodfacts.org + applinks:ma.openpetfoodfacts.org + applinks:mq.openpetfoodfacts.org + applinks:mx.openpetfoodfacts.org + applinks:nl-en.openpetfoodfacts.org + applinks:nl.openpetfoodfacts.org + applinks:no.openpetfoodfacts.org + applinks:nz.openpetfoodfacts.org + applinks:pe.openpetfoodfacts.org + applinks:pf.openpetfoodfacts.org + applinks:ph.openpetfoodfacts.org + applinks:pl-en.openpetfoodfacts.org + applinks:pl.openpetfoodfacts.org + applinks:openpetfoodfacts.org + applinks:pt-en.openpetfoodfacts.org + applinks:pt.openpetfoodfacts.org + applinks:re.openpetfoodfacts.org + applinks:ro.openpetfoodfacts.org + applinks:ru-en.openpetfoodfacts.org + applinks:ru.openpetfoodfacts.org + applinks:sa.openpetfoodfacts.org + applinks:se.openpetfoodfacts.org + applinks:sg.openpetfoodfacts.org + applinks:sg-zh.openpetfoodfacts.org + applinks:sk.openpetfoodfacts.org + applinks:th.openpetfoodfacts.org + applinks:tn-en.openpetfoodfacts.org + applinks:tn.openpetfoodfacts.org + applinks:tr.openpetfoodfacts.org + applinks:tw.openpetfoodfacts.org + applinks:uk.openpetfoodfacts.org + applinks:us-es.openpetfoodfacts.org + applinks:us.openpetfoodfacts.org + applinks:world-de.openpetfoodfacts.org + applinks:world-en.openpetfoodfacts.org + applinks:world-es.openpetfoodfacts.org + applinks:world-fr.openpetfoodfacts.org + applinks:world-it.openpetfoodfacts.org + applinks:world.openpetfoodfacts.org + applinks:world-pt.openpetfoodfacts.org + applinks:world-ru.openpetfoodfacts.org + applinks:world-zh.openpetfoodfacts.org + applinks:www.openpetfoodfacts.org + applinks:za.openpetfoodfacts.org + applinks:zh.openpetfoodfacts.org diff --git a/packages/smooth_app/lib/helpers/launch_url_helper.dart b/packages/smooth_app/lib/helpers/launch_url_helper.dart index 3e1264d2f16..42edfe2d2e3 100644 --- a/packages/smooth_app/lib/helpers/launch_url_helper.dart +++ b/packages/smooth_app/lib/helpers/launch_url_helper.dart @@ -14,7 +14,9 @@ class LaunchUrlHelper { ) async { assert(url.isNotEmpty); - if (url.startsWith(RegExp('http(s)?://[a-z]*.openfoodfacts.(net|org)'))) { + if (url.startsWith(RegExp( + 'http(s)?://[a-z]*.open(food|beauty|products|petfood)facts.(net|org)', + ))) { AnalyticsHelper.trackOutlink(url: url); GoRouter.of(context).go(url); } else { From be05e6004e916a4760a76d092729c8edc6e815de Mon Sep 17 00:00:00 2001 From: monsieurtanuki Date: Sat, 26 Oct 2024 00:27:35 +0200 Subject: [PATCH 31/32] feat: 5586 - added explicit product type to all relevant background tasks (#5721) New file: * `work_type.dart`: Type of long download work for some background tasks. Impacted files: * `background_task.dart`: removed the default `uriProductHelper` getter * `background_task_barcode.dart`: added a `uriProductHelper` getter that depends on the `productType` * `background_task_download_products.dart`: refactored the access to product type * `background_task_full_refresh.dart`: split by product type * `background_task_language_refresh.dart`: split by product type * `background_task_offline.dart`: refactored the access to product type * `background_task_progressing.dart`: added the `productType` parameter; moved code to new `WorkType` class * `background_task_top_barcodes.dart`: refactored the access to product type * `dao_product.dart`: new methods `getProductTypes` and `splitAllProducts`; refactored with product type * `lazy_counter.dart`: explicitly counting the "food" products * `newsfeed_provider.dart`: explicitly getting the news from "food" * `offline_data_page.dart`: now displaying "download top N products" buttons for each product type; stats for each product type * `offline_tasks_page.dart`: enhanced "work text" algo, now depending on product type * `operation_type.dart`: enhanced "key" algo, now depending on product type * `ordered_nutrients_cache.dart`: explicitly using the "food" nutrients * `product_list_page.dart`: now reloading products from their server * `product_list_popup_items.dart`: now linking to the first server with products * `product_query.dart`: made product type a mandatory parameter * `product_refresher.dart`: added mandatory parameter product type * `random_questions_query.dart`: explicitly ask for "food" robotoff products * `temp_product_list_share_helper.dart`: added mandatory parameter product type * `user_preferences_dev_debug_info.dart`: added explicit use of "food" data --- .../lib/background/background_task.dart | 5 +- .../background/background_task_barcode.dart | 2 +- .../background_task_download_products.dart | 9 +- .../background_task_full_refresh.dart | 77 ++++++++------- .../background_task_language_refresh.dart | 32 ++++++- .../background/background_task_offline.dart | 10 +- .../background_task_progressing.dart | 25 +++-- .../background_task_top_barcodes.dart | 8 ++ .../lib/background/operation_type.dart | 5 +- .../smooth_app/lib/background/work_type.dart | 62 ++++++++++++ .../news_feed/newsfeed_provider.dart | 2 +- .../smooth_app/lib/database/dao_product.dart | 94 ++++++++++++++++--- .../temp_product_list_share_helper.dart | 7 +- .../lib/pages/offline_data_page.dart | 47 ++++++---- .../lib/pages/offline_tasks_page.dart | 19 ++-- .../lib/pages/preferences/lazy_counter.dart | 4 +- .../user_preferences_dev_debug_info.dart | 6 +- .../product/common/product_list_page.dart | 36 ++++--- .../common/product_list_popup_items.dart | 53 ++++++++--- .../product/common/product_refresher.dart | 6 +- .../product/ordered_nutrients_cache.dart | 8 +- .../smooth_app/lib/query/product_query.dart | 2 +- .../lib/query/random_questions_query.dart | 1 + 23 files changed, 386 insertions(+), 134 deletions(-) create mode 100644 packages/smooth_app/lib/background/work_type.dart diff --git a/packages/smooth_app/lib/background/background_task.dart b/packages/smooth_app/lib/background/background_task.dart index 5344986e3b6..09a166808a8 100644 --- a/packages/smooth_app/lib/background/background_task.dart +++ b/packages/smooth_app/lib/background/background_task.dart @@ -18,6 +18,7 @@ abstract class BackgroundTask { required this.stamp, final OpenFoodFactsLanguage? language, }) // TODO(monsieurtanuki): don't store the password in a clear format... +// TODO(monsieurtanuki): store the uriProductHelper as well : user = jsonEncode(ProductQuery.getWriteUser().toJson()), country = ProductQuery.getCountry().offTag, languageCode = (language ?? ProductQuery.getLanguage()).offTag; @@ -181,10 +182,6 @@ abstract class BackgroundTask { /// subtasks that call the next one at the end. bool get hasImmediateNextTask => false; -// TODO(monsieurtanuki): store the uriProductHelper as well - @protected - UriProductHelper get uriProductHelper => ProductQuery.getUriProductHelper(); - /// Returns true if tasks with the same stamp would overwrite each-other. bool isDeduplicable() => true; } diff --git a/packages/smooth_app/lib/background/background_task_barcode.dart b/packages/smooth_app/lib/background/background_task_barcode.dart index dcc36e0d1d4..203e5f4393c 100644 --- a/packages/smooth_app/lib/background/background_task_barcode.dart +++ b/packages/smooth_app/lib/background/background_task_barcode.dart @@ -56,7 +56,7 @@ abstract class BackgroundTaskBarcode extends BackgroundTask { localDatabase: localDatabase, ); - @override + @protected UriProductHelper get uriProductHelper => ProductQuery.getUriProductHelper( productType: productType, ); diff --git a/packages/smooth_app/lib/background/background_task_download_products.dart b/packages/smooth_app/lib/background/background_task_download_products.dart index 99244ed3cd8..f3ad234c055 100644 --- a/packages/smooth_app/lib/background/background_task_download_products.dart +++ b/packages/smooth_app/lib/background/background_task_download_products.dart @@ -18,6 +18,7 @@ class BackgroundTaskDownloadProducts extends BackgroundTaskProgressing { required super.work, required super.pageSize, required super.totalSize, + required super.productType, required this.downloadFlag, }); @@ -49,12 +50,14 @@ class BackgroundTaskDownloadProducts extends BackgroundTaskProgressing { required final int totalSize, required final int soFarSize, required final int downloadFlag, + required final ProductType productType, }) async { final String uniqueId = await _operationType.getNewKey( localDatabase, soFarSize: soFarSize, totalSize: totalSize, work: work, + productType: productType, ); final BackgroundTask task = _getNewTask( uniqueId, @@ -62,6 +65,7 @@ class BackgroundTaskDownloadProducts extends BackgroundTaskProgressing { pageSize, totalSize, downloadFlag, + productType, ); await task.addToManager(localDatabase); } @@ -77,6 +81,7 @@ class BackgroundTaskDownloadProducts extends BackgroundTaskProgressing { final int pageSize, final int totalSize, final int downloadFlag, + final ProductType productType, ) => BackgroundTaskDownloadProducts._( processName: _operationType.processName, @@ -86,6 +91,7 @@ class BackgroundTaskDownloadProducts extends BackgroundTaskProgressing { pageSize: pageSize, totalSize: totalSize, downloadFlag: downloadFlag, + productType: productType, ); @override @@ -133,8 +139,6 @@ class BackgroundTaskDownloadProducts extends BackgroundTaskProgressing { throw Exception('Something bad happened downloading products'); } final DaoProduct daoProduct = DaoProduct(localDatabase); - final ProductType? productType = - ProductQuery.extractProductType(uriProductHelper); for (final Product product in downloadedProducts) { if (await _shouldBeUpdated(daoProduct, product.barcode!)) { await daoProduct.put( @@ -159,6 +163,7 @@ class BackgroundTaskDownloadProducts extends BackgroundTaskProgressing { totalSize: totalSize, soFarSize: totalSize - remaining, downloadFlag: downloadFlag, + productType: productType, ); } } diff --git a/packages/smooth_app/lib/background/background_task_full_refresh.dart b/packages/smooth_app/lib/background/background_task_full_refresh.dart index b11ddd1c030..a03f27dd362 100644 --- a/packages/smooth_app/lib/background/background_task_full_refresh.dart +++ b/packages/smooth_app/lib/background/background_task_full_refresh.dart @@ -5,8 +5,8 @@ import 'package:provider/provider.dart'; import 'package:smooth_app/background/background_task.dart'; import 'package:smooth_app/background/background_task_download_products.dart'; import 'package:smooth_app/background/background_task_paged.dart'; -import 'package:smooth_app/background/background_task_progressing.dart'; import 'package:smooth_app/background/operation_type.dart'; +import 'package:smooth_app/background/work_type.dart'; import 'package:smooth_app/database/dao_product.dart'; import 'package:smooth_app/database/dao_work_barcode.dart'; import 'package:smooth_app/database/local_database.dart'; @@ -66,34 +66,44 @@ class BackgroundTaskFullRefresh extends BackgroundTaskPaged { final DaoProduct daoProduct = DaoProduct(localDatabase); final DaoWorkBarcode daoWorkBarcode = DaoWorkBarcode(localDatabase); - await daoWorkBarcode - .deleteWork(BackgroundTaskProgressing.workFreshWithoutKP); - await daoWorkBarcode.deleteWork(BackgroundTaskProgressing.workFreshWithKP); + for (final ProductType productType in ProductType.values) { + await daoWorkBarcode.deleteWork( + WorkType.freshKP.getWorkTag(productType), + ); + await daoWorkBarcode.deleteWork( + WorkType.freshNoKP.getWorkTag(productType), + ); + } - // We separate the products into two lists, products with or without - // knowledge panels - final List barcodes = await daoProduct.getAllKeys(); - final List productsWithoutKP = []; - final List productsWithKP = []; - for (final String barcode in barcodes) { - if (await _shouldBeDownloadedWithoutKP(daoProduct, barcode)) { - productsWithoutKP.add(barcode); - } else { - productsWithKP.add(barcode); + // We separate the products into lists, products with or without + // knowledge panels, and split by product types. + final Map> split = await daoProduct.splitAllProducts( + (Product product) { + final bool noKP = product.knowledgePanels == null; + final WorkType workType = noKP ? WorkType.freshNoKP : WorkType.freshKP; + final ProductType productType = product.productType ?? ProductType.food; + return workType.getWorkTag(productType); + }, + ); + for (int i = 0; i <= 1; i++) { + final bool noKP = i == 0; + final WorkType workType = noKP ? WorkType.freshNoKP : WorkType.freshKP; + for (final ProductType productType in ProductType.values) { + final String tag = workType.getWorkTag(productType); + final List? barcodes = split[tag]; + if (barcodes == null) { + continue; + } + await _startDownloadTask( + barcodes: barcodes, + work: tag, + localDatabase: localDatabase, + downloadFlag: + noKP ? BackgroundTaskDownloadProducts.flagMaskExcludeKP : 0, + productType: productType, + ); } } - await _startDownloadTask( - barcodes: productsWithoutKP, - work: BackgroundTaskProgressing.workFreshWithoutKP, - localDatabase: localDatabase, - downloadFlag: BackgroundTaskDownloadProducts.flagMaskExcludeKP, - ); - await _startDownloadTask( - barcodes: productsWithKP, - work: BackgroundTaskProgressing.workFreshWithKP, - localDatabase: localDatabase, - downloadFlag: 0, - ); } @override @@ -102,24 +112,12 @@ class BackgroundTaskFullRefresh extends BackgroundTaskPaged { @override bool hasImmediateNextTask = false; - /// Returns true if we should download data without KP. - /// - /// That happens in one case: - /// * we already have a corresponding local product that does not have - /// populated knowledge panel fields. - static Future _shouldBeDownloadedWithoutKP( - final DaoProduct daoProduct, - final String barcode, - ) async { - final Product? product = await daoProduct.get(barcode); - return product != null && product.knowledgePanels == null; - } - Future _startDownloadTask({ required final List barcodes, required final String work, required final LocalDatabase localDatabase, required final int downloadFlag, + required final ProductType productType, }) async { if (barcodes.isEmpty) { return; @@ -134,6 +132,7 @@ class BackgroundTaskFullRefresh extends BackgroundTaskPaged { totalSize: barcodes.length, soFarSize: 0, downloadFlag: downloadFlag, + productType: productType, ); } } diff --git a/packages/smooth_app/lib/background/background_task_language_refresh.dart b/packages/smooth_app/lib/background/background_task_language_refresh.dart index cec03a1f8aa..cd0c88056c3 100644 --- a/packages/smooth_app/lib/background/background_task_language_refresh.dart +++ b/packages/smooth_app/lib/background/background_task_language_refresh.dart @@ -14,10 +14,15 @@ class BackgroundTaskLanguageRefresh extends BackgroundTask { required super.uniqueId, required super.stamp, required this.excludeBarcodes, + required this.productType, }); BackgroundTaskLanguageRefresh.fromJson(super.json) : excludeBarcodes = _getStringList(json, _jsonTagExcludeBarcodes), + productType = + ProductType.fromOffTag(json[_jsonTagProductType] as String?) ?? +// for legacy reason (not refreshed products = no product type) + ProductType.food, super.fromJson(); static List _getStringList( @@ -32,28 +37,48 @@ class BackgroundTaskLanguageRefresh extends BackgroundTask { } final List excludeBarcodes; + final ProductType productType; static const String _jsonTagExcludeBarcodes = 'excludeBarcodes'; + static const String _jsonTagProductType = 'productType'; @override Map toJson() { final Map result = super.toJson(); result[_jsonTagExcludeBarcodes] = excludeBarcodes; + result[_jsonTagProductType] = productType.offTag; return result; } static const OperationType _operationType = OperationType.languageRefresh; + UriProductHelper get _uriProductHelper => ProductQuery.getUriProductHelper( + productType: productType, + ); + static Future addTask( final LocalDatabase localDatabase, { final List excludeBarcodes = const [], + final ProductType? productType, }) async { + if (productType == null) { + for (final ProductType item in ProductType.values) { + await addTask( + localDatabase, + excludeBarcodes: excludeBarcodes, + productType: item, + ); + } + return; + } final String uniqueId = await _operationType.getNewKey( localDatabase, + productType: productType, ); final BackgroundTask task = _getNewTask( uniqueId, excludeBarcodes, + productType, ); await task.addToManager(localDatabase); } @@ -66,12 +91,14 @@ class BackgroundTaskLanguageRefresh extends BackgroundTask { static BackgroundTask _getNewTask( final String uniqueId, final List excludeBarcodes, + final ProductType productType, ) => BackgroundTaskLanguageRefresh._( processName: _operationType.processName, uniqueId: uniqueId, - stamp: ';languageRefresh', + stamp: ';languageRefresh;${productType.offTag}', excludeBarcodes: excludeBarcodes, + productType: productType, ); @override @@ -91,6 +118,7 @@ class BackgroundTaskLanguageRefresh extends BackgroundTask { language, limit: _pageSize, excludeBarcodes: excludeBarcodes, + productType: productType, ); if (barcodes.isEmpty) { return; @@ -108,7 +136,7 @@ class BackgroundTaskLanguageRefresh extends BackgroundTask { country: ProductQuery.getCountry(), version: ProductQuery.productQueryVersion, ), - uriHelper: uriProductHelper, + uriHelper: _uriProductHelper, ); if (searchResult.products == null || searchResult.count == null) { throw Exception('Cannot refresh language'); diff --git a/packages/smooth_app/lib/background/background_task_offline.dart b/packages/smooth_app/lib/background/background_task_offline.dart index a8e2b03929f..fba57b31924 100644 --- a/packages/smooth_app/lib/background/background_task_offline.dart +++ b/packages/smooth_app/lib/background/background_task_offline.dart @@ -1,10 +1,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; +import 'package:openfoodfacts/openfoodfacts.dart'; import 'package:provider/provider.dart'; import 'package:smooth_app/background/background_task.dart'; import 'package:smooth_app/background/background_task_progressing.dart'; import 'package:smooth_app/background/background_task_top_barcodes.dart'; import 'package:smooth_app/background/operation_type.dart'; +import 'package:smooth_app/background/work_type.dart'; import 'package:smooth_app/database/dao_work_barcode.dart'; import 'package:smooth_app/database/local_database.dart'; @@ -17,6 +19,7 @@ class BackgroundTaskOffline extends BackgroundTaskProgressing { required super.work, required super.pageSize, required super.totalSize, + required super.productType, }); BackgroundTaskOffline.fromJson(super.json) : super.fromJson(); @@ -27,6 +30,7 @@ class BackgroundTaskOffline extends BackgroundTaskProgressing { required final BuildContext context, required final int pageSize, required final int totalSize, + required final ProductType productType, }) async { final LocalDatabase localDatabase = context.read(); final String uniqueId = await _operationType.getNewKey( @@ -36,9 +40,10 @@ class BackgroundTaskOffline extends BackgroundTaskProgressing { ); final BackgroundTask task = _getNewTask( uniqueId, - BackgroundTaskProgressing.workOffline, + WorkType.offline.getWorkTag(productType), pageSize, totalSize, + productType, ); if (!context.mounted) { return; @@ -59,6 +64,7 @@ class BackgroundTaskOffline extends BackgroundTaskProgressing { final String work, final int pageSize, final int totalSize, + final ProductType productType, ) => BackgroundTaskOffline._( processName: _operationType.processName, @@ -67,6 +73,7 @@ class BackgroundTaskOffline extends BackgroundTaskProgressing { work: work, pageSize: pageSize, totalSize: totalSize, + productType: productType, ); @override @@ -85,6 +92,7 @@ class BackgroundTaskOffline extends BackgroundTaskProgressing { pageSize: pageSize, totalSize: totalSize, soFarSize: 0, + productType: productType, ); } } diff --git a/packages/smooth_app/lib/background/background_task_progressing.dart b/packages/smooth_app/lib/background/background_task_progressing.dart index dca7c12b3ac..c7e92dabf47 100644 --- a/packages/smooth_app/lib/background/background_task_progressing.dart +++ b/packages/smooth_app/lib/background/background_task_progressing.dart @@ -1,4 +1,7 @@ +import 'package:flutter/foundation.dart'; +import 'package:openfoodfacts/openfoodfacts.dart'; import 'package:smooth_app/background/background_task_paged.dart'; +import 'package:smooth_app/query/product_query.dart'; /// Abstract background task with work in progress actions. abstract class BackgroundTaskProgressing extends BackgroundTaskPaged { @@ -9,35 +12,39 @@ abstract class BackgroundTaskProgressing extends BackgroundTaskPaged { required super.pageSize, required this.work, required this.totalSize, + required this.productType, }); BackgroundTaskProgressing.fromJson(super.json) : work = json[_jsonTagWork] as String, totalSize = json[_jsonTagTotalSize] as int, + productType = + ProductType.fromOffTag(json[_jsonTagProductType] as String?) ?? +// for legacy reason (not refreshed products = no product type) + ProductType.food, super.fromJson(); final String work; final int totalSize; + final ProductType productType; static const String _jsonTagWork = 'work'; static const String _jsonTagTotalSize = 'totalSize'; + static const String _jsonTagProductType = 'productType'; @override Map toJson() { final Map result = super.toJson(); result[_jsonTagWork] = work; result[_jsonTagTotalSize] = totalSize; + result[_jsonTagProductType] = productType.offTag; return result; } - static const String noBarcode = 'NO_BARCODE'; - - /// Work about downloading top products. - static const String workOffline = 'O'; + @protected + UriProductHelper get uriProductHelper => ProductQuery.getUriProductHelper( + productType: productType, + ); - /// Work about downloading fresh products with Knowledge Panels. - static const String workFreshWithKP = 'K'; - - /// Work about downloading fresh products without Knowledge Panels. - static const String workFreshWithoutKP = 'w'; + static const String noBarcode = 'NO_BARCODE'; } diff --git a/packages/smooth_app/lib/background/background_task_top_barcodes.dart b/packages/smooth_app/lib/background/background_task_top_barcodes.dart index bf00f099e56..846422bf81d 100644 --- a/packages/smooth_app/lib/background/background_task_top_barcodes.dart +++ b/packages/smooth_app/lib/background/background_task_top_barcodes.dart @@ -18,6 +18,7 @@ class BackgroundTaskTopBarcodes extends BackgroundTaskProgressing { required super.work, required super.pageSize, required super.totalSize, + required super.productType, required this.pageNumber, }); @@ -44,12 +45,14 @@ class BackgroundTaskTopBarcodes extends BackgroundTaskProgressing { required final int pageSize, required final int totalSize, required final int soFarSize, + required final ProductType productType, final int pageNumber = 1, }) async { final String uniqueId = await _operationType.getNewKey( localDatabase, totalSize: totalSize, soFarSize: soFarSize, + productType: productType, ); final BackgroundTask task = _getNewTask( uniqueId, @@ -57,6 +60,7 @@ class BackgroundTaskTopBarcodes extends BackgroundTaskProgressing { pageSize, totalSize, pageNumber, + productType, ); await task.addToManager(localDatabase); } @@ -72,6 +76,7 @@ class BackgroundTaskTopBarcodes extends BackgroundTaskProgressing { final int pageSize, final int totalSize, final int pageNumber, + final ProductType productType, ) => BackgroundTaskTopBarcodes._( processName: _operationType.processName, @@ -81,6 +86,7 @@ class BackgroundTaskTopBarcodes extends BackgroundTaskProgressing { pageSize: pageSize, totalSize: totalSize, pageNumber: pageNumber, + productType: productType, ); @override @@ -131,6 +137,7 @@ class BackgroundTaskTopBarcodes extends BackgroundTaskProgressing { totalSize: newTotalSize, soFarSize: soFarAfter, pageNumber: pageNumber + 1, + productType: productType, ); } else { // we have all the barcodes; now we need to download the products. @@ -141,6 +148,7 @@ class BackgroundTaskTopBarcodes extends BackgroundTaskProgressing { totalSize: soFarAfter, soFarSize: 0, downloadFlag: BackgroundTaskDownloadProducts.flagMaskExcludeKP, + productType: productType, ); } } diff --git a/packages/smooth_app/lib/background/operation_type.dart b/packages/smooth_app/lib/background/operation_type.dart index f1d83e874ce..c86ca37b6d2 100644 --- a/packages/smooth_app/lib/background/operation_type.dart +++ b/packages/smooth_app/lib/background/operation_type.dart @@ -1,4 +1,5 @@ import 'package:flutter_gen/gen_l10n/app_localizations.dart'; +import 'package:openfoodfacts/openfoodfacts.dart'; import 'package:smooth_app/background/background_task.dart'; import 'package:smooth_app/background/background_task_add_other_price.dart'; import 'package:smooth_app/background/background_task_add_price.dart'; @@ -58,6 +59,7 @@ enum OperationType { final int? totalSize, final int? soFarSize, final String? work, + final ProductType? productType, }) async { final int sequentialId = await getNextSequenceNumber(DaoInt(localDatabase), _uniqueSequenceKey); @@ -66,7 +68,8 @@ enum OperationType { '$_transientHeaderSeparator$barcode' '$_transientHeaderSeparator${totalSize == null ? '' : totalSize.toString()}' '$_transientHeaderSeparator${soFarSize == null ? '' : soFarSize.toString()}' - '$_transientHeaderSeparator${work ?? ''}'; + '$_transientHeaderSeparator${work ?? ''}' + '$_transientHeaderSeparator${productType == null ? '' : productType.offTag}'; } BackgroundTask fromJson(Map map) => switch (this) { diff --git a/packages/smooth_app/lib/background/work_type.dart b/packages/smooth_app/lib/background/work_type.dart new file mode 100644 index 00000000000..257a6e8af1e --- /dev/null +++ b/packages/smooth_app/lib/background/work_type.dart @@ -0,0 +1,62 @@ +import 'package:openfoodfacts/openfoodfacts.dart'; + +/// Type of long download work for some background tasks. +enum WorkType { + /// Top products. + offline( + tag: 'O', + englishLabel: 'Top products', + ), + + /// Fresh products with Knowledge Panels. + freshKP( + tag: 'K', + englishLabel: 'Refresh products with KP', + ), + + /// Fresh products without Knowledge Panels. + freshNoKP( + tag: 'w', + englishLabel: 'Refresh products without KP', + ); + + const WorkType({ + required this.tag, + required this.englishLabel, + }); + + final String tag; + final String englishLabel; + + String getWorkTag(final ProductType productType) => + '$tag:${productType.offTag}'; + + static (WorkType, ProductType)? extract(final String string) { + if (string.isEmpty) { + return null; + } + final List strings = string.split(':'); + if (strings.length > 2) { + return null; + } + final ProductType productType; + if (strings.length == 1) { + productType = ProductType.food; + } else { + productType = ProductType.fromOffTag(strings[1])!; + } + final WorkType workType = fromTag(strings[0])!; + return (workType, productType); + } + + static WorkType? fromTag( + final String tag, + ) { + for (final WorkType workType in values) { + if (workType.tag == tag) { + return workType; + } + } + return null; + } +} diff --git a/packages/smooth_app/lib/data_models/news_feed/newsfeed_provider.dart b/packages/smooth_app/lib/data_models/news_feed/newsfeed_provider.dart index 3a15c11ae5e..3ee10f2fe91 100644 --- a/packages/smooth_app/lib/data_models/news_feed/newsfeed_provider.dart +++ b/packages/smooth_app/lib/data_models/news_feed/newsfeed_provider.dart @@ -160,7 +160,7 @@ class AppNewsProvider extends ChangeNotifier { bool? _prodEnv; String? _uriOverride; - /// [ProductQuery.uriProductHelper] is not synced yet, + /// [ProductQuery._uriProductHelper] is not synced yet, /// so we have to check it manually Future _onPreferencesChanged() async { final String jsonURI = _preferences.getDevModeString( diff --git a/packages/smooth_app/lib/database/dao_product.dart b/packages/smooth_app/lib/database/dao_product.dart index de35e277776..1b677ae7ae9 100644 --- a/packages/smooth_app/lib/database/dao_product.dart +++ b/packages/smooth_app/lib/database/dao_product.dart @@ -92,6 +92,65 @@ class DaoProduct extends AbstractSqlDao implements BulkDeletable { return result; } + /// Returns the local products split by product type. + Future>> getProductTypes( + final List barcodes, + ) async { + final Map> result = >{}; + if (barcodes.isEmpty) { + return result; + } + for (int start = 0; + start < barcodes.length; + start += BulkManager.SQLITE_MAX_VARIABLE_NUMBER) { + final int size = min( + barcodes.length - start, + BulkManager.SQLITE_MAX_VARIABLE_NUMBER, + ); + final List> queryResults = + await localDatabase.database.query( + _TABLE_PRODUCT, + columns: _columns, + where: '$_TABLE_PRODUCT_COLUMN_BARCODE in(? ${',?' * (size - 1)})', + whereArgs: barcodes.sublist(start, start + size), + ); + for (final Map row in queryResults) { + final Product product = _getProductFromQueryResult(row); + final ProductType productType = product.productType ?? ProductType.food; + List? barcodes = result[productType]; + if (barcodes == null) { + barcodes = []; + result[productType] = barcodes; + } + barcodes.add(product.barcode!); + } + } + return result; + } + + /// Returns all the local products split by a function. + Future>> splitAllProducts( + final String Function(Product) splitFunction, + ) async { + final Map> result = >{}; + final List> queryResults = + await localDatabase.database.query( + _TABLE_PRODUCT, + columns: _columns, + ); + for (final Map row in queryResults) { + final Product product = _getProductFromQueryResult(row); + final String splitValue = splitFunction(product); + List? barcodes = result[splitValue]; + if (barcodes == null) { + barcodes = []; + result[splitValue] = barcodes; + } + barcodes.add(product.barcode!); + } + return result; + } + Future put( final Product product, final OpenFoodFactsLanguage language, { @@ -232,13 +291,20 @@ class DaoProduct extends AbstractSqlDao implements BulkDeletable { } /// Get the total number of products in the database - Future getTotalNoOfProducts() async { - return Sqflite.firstIntValue( - await localDatabase.database.rawQuery( - 'select count(*) from $_TABLE_PRODUCT', - ), - ) ?? - 0; + Future> getTotalNoOfProducts() async { + final Map result = {}; + final List> queryResults = + await localDatabase.database.query( + _TABLE_PRODUCT, + columns: _columns, + ); + for (final Map row in queryResults) { + final Product product = _getProductFromQueryResult(row); + final ProductType productType = product.productType ?? ProductType.food; + final int? count = result[productType]; + result[productType] = 1 + (count ?? 0); + } + return result; } /// Get the estimated total size of the database in MegaBytes @@ -277,10 +343,11 @@ class DaoProduct extends AbstractSqlDao implements BulkDeletable { final OpenFoodFactsLanguage language, { required final int limit, required final List excludeBarcodes, + required final ProductType productType, }) async { /// Unfortunately, some SQFlite implementations don't support "nulls last" String getRawQuery(final bool withNullsLast) => - 'select p.$_TABLE_PRODUCT_COLUMN_BARCODE ' + 'select p.$_TABLE_PRODUCT_COLUMN_GZIPPED_JSON ' 'from' ' $_TABLE_PRODUCT p' ' left outer join ${DaoProductLastAccess.TABLE} a' @@ -288,8 +355,7 @@ class DaoProduct extends AbstractSqlDao implements BulkDeletable { 'where' ' p.$_TABLE_PRODUCT_COLUMN_LANGUAGE is null' ' or p.$_TABLE_PRODUCT_COLUMN_LANGUAGE != ? ' - 'order by a.${DaoProductLastAccess.COLUMN_LAST_ACCESS} desc ${withNullsLast ? 'nulls last' : ''} ' - 'limit ?'; + 'order by a.${DaoProductLastAccess.COLUMN_LAST_ACCESS} desc ${withNullsLast ? 'nulls last' : ''} '; List> queryResults = >[]; try { @@ -297,7 +363,6 @@ class DaoProduct extends AbstractSqlDao implements BulkDeletable { getRawQuery(true), [ language.offTag, - limit + excludeBarcodes.length, ], ); } catch (e) { @@ -310,7 +375,6 @@ class DaoProduct extends AbstractSqlDao implements BulkDeletable { getRawQuery(false), [ language.offTag, - limit + excludeBarcodes.length, ], ); } @@ -318,10 +382,14 @@ class DaoProduct extends AbstractSqlDao implements BulkDeletable { final List result = []; for (final Map row in queryResults) { - final String barcode = row[_TABLE_PRODUCT_COLUMN_BARCODE] as String; + final Product product = _getProductFromQueryResult(row); + final String barcode = product.barcode!; if (excludeBarcodes.contains(barcode)) { continue; } + if ((product.productType ?? ProductType.food) != productType) { + continue; + } result.add(barcode); if (result.length == limit) { break; diff --git a/packages/smooth_app/lib/helpers/temp_product_list_share_helper.dart b/packages/smooth_app/lib/helpers/temp_product_list_share_helper.dart index d2adeb878e9..09f99228783 100644 --- a/packages/smooth_app/lib/helpers/temp_product_list_share_helper.dart +++ b/packages/smooth_app/lib/helpers/temp_product_list_share_helper.dart @@ -2,11 +2,14 @@ import 'package:openfoodfacts/openfoodfacts.dart'; import 'package:smooth_app/query/product_query.dart'; // TODO(m123): Move this to off-dart -Uri shareProductList(List barcodes) { +Uri shareProductList( + final List barcodes, + final ProductType productType, +) { final String barcodesString = barcodes.join(','); return UriHelper.replaceSubdomain( - ProductQuery.getUriProductHelper().getUri( + ProductQuery.getUriProductHelper(productType: productType).getUri( path: 'products/$barcodesString', addUserAgentParameters: false, ), diff --git a/packages/smooth_app/lib/pages/offline_data_page.dart b/packages/smooth_app/lib/pages/offline_data_page.dart index ee3a26d37e8..382e502fbd5 100644 --- a/packages/smooth_app/lib/pages/offline_data_page.dart +++ b/packages/smooth_app/lib/pages/offline_data_page.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:flutter_svg/flutter_svg.dart'; +import 'package:openfoodfacts/openfoodfacts.dart'; import 'package:provider/provider.dart'; import 'package:smooth_app/background/background_task_full_refresh.dart'; import 'package:smooth_app/background/background_task_offline.dart'; @@ -10,6 +11,7 @@ import 'package:smooth_app/database/local_database.dart'; import 'package:smooth_app/generic_lib/design_constants.dart'; import 'package:smooth_app/generic_lib/duration_constants.dart'; import 'package:smooth_app/helpers/app_helper.dart'; +import 'package:smooth_app/query/product_query.dart'; import 'package:smooth_app/widgets/smooth_app_bar.dart'; import 'package:smooth_app/widgets/smooth_scaffold.dart'; @@ -60,16 +62,19 @@ class _OfflineDataPageState extends State { _StatsWidget( daoProduct: daoProduct, ), - _OfflinePageListTile( - title: appLocalizations.download_data, - subtitle: appLocalizations.download_top_n_products(_topNSize), - onTap: () async => BackgroundTaskOffline.addTask( - context: context, - pageSize: _pageSize, - totalSize: _topNSize, + for (final ProductType productType in ProductType.values) + _OfflinePageListTile( + title: + '${appLocalizations.download_data} (${productType.getLabel(appLocalizations)})', + subtitle: appLocalizations.download_top_n_products(_topNSize), + onTap: () async => BackgroundTaskOffline.addTask( + context: context, + pageSize: _pageSize, + totalSize: _topNSize, + productType: productType, + ), + trailing: const Icon(Icons.download), ), - trailing: const Icon(Icons.download), - ), _OfflinePageListTile( title: appLocalizations.update_offline_data, subtitle: appLocalizations.update_local_database_sub, @@ -129,16 +134,26 @@ class _StatsWidget extends StatelessWidget { padding: const EdgeInsets.symmetric(vertical: SMALL_SPACE), child: ListTile( title: Text(applocalizations.offline_product_data_title), - subtitle: FutureBuilder( + subtitle: FutureBuilder>( future: daoProduct.getTotalNoOfProducts(), - builder: (BuildContext context, AsyncSnapshot snapshot) { - if (snapshot.hasData) { - return Text( - applocalizations.available_for_download(snapshot.data!), - ); - } else { + builder: ( + BuildContext context, + AsyncSnapshot> snapshot, + ) { + if (!snapshot.hasData) { return Text(applocalizations.loading); } + int count = 0; + final List list = []; + for (final MapEntry item + in snapshot.data!.entries) { + count += item.value; + list.add( + '${item.value} (${item.key.getLabel(applocalizations)})'); + } + return Text( + '${applocalizations.available_for_download(count)} ${list.join(', ')}', + ); }, ), trailing: FutureBuilder( diff --git a/packages/smooth_app/lib/pages/offline_tasks_page.dart b/packages/smooth_app/lib/pages/offline_tasks_page.dart index 327598cd0b1..21fec7668f9 100644 --- a/packages/smooth_app/lib/pages/offline_tasks_page.dart +++ b/packages/smooth_app/lib/pages/offline_tasks_page.dart @@ -1,9 +1,11 @@ import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; +import 'package:openfoodfacts/openfoodfacts.dart'; import 'package:provider/provider.dart'; import 'package:smooth_app/background/background_task_manager.dart'; import 'package:smooth_app/background/background_task_progressing.dart'; import 'package:smooth_app/background/operation_type.dart'; +import 'package:smooth_app/background/work_type.dart'; import 'package:smooth_app/database/dao_instant_string.dart'; import 'package:smooth_app/database/local_database.dart'; import 'package:smooth_app/generic_lib/dialogs/smooth_alert_dialog.dart'; @@ -126,16 +128,13 @@ class _OfflineTaskState extends State { String? _getWorkText(final String taskId) { final String? work = OperationType.getWork(taskId); - switch (work) { - case null: - case '': - return null; - case BackgroundTaskProgressing.workOffline: - return 'Top products'; - case BackgroundTaskProgressing.workFreshWithoutKP: - return 'Refresh products without KP'; - case BackgroundTaskProgressing.workFreshWithKP: - return 'Refresh products with KP'; + if (work == null || work.isEmpty) { + return null; + } + final (WorkType workType, ProductType productType)? item = + WorkType.extract(work); + if (item != null) { + return '${item.$1.englishLabel} (${item.$2.offTag})'; } return 'Unknown work ($work)!'; } diff --git a/packages/smooth_app/lib/pages/preferences/lazy_counter.dart b/packages/smooth_app/lib/pages/preferences/lazy_counter.dart index a14432500ea..3d530e9cfa6 100644 --- a/packages/smooth_app/lib/pages/preferences/lazy_counter.dart +++ b/packages/smooth_app/lib/pages/preferences/lazy_counter.dart @@ -84,7 +84,9 @@ class LazyCounterUserSearch extends LazyCounter { final SearchResult result = await OpenFoodAPIClient.searchProducts( user, configuration, - uriHelper: ProductQuery.getUriProductHelper(), + uriHelper: ProductQuery.getUriProductHelper( + productType: ProductType.food, + ), ); return result.count; } catch (e) { diff --git a/packages/smooth_app/lib/pages/preferences/user_preferences_dev_debug_info.dart b/packages/smooth_app/lib/pages/preferences/user_preferences_dev_debug_info.dart index 38507150fa9..eb536edf0c3 100644 --- a/packages/smooth_app/lib/pages/preferences/user_preferences_dev_debug_info.dart +++ b/packages/smooth_app/lib/pages/preferences/user_preferences_dev_debug_info.dart @@ -29,10 +29,12 @@ class _UserPreferencesDebugInfoState extends State { 'IsLoggedIn': ProductQuery.isLoggedIn().toString(), 'UUID': OpenFoodAPIConfiguration.uuid.toString(), 'Matomo Visitor ID': AnalyticsHelper.matomoVisitorId, - 'QueryType': ProductQuery.getUriProductHelper().isTestMode + 'QueryType': ProductQuery.getUriProductHelper(productType: ProductType.food) + .isTestMode ? 'QueryType.TEST' : 'QueryType.PROD', - 'Domain': ProductQuery.getUriProductHelper().domain, + 'Domain': + ProductQuery.getUriProductHelper(productType: ProductType.food).domain, 'UserAgent-name': '${OpenFoodAPIConfiguration.userAgent?.name}', 'UserAgent-system': '${OpenFoodAPIConfiguration.userAgent?.system}', }; diff --git a/packages/smooth_app/lib/pages/product/common/product_list_page.dart b/packages/smooth_app/lib/pages/product/common/product_list_page.dart index d9f89d8bd28..edf7293dec0 100644 --- a/packages/smooth_app/lib/pages/product/common/product_list_page.dart +++ b/packages/smooth_app/lib/pages/product/common/product_list_page.dart @@ -447,26 +447,34 @@ class _ProductListPageState extends State final List barcodes, final LocalDatabase localDatabase, ) async { + bool fresh = true; try { final OpenFoodFactsLanguage language = ProductQuery.getLanguage(); - final SearchResult searchResult = await OpenFoodAPIClient.searchProducts( - ProductQuery.getReadUser(), - ProductRefresher().getBarcodeListQueryConfiguration( - barcodes, - language, - ), - uriHelper: ProductQuery.getUriProductHelper(), - ); - final List? freshProducts = searchResult.products; - if (freshProducts == null) { - return false; + final Map> productTypes = + await DaoProduct(localDatabase).getProductTypes(barcodes); + for (final MapEntry> entry + in productTypes.entries) { + final SearchResult searchResult = + await OpenFoodAPIClient.searchProducts( + ProductQuery.getReadUser(), + ProductRefresher().getBarcodeListQueryConfiguration( + entry.value, + language, + ), + uriHelper: ProductQuery.getUriProductHelper(productType: entry.key), + ); + final List? freshProducts = searchResult.products; + if (freshProducts == null) { + fresh = false; + } else { + await DaoProduct(localDatabase).putAll(freshProducts, language); + localDatabase.upToDate.setLatestDownloadedProducts(freshProducts); + } } - await DaoProduct(localDatabase).putAll(freshProducts, language); - localDatabase.upToDate.setLatestDownloadedProducts(freshProducts); final RobotoffInsightHelper robotoffInsightHelper = RobotoffInsightHelper(localDatabase); await robotoffInsightHelper.clearInsightAnnotationsSaved(); - return true; + return fresh; } catch (e) { // } diff --git a/packages/smooth_app/lib/pages/product/common/product_list_popup_items.dart b/packages/smooth_app/lib/pages/product/common/product_list_popup_items.dart index fbbd20e1796..d52e1f82729 100644 --- a/packages/smooth_app/lib/pages/product/common/product_list_popup_items.dart +++ b/packages/smooth_app/lib/pages/product/common/product_list_popup_items.dart @@ -1,7 +1,11 @@ +import 'dart:async'; + import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; +import 'package:openfoodfacts/openfoodfacts.dart'; import 'package:share_plus/share_plus.dart'; import 'package:smooth_app/data_models/product_list.dart'; +import 'package:smooth_app/database/dao_product.dart'; import 'package:smooth_app/database/dao_product_list.dart'; import 'package:smooth_app/database/local_database.dart'; import 'package:smooth_app/generic_lib/dialogs/smooth_alert_dialog.dart'; @@ -53,6 +57,22 @@ abstract class ProductListPopupItem { label: getTitle(appLocalizations), type: isDestructive() ? SmoothPopupMenuItemType.destructive : null, ); + + /// Returns the first possible URL/server that contains at least one product. + @protected + Future _getFirstUrl({ + required final ProductList productList, + required final LocalDatabase localDatabase, + }) async { + final List products = productList.getList(); + final Map> productTypes = + await DaoProduct(localDatabase).getProductTypes(products); + for (final MapEntry> entry + in productTypes.entries) { + return shareProductList(entry.value, entry.key); + } + return null; + } } /// Popup menu item for the product list page: clear list. @@ -147,15 +167,21 @@ class ProductListPopupShare extends ProductListPopupItem { required final BuildContext context, }) async { final AppLocalizations appLocalizations = AppLocalizations.of(context); - final List products = productList.getList(); - final String url = shareProductList(products).toString(); - final RenderBox? box = context.findRenderObject() as RenderBox?; - AnalyticsHelper.trackEvent(AnalyticsEvent.shareList); - Share.share( - appLocalizations.share_product_list_text(url), - sharePositionOrigin: box!.localToGlobal(Offset.zero) & box.size, - ); + final String? url = (await _getFirstUrl( + productList: productList, + localDatabase: localDatabase, + )) + ?.toString(); + if (url != null) { + AnalyticsHelper.trackEvent(AnalyticsEvent.shareList); + unawaited( + Share.share( + appLocalizations.share_product_list_text(url), + sharePositionOrigin: box!.localToGlobal(Offset.zero) & box.size, + ), + ); + } return null; } } @@ -179,9 +205,14 @@ class ProductListPopupOpenInWeb extends ProductListPopupItem { required final LocalDatabase localDatabase, required final BuildContext context, }) async { - final List products = productList.getList(); - AnalyticsHelper.trackEvent(AnalyticsEvent.openListWeb); - await launchUrl(shareProductList(products)); + final Uri? firstUrl = await _getFirstUrl( + productList: productList, + localDatabase: localDatabase, + ); + if (firstUrl != null) { + AnalyticsHelper.trackEvent(AnalyticsEvent.openListWeb); + unawaited(launchUrl(firstUrl)); + } return null; } } diff --git a/packages/smooth_app/lib/pages/product/common/product_refresher.dart b/packages/smooth_app/lib/pages/product/common/product_refresher.dart index be1553bbf4e..12d9b338d07 100644 --- a/packages/smooth_app/lib/pages/product/common/product_refresher.dart +++ b/packages/smooth_app/lib/pages/product/common/product_refresher.dart @@ -107,8 +107,9 @@ class ProductRefresher { Future silentFetchAndRefreshList({ required final List barcodes, required final LocalDatabase localDatabase, + required final ProductType productType, }) async => - _fetchAndRefreshList(localDatabase, barcodes); + _fetchAndRefreshList(localDatabase, barcodes, productType); /// Fetches the product from the server and refreshes the local database. /// @@ -246,13 +247,14 @@ class ProductRefresher { Future _fetchAndRefreshList( final LocalDatabase localDatabase, final List barcodes, + final ProductType productType, ) async { try { final OpenFoodFactsLanguage language = ProductQuery.getLanguage(); final SearchResult searchResult = await OpenFoodAPIClient.searchProducts( ProductQuery.getReadUser(), getBarcodeListQueryConfiguration(barcodes, language), - uriHelper: ProductQuery.getUriProductHelper(), + uriHelper: ProductQuery.getUriProductHelper(productType: productType), ); if (searchResult.products == null) { return null; diff --git a/packages/smooth_app/lib/pages/product/ordered_nutrients_cache.dart b/packages/smooth_app/lib/pages/product/ordered_nutrients_cache.dart index 1c08aa7d3a3..ec0dd4e688e 100644 --- a/packages/smooth_app/lib/pages/product/ordered_nutrients_cache.dart +++ b/packages/smooth_app/lib/pages/product/ordered_nutrients_cache.dart @@ -54,12 +54,16 @@ class OrderedNutrientsCache { return null; } + UriProductHelper get _uriProductHelper => ProductQuery.getUriProductHelper( + productType: ProductType.food, + ); + /// Downloads the ordered nutrients and caches them in the database. Future _download() async { final String string = await OpenFoodAPIClient.getOrderedNutrientsJsonString( country: ProductQuery.getCountry(), language: ProductQuery.getLanguage(), - uriHelper: ProductQuery.getUriProductHelper(), + uriHelper: _uriProductHelper, ); final OrderedNutrients result = OrderedNutrients.fromJson( jsonDecode(string) as Map, @@ -75,6 +79,6 @@ class OrderedNutrientsCache { return 'nutrients.pl' '/${country.offTag}' '/${language.code}' - '/${ProductQuery.getUriProductHelper().domain}'; + '/${_uriProductHelper.domain}'; } } diff --git a/packages/smooth_app/lib/query/product_query.dart b/packages/smooth_app/lib/query/product_query.dart index 5a892f89e1f..315942d1ecf 100644 --- a/packages/smooth_app/lib/query/product_query.dart +++ b/packages/smooth_app/lib/query/product_query.dart @@ -216,7 +216,7 @@ abstract class ProductQuery { // TODO(monsieurtanuki): make the parameter "required" static UriProductHelper getUriProductHelper({ - final ProductType? productType, + required final ProductType? productType, }) { final UriProductHelper currentUriProductHelper = _uriProductHelper; if (productType == null) { diff --git a/packages/smooth_app/lib/query/random_questions_query.dart b/packages/smooth_app/lib/query/random_questions_query.dart index 15bdd7c0bad..b368b4a79ba 100644 --- a/packages/smooth_app/lib/query/random_questions_query.dart +++ b/packages/smooth_app/lib/query/random_questions_query.dart @@ -31,6 +31,7 @@ class RandomQuestionsQuery extends QuestionsQuery { await ProductRefresher().silentFetchAndRefreshList( barcodes: barcodes, localDatabase: localDatabase, + productType: ProductType.food, ); return result.questions ?? []; } From 0ac8157dcca9df24393dfae70603d9a0e3a48554 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 26 Oct 2024 00:29:51 +0200 Subject: [PATCH 32/32] chore(deps): bump flutter_native_splash in /packages/smooth_app (#5726) Bumps [flutter_native_splash](https://github.com/jonbhanson/flutter_native_splash) from 2.4.1 to 2.4.2. - [Release notes](https://github.com/jonbhanson/flutter_native_splash/releases) - [Changelog](https://github.com/jonbhanson/flutter_native_splash/blob/master/CHANGELOG.md) - [Commits](https://github.com/jonbhanson/flutter_native_splash/commits/v2.4.2) --- updated-dependencies: - dependency-name: flutter_native_splash dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/smooth_app/pubspec.lock | 12 ++++++------ packages/smooth_app/pubspec.yaml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/smooth_app/pubspec.lock b/packages/smooth_app/pubspec.lock index 4514dbf6068..c71be09247d 100644 --- a/packages/smooth_app/pubspec.lock +++ b/packages/smooth_app/pubspec.lock @@ -21,10 +21,10 @@ packages: dependency: transitive description: name: ansicolor - sha256: "8bf17a8ff6ea17499e40a2d2542c2f481cd7615760c6d34065cb22bfd22e6880" + sha256: "50e982d500bc863e1d703448afdbf9e5a72eb48840a4f766fa361ffd6877055f" url: "https://pub.dev" source: hosted - version: "2.0.2" + version: "2.0.3" app_settings: dependency: "direct main" description: @@ -73,10 +73,10 @@ packages: dependency: transitive description: name: args - sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" + sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6 url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.6.0" async: dependency: "direct main" description: @@ -632,10 +632,10 @@ packages: dependency: "direct main" description: name: flutter_native_splash - sha256: aa06fec78de2190f3db4319dd60fdc8d12b2626e93ef9828633928c2dcaea840 + sha256: ee5c9bd2b74ea8676442fd4ab876b5d41681df49276488854d6c81a5377c0ef1 url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.2" flutter_plugin_android_lifecycle: dependency: transitive description: diff --git a/packages/smooth_app/pubspec.yaml b/packages/smooth_app/pubspec.yaml index f609be58f4c..68edbbd3e34 100644 --- a/packages/smooth_app/pubspec.yaml +++ b/packages/smooth_app/pubspec.yaml @@ -48,7 +48,7 @@ dependencies: path: ../app_store/shared audioplayers: 6.1.0 flutter_email_sender: 6.0.3 - flutter_native_splash: 2.4.1 + flutter_native_splash: 2.4.2 image: 4.3.0 auto_size_text: 3.0.0 crop_image: 1.0.13