diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 91e67e5c..deaa72b2 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -9,4 +9,9 @@ updates: - package-ecosystem: "pub" directory: "/" schedule: - interval: "weekly" \ No newline at end of file + interval: "weekly" + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" \ No newline at end of file diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 70046801..91b10f7f 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -4,27 +4,15 @@ on: tags: - 'v[0-9]+.[0-9]+.[0-9]+' -defaults: - run: - working-directory: wger - jobs: deploy_android: runs-on: ubuntu-latest steps: - name: Checkout application code - uses: actions/checkout@v2 - with: - path: wger - - - name: Checkout flathub repo - uses: actions/checkout@v3 - with: - repository: wger-project/test - path: flathub + uses: actions/checkout@v4 - name: Setup Java - uses: actions/setup-java@v1 + uses: actions/setup-java@v4 with: java-version: 17.x @@ -34,7 +22,7 @@ jobs: ruby-version: 3 - name: Setup Flutter - uses: subosito/flutter-action@v1 + uses: subosito/flutter-action@v2 with: channel: stable flutter-version: 3.16.x @@ -83,28 +71,28 @@ jobs: WGER_API_KEY: ${{ secrets.WGER_API_KEY }} - name: Upload build to Play Store - uses: maierj/fastlane-action@v2.2.1 + uses: maierj/fastlane-action@v3.0.0 with: lane: production - subdirectory: wger - name: Make Github release uses: softprops/action-gh-release@v1 with: tag_name: ${{ env.VERSION }} files: | - wger/build/app/outputs/bundle/release/app-release.aab - wger/flatpak/scripts/flatpak_generator_exports/wger-linux-x86_64.tar.gz - wger/flatpak/scripts/flatpak_generator_exports/wger-linux-x86_64.sha256 + build/app/outputs/bundle/release/app-release.aab + flatpak/scripts/flatpak_generator_exports/wger-linux-x86_64.tar.gz + flatpak/scripts/flatpak_generator_exports/wger-linux-x86_64.sha256 - name: Generate flathub manifest run: | cd flatpak/scripts dart pub get dart manifest_generator.dart --meta ../flatpak_meta.json --github - cp flatpak_generator_exports/de.wger.flutter.json ../../../flathub + mkdir ../../flathub + cp flatpak_generator_exports/de.wger.flutter.json ../../flathub - - name: Push config to flathub repository + - name: Push updated config to flathub repository uses: cpina/github-action-push-to-another-repository@main env: SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }} @@ -124,12 +112,14 @@ jobs: # would not work, as it would trigger this workflow again. So as # a workaround, we use the v-tag to trigger this workflow, add a new # one without the v and push it. - - name: Commit pubspec version and delete branch + - name: Commit pubspec version and delete tag run: | - git config user.name Github-actions + git config user.name Github-Actions git config user.email github-actions@github.com - git add . + git checkout -b release-${{ env.VERSION }} + git add pubspec.yaml git commit -m "Bump version to $( flutter pub run cider version )" git tag ${{ env.VERSION }} - git push origin HEAD:master --tags - git push origin --delete ${{ env.VERSION_V }} \ No newline at end of file + git push ${{ env.VERSION }} + git push --delete ${{ env.VERSION_V }} + git push \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4de329c2..d5543615 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,10 +13,10 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 - name: Install Flutter - uses: subosito/flutter-action@v1 + uses: subosito/flutter-action@v2 with: channel: 'stable' flutter-version: '3.16.x' diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index cea63576..c95842fe 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -14,10 +14,10 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Setup Flutter - uses: subosito/flutter-action@v1 + uses: subosito/flutter-action@v2 with: channel: 'stable' flutter-version: '3.16.x' diff --git a/AUTHORS.md b/AUTHORS.md index cbcbda3e..5940c34d 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -23,6 +23,7 @@ - artchiee - - Tejas Bir Singh - - Abhishek Saini - +- Shey Alnasrawi - ## Translators diff --git a/README.md b/README.md index 65363582..d9f2a5b0 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,11 @@ If you want to contribute, hop on the Discord server and say hi!

- + - + - +

## Installation @@ -40,30 +40,31 @@ Alternatively, you can use the test server (the db is reset every day): ### 2 -Install Flutter, and all its dependencies, and create a new virtual device: +Install Flutter and all its dependencies, and create a new virtual device: . The app currently uses flutter 3.16 ### 3 +The application will complain about an API key not being set. You can just +ignore this during development, this is only important if you want to register +directly over the app. If you just want to login, you can skip this section. -Create a new file ``wger.properties`` in ``fastlane/metadata/envfiles/``: +If you want to register directly over the app, you need to set a user on the backend +that is allowed to do this. For this, create/register a new user, generate an api key +and run ``python3 manage.py add-user-rest theusername`` (you can later list all the +registered users with ``python3 manage.py list-users-api``). + +Then create a new file ``wger.properties`` in ``fastlane/metadata/envfiles/`` and +add the key: ```properties WGER_API_KEY=123456 ``` -On Linux and macOS, add these as environment variables, e.g. by running the `source` +Alternatively, add the key as an environment variables, e.g. by running the `source` command on the file. -To just run/develop the app it only needs to have any value for WGER_API_KEY, but -you need a correct value if you want to register via the app. For this, you need -to allow (a probably dedicated) user on the wger server to register users on its -behalf. For this, generate an API KEY by visiting -on your local instance and then run ``python3 manage.py add-user-rest the username`` - -You can later list all the registered users with: ``python3 manage.py list-users-api`` - ### 4 Start the application with ``flutter run`` or use your IDE @@ -74,7 +75,7 @@ You can run the tests with the ``flutter test`` ## Translation -Translate the app to your language on [Weblate](https://hosted.weblate.org/engage/wger/). +Translate the app to your language on [Weblate](https://hosted.weblate.org/engage/wger/). [![translation status](https://hosted.weblate.org/widgets/wger/-/mobile/multi-blue.svg)](https://hosted.weblate.org/engage/wger/) @@ -86,7 +87,7 @@ If you're not sure if something is a bug or not, feel free to file a bug anyway. * **Discord:** * **Issue tracker:** -* **Twitter:** +* **Mastodon:** ## License diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index d6807bee..34614bd6 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,4 +1,5 @@ - + - + @@ -41,6 +59,8 @@ - + \ No newline at end of file diff --git a/fastlane/metadata/android/ca/images/phoneScreenshots/01 - dashboard.png b/fastlane/metadata/android/ca/images/phoneScreenshots/01 - dashboard.png index 94309dd1..d3c5fff7 100644 Binary files a/fastlane/metadata/android/ca/images/phoneScreenshots/01 - dashboard.png and b/fastlane/metadata/android/ca/images/phoneScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/ca/images/phoneScreenshots/02 - workout detail.png b/fastlane/metadata/android/ca/images/phoneScreenshots/02 - workout detail.png index 6fe046a8..dde86efc 100644 Binary files a/fastlane/metadata/android/ca/images/phoneScreenshots/02 - workout detail.png and b/fastlane/metadata/android/ca/images/phoneScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/ca/images/phoneScreenshots/03 - gym mode.png b/fastlane/metadata/android/ca/images/phoneScreenshots/03 - gym mode.png index 35ec1a78..c4eb428c 100644 Binary files a/fastlane/metadata/android/ca/images/phoneScreenshots/03 - gym mode.png and b/fastlane/metadata/android/ca/images/phoneScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/ca/images/phoneScreenshots/04 - measurements.png b/fastlane/metadata/android/ca/images/phoneScreenshots/04 - measurements.png index ea66790e..68a85478 100644 Binary files a/fastlane/metadata/android/ca/images/phoneScreenshots/04 - measurements.png and b/fastlane/metadata/android/ca/images/phoneScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/ca/images/phoneScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/ca/images/phoneScreenshots/05 - nutritional plan.png index 05b9ff04..8099005f 100644 Binary files a/fastlane/metadata/android/ca/images/phoneScreenshots/05 - nutritional plan.png and b/fastlane/metadata/android/ca/images/phoneScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/ca/images/phoneScreenshots/06 - weight.png b/fastlane/metadata/android/ca/images/phoneScreenshots/06 - weight.png index 300a3bc3..1d519720 100644 Binary files a/fastlane/metadata/android/ca/images/phoneScreenshots/06 - weight.png and b/fastlane/metadata/android/ca/images/phoneScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/ca/images/sevenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/ca/images/sevenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..690fe5a8 Binary files /dev/null and b/fastlane/metadata/android/ca/images/sevenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/ca/images/sevenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/ca/images/sevenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..349e9b42 Binary files /dev/null and b/fastlane/metadata/android/ca/images/sevenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/ca/images/sevenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/ca/images/sevenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..9257151d Binary files /dev/null and b/fastlane/metadata/android/ca/images/sevenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/ca/images/sevenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/ca/images/sevenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..b7e91034 Binary files /dev/null and b/fastlane/metadata/android/ca/images/sevenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/ca/images/sevenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/ca/images/sevenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..a6a1750a Binary files /dev/null and b/fastlane/metadata/android/ca/images/sevenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/ca/images/sevenInchScreenshots/06 - weight.png b/fastlane/metadata/android/ca/images/sevenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..78c2bd94 Binary files /dev/null and b/fastlane/metadata/android/ca/images/sevenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/ca/images/tenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/ca/images/tenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..61372e4e Binary files /dev/null and b/fastlane/metadata/android/ca/images/tenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/ca/images/tenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/ca/images/tenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..097161f0 Binary files /dev/null and b/fastlane/metadata/android/ca/images/tenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/ca/images/tenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/ca/images/tenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..fcf79544 Binary files /dev/null and b/fastlane/metadata/android/ca/images/tenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/ca/images/tenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/ca/images/tenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..808a77bc Binary files /dev/null and b/fastlane/metadata/android/ca/images/tenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/ca/images/tenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/ca/images/tenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..34f96c72 Binary files /dev/null and b/fastlane/metadata/android/ca/images/tenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/ca/images/tenInchScreenshots/06 - weight.png b/fastlane/metadata/android/ca/images/tenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..df0b3d91 Binary files /dev/null and b/fastlane/metadata/android/ca/images/tenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/de-DE/images/phoneScreenshots/01 - dashboard.png b/fastlane/metadata/android/de-DE/images/phoneScreenshots/01 - dashboard.png index 83bef4fd..bf3a8ece 100644 Binary files a/fastlane/metadata/android/de-DE/images/phoneScreenshots/01 - dashboard.png and b/fastlane/metadata/android/de-DE/images/phoneScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/de-DE/images/phoneScreenshots/02 - workout detail.png b/fastlane/metadata/android/de-DE/images/phoneScreenshots/02 - workout detail.png index f30bdc39..070220ea 100644 Binary files a/fastlane/metadata/android/de-DE/images/phoneScreenshots/02 - workout detail.png and b/fastlane/metadata/android/de-DE/images/phoneScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/de-DE/images/phoneScreenshots/03 - gym mode.png b/fastlane/metadata/android/de-DE/images/phoneScreenshots/03 - gym mode.png index 99cf8bb4..d3ecec56 100644 Binary files a/fastlane/metadata/android/de-DE/images/phoneScreenshots/03 - gym mode.png and b/fastlane/metadata/android/de-DE/images/phoneScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/de-DE/images/phoneScreenshots/04 - measurements.png b/fastlane/metadata/android/de-DE/images/phoneScreenshots/04 - measurements.png index 095bc9ce..36e3161d 100644 Binary files a/fastlane/metadata/android/de-DE/images/phoneScreenshots/04 - measurements.png and b/fastlane/metadata/android/de-DE/images/phoneScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/de-DE/images/phoneScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/de-DE/images/phoneScreenshots/05 - nutritional plan.png index 01df4c80..ad569028 100644 Binary files a/fastlane/metadata/android/de-DE/images/phoneScreenshots/05 - nutritional plan.png and b/fastlane/metadata/android/de-DE/images/phoneScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/de-DE/images/phoneScreenshots/06 - weight.png b/fastlane/metadata/android/de-DE/images/phoneScreenshots/06 - weight.png index 53dd59d2..681bbb0a 100644 Binary files a/fastlane/metadata/android/de-DE/images/phoneScreenshots/06 - weight.png and b/fastlane/metadata/android/de-DE/images/phoneScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/de-DE/images/sevenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/de-DE/images/sevenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..a0103c6d Binary files /dev/null and b/fastlane/metadata/android/de-DE/images/sevenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/de-DE/images/sevenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/de-DE/images/sevenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..aee43bfe Binary files /dev/null and b/fastlane/metadata/android/de-DE/images/sevenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/de-DE/images/sevenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/de-DE/images/sevenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..d237a1a4 Binary files /dev/null and b/fastlane/metadata/android/de-DE/images/sevenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/de-DE/images/sevenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/de-DE/images/sevenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..b5450fa2 Binary files /dev/null and b/fastlane/metadata/android/de-DE/images/sevenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/de-DE/images/sevenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/de-DE/images/sevenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..560568d2 Binary files /dev/null and b/fastlane/metadata/android/de-DE/images/sevenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/de-DE/images/sevenInchScreenshots/06 - weight.png b/fastlane/metadata/android/de-DE/images/sevenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..ddf39bbf Binary files /dev/null and b/fastlane/metadata/android/de-DE/images/sevenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/de-DE/images/tenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/de-DE/images/tenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..947f780a Binary files /dev/null and b/fastlane/metadata/android/de-DE/images/tenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/de-DE/images/tenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/de-DE/images/tenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..6b5d1bb9 Binary files /dev/null and b/fastlane/metadata/android/de-DE/images/tenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/de-DE/images/tenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/de-DE/images/tenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..7daa84e7 Binary files /dev/null and b/fastlane/metadata/android/de-DE/images/tenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/de-DE/images/tenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/de-DE/images/tenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..c85c18e4 Binary files /dev/null and b/fastlane/metadata/android/de-DE/images/tenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/de-DE/images/tenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/de-DE/images/tenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..681db0c8 Binary files /dev/null and b/fastlane/metadata/android/de-DE/images/tenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/de-DE/images/tenInchScreenshots/06 - weight.png b/fastlane/metadata/android/de-DE/images/tenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..059aa620 Binary files /dev/null and b/fastlane/metadata/android/de-DE/images/tenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/01 - dashboard.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/01 - dashboard.png index 591f9586..9a646423 100644 Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/01 - dashboard.png and b/fastlane/metadata/android/en-US/images/phoneScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/02 - workout detail.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/02 - workout detail.png index d4052db6..4f099a13 100644 Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/02 - workout detail.png and b/fastlane/metadata/android/en-US/images/phoneScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/03 - gym mode.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/03 - gym mode.png index 51c15478..9bcf025e 100644 Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/03 - gym mode.png and b/fastlane/metadata/android/en-US/images/phoneScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/04 - measurements.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/04 - measurements.png index 2dda6a27..f92f0292 100644 Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/04 - measurements.png and b/fastlane/metadata/android/en-US/images/phoneScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/05 - nutritional plan.png index 7d20ebc9..dfdd5f79 100644 Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/05 - nutritional plan.png and b/fastlane/metadata/android/en-US/images/phoneScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/06 - weight.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/06 - weight.png index b69cf093..174f3078 100644 Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/06 - weight.png and b/fastlane/metadata/android/en-US/images/phoneScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/en-US/images/sevenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..40b9ec05 Binary files /dev/null and b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/en-US/images/sevenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..add60e31 Binary files /dev/null and b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/en-US/images/sevenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..770e5459 Binary files /dev/null and b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/en-US/images/sevenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..fd6bf52f Binary files /dev/null and b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/en-US/images/sevenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..fb31aebf Binary files /dev/null and b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/en-US/images/sevenInchScreenshots/06 - weight.png b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..6e094295 Binary files /dev/null and b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/en-US/images/tenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/en-US/images/tenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..c2d8c6d9 Binary files /dev/null and b/fastlane/metadata/android/en-US/images/tenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/en-US/images/tenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/en-US/images/tenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..1846b51e Binary files /dev/null and b/fastlane/metadata/android/en-US/images/tenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/en-US/images/tenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/en-US/images/tenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..d2c1e70b Binary files /dev/null and b/fastlane/metadata/android/en-US/images/tenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/en-US/images/tenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/en-US/images/tenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..99e2fad8 Binary files /dev/null and b/fastlane/metadata/android/en-US/images/tenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/en-US/images/tenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/en-US/images/tenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..d9b2dcfe Binary files /dev/null and b/fastlane/metadata/android/en-US/images/tenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/en-US/images/tenInchScreenshots/06 - weight.png b/fastlane/metadata/android/en-US/images/tenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..8e56083e Binary files /dev/null and b/fastlane/metadata/android/en-US/images/tenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/es-ES/images/phoneScreenshots/01 - dashboard.png b/fastlane/metadata/android/es-ES/images/phoneScreenshots/01 - dashboard.png index a7707302..0e2fab9a 100644 Binary files a/fastlane/metadata/android/es-ES/images/phoneScreenshots/01 - dashboard.png and b/fastlane/metadata/android/es-ES/images/phoneScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/es-ES/images/phoneScreenshots/02 - workout detail.png b/fastlane/metadata/android/es-ES/images/phoneScreenshots/02 - workout detail.png index e3b438f6..19053690 100644 Binary files a/fastlane/metadata/android/es-ES/images/phoneScreenshots/02 - workout detail.png and b/fastlane/metadata/android/es-ES/images/phoneScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/es-ES/images/phoneScreenshots/03 - gym mode.png b/fastlane/metadata/android/es-ES/images/phoneScreenshots/03 - gym mode.png index 1318ae44..0245db19 100644 Binary files a/fastlane/metadata/android/es-ES/images/phoneScreenshots/03 - gym mode.png and b/fastlane/metadata/android/es-ES/images/phoneScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/es-ES/images/phoneScreenshots/04 - measurements.png b/fastlane/metadata/android/es-ES/images/phoneScreenshots/04 - measurements.png index e6b10d46..e21483d2 100644 Binary files a/fastlane/metadata/android/es-ES/images/phoneScreenshots/04 - measurements.png and b/fastlane/metadata/android/es-ES/images/phoneScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/es-ES/images/phoneScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/es-ES/images/phoneScreenshots/05 - nutritional plan.png index 76fd0663..c830d563 100644 Binary files a/fastlane/metadata/android/es-ES/images/phoneScreenshots/05 - nutritional plan.png and b/fastlane/metadata/android/es-ES/images/phoneScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/es-ES/images/phoneScreenshots/06 - weight.png b/fastlane/metadata/android/es-ES/images/phoneScreenshots/06 - weight.png index d5113515..2f0a7937 100644 Binary files a/fastlane/metadata/android/es-ES/images/phoneScreenshots/06 - weight.png and b/fastlane/metadata/android/es-ES/images/phoneScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/es-ES/images/sevenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/es-ES/images/sevenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..52a3c6f4 Binary files /dev/null and b/fastlane/metadata/android/es-ES/images/sevenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/es-ES/images/sevenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/es-ES/images/sevenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..ded495fb Binary files /dev/null and b/fastlane/metadata/android/es-ES/images/sevenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/es-ES/images/sevenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/es-ES/images/sevenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..24b74ffd Binary files /dev/null and b/fastlane/metadata/android/es-ES/images/sevenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/es-ES/images/sevenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/es-ES/images/sevenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..5f7d3685 Binary files /dev/null and b/fastlane/metadata/android/es-ES/images/sevenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/es-ES/images/sevenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/es-ES/images/sevenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..38721dc6 Binary files /dev/null and b/fastlane/metadata/android/es-ES/images/sevenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/es-ES/images/sevenInchScreenshots/06 - weight.png b/fastlane/metadata/android/es-ES/images/sevenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..279003c4 Binary files /dev/null and b/fastlane/metadata/android/es-ES/images/sevenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/es-ES/images/tenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/es-ES/images/tenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..8b7205e0 Binary files /dev/null and b/fastlane/metadata/android/es-ES/images/tenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/es-ES/images/tenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/es-ES/images/tenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..5db7020d Binary files /dev/null and b/fastlane/metadata/android/es-ES/images/tenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/es-ES/images/tenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/es-ES/images/tenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..7f044e3a Binary files /dev/null and b/fastlane/metadata/android/es-ES/images/tenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/es-ES/images/tenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/es-ES/images/tenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..959c6b1e Binary files /dev/null and b/fastlane/metadata/android/es-ES/images/tenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/es-ES/images/tenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/es-ES/images/tenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..1d4e48a3 Binary files /dev/null and b/fastlane/metadata/android/es-ES/images/tenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/es-ES/images/tenInchScreenshots/06 - weight.png b/fastlane/metadata/android/es-ES/images/tenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..75c398c7 Binary files /dev/null and b/fastlane/metadata/android/es-ES/images/tenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/fr-FR/images/phoneScreenshots/01 - dashboard.png b/fastlane/metadata/android/fr-FR/images/phoneScreenshots/01 - dashboard.png index 1911c4b9..614385a7 100644 Binary files a/fastlane/metadata/android/fr-FR/images/phoneScreenshots/01 - dashboard.png and b/fastlane/metadata/android/fr-FR/images/phoneScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/fr-FR/images/phoneScreenshots/02 - workout detail.png b/fastlane/metadata/android/fr-FR/images/phoneScreenshots/02 - workout detail.png index 09ba2e03..f196593a 100644 Binary files a/fastlane/metadata/android/fr-FR/images/phoneScreenshots/02 - workout detail.png and b/fastlane/metadata/android/fr-FR/images/phoneScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/fr-FR/images/phoneScreenshots/03 - gym mode.png b/fastlane/metadata/android/fr-FR/images/phoneScreenshots/03 - gym mode.png index e53727fa..7de86c3f 100644 Binary files a/fastlane/metadata/android/fr-FR/images/phoneScreenshots/03 - gym mode.png and b/fastlane/metadata/android/fr-FR/images/phoneScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/fr-FR/images/phoneScreenshots/04 - measurements.png b/fastlane/metadata/android/fr-FR/images/phoneScreenshots/04 - measurements.png index a6362781..b0f61a0c 100644 Binary files a/fastlane/metadata/android/fr-FR/images/phoneScreenshots/04 - measurements.png and b/fastlane/metadata/android/fr-FR/images/phoneScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/fr-FR/images/phoneScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/fr-FR/images/phoneScreenshots/05 - nutritional plan.png index 2f3af904..9b856c1a 100644 Binary files a/fastlane/metadata/android/fr-FR/images/phoneScreenshots/05 - nutritional plan.png and b/fastlane/metadata/android/fr-FR/images/phoneScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/fr-FR/images/phoneScreenshots/06 - weight.png b/fastlane/metadata/android/fr-FR/images/phoneScreenshots/06 - weight.png index 93028889..a90d5f75 100644 Binary files a/fastlane/metadata/android/fr-FR/images/phoneScreenshots/06 - weight.png and b/fastlane/metadata/android/fr-FR/images/phoneScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/fr-FR/images/sevenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/fr-FR/images/sevenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..9e7229dc Binary files /dev/null and b/fastlane/metadata/android/fr-FR/images/sevenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/fr-FR/images/sevenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/fr-FR/images/sevenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..33789a85 Binary files /dev/null and b/fastlane/metadata/android/fr-FR/images/sevenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/fr-FR/images/sevenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/fr-FR/images/sevenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..37e2fab1 Binary files /dev/null and b/fastlane/metadata/android/fr-FR/images/sevenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/fr-FR/images/sevenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/fr-FR/images/sevenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..964c4154 Binary files /dev/null and b/fastlane/metadata/android/fr-FR/images/sevenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/fr-FR/images/sevenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/fr-FR/images/sevenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..13bce3a8 Binary files /dev/null and b/fastlane/metadata/android/fr-FR/images/sevenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/fr-FR/images/sevenInchScreenshots/06 - weight.png b/fastlane/metadata/android/fr-FR/images/sevenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..8f25ea65 Binary files /dev/null and b/fastlane/metadata/android/fr-FR/images/sevenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/fr-FR/images/tenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/fr-FR/images/tenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..5a2065f0 Binary files /dev/null and b/fastlane/metadata/android/fr-FR/images/tenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/fr-FR/images/tenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/fr-FR/images/tenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..9fbea689 Binary files /dev/null and b/fastlane/metadata/android/fr-FR/images/tenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/fr-FR/images/tenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/fr-FR/images/tenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..f5f2f355 Binary files /dev/null and b/fastlane/metadata/android/fr-FR/images/tenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/fr-FR/images/tenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/fr-FR/images/tenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..b907f735 Binary files /dev/null and b/fastlane/metadata/android/fr-FR/images/tenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/fr-FR/images/tenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/fr-FR/images/tenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..17e487cf Binary files /dev/null and b/fastlane/metadata/android/fr-FR/images/tenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/fr-FR/images/tenInchScreenshots/06 - weight.png b/fastlane/metadata/android/fr-FR/images/tenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..1bd13e2c Binary files /dev/null and b/fastlane/metadata/android/fr-FR/images/tenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/hi-IN/images/phoneScreenshots/01 - dashboard.png b/fastlane/metadata/android/hi-IN/images/phoneScreenshots/01 - dashboard.png index 44a8673b..6424a776 100644 Binary files a/fastlane/metadata/android/hi-IN/images/phoneScreenshots/01 - dashboard.png and b/fastlane/metadata/android/hi-IN/images/phoneScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/hi-IN/images/phoneScreenshots/02 - workout detail.png b/fastlane/metadata/android/hi-IN/images/phoneScreenshots/02 - workout detail.png index de389b19..53633b50 100644 Binary files a/fastlane/metadata/android/hi-IN/images/phoneScreenshots/02 - workout detail.png and b/fastlane/metadata/android/hi-IN/images/phoneScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/hi-IN/images/phoneScreenshots/03 - gym mode.png b/fastlane/metadata/android/hi-IN/images/phoneScreenshots/03 - gym mode.png index 66d765a5..556e8d9f 100644 Binary files a/fastlane/metadata/android/hi-IN/images/phoneScreenshots/03 - gym mode.png and b/fastlane/metadata/android/hi-IN/images/phoneScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/hi-IN/images/phoneScreenshots/04 - measurements.png b/fastlane/metadata/android/hi-IN/images/phoneScreenshots/04 - measurements.png index 3fe6d6ab..37fe29b1 100644 Binary files a/fastlane/metadata/android/hi-IN/images/phoneScreenshots/04 - measurements.png and b/fastlane/metadata/android/hi-IN/images/phoneScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/hi-IN/images/phoneScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/hi-IN/images/phoneScreenshots/05 - nutritional plan.png index 60a06e73..fade0968 100644 Binary files a/fastlane/metadata/android/hi-IN/images/phoneScreenshots/05 - nutritional plan.png and b/fastlane/metadata/android/hi-IN/images/phoneScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/hi-IN/images/phoneScreenshots/06 - weight.png b/fastlane/metadata/android/hi-IN/images/phoneScreenshots/06 - weight.png index e385f67c..6fc7b59d 100644 Binary files a/fastlane/metadata/android/hi-IN/images/phoneScreenshots/06 - weight.png and b/fastlane/metadata/android/hi-IN/images/phoneScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/hi-IN/images/sevenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/hi-IN/images/sevenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..3465e5ff Binary files /dev/null and b/fastlane/metadata/android/hi-IN/images/sevenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/hi-IN/images/sevenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/hi-IN/images/sevenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..b2ab879f Binary files /dev/null and b/fastlane/metadata/android/hi-IN/images/sevenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/hi-IN/images/sevenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/hi-IN/images/sevenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..632b5e75 Binary files /dev/null and b/fastlane/metadata/android/hi-IN/images/sevenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/hi-IN/images/sevenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/hi-IN/images/sevenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..38c60920 Binary files /dev/null and b/fastlane/metadata/android/hi-IN/images/sevenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/hi-IN/images/sevenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/hi-IN/images/sevenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..e9a8be50 Binary files /dev/null and b/fastlane/metadata/android/hi-IN/images/sevenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/hi-IN/images/sevenInchScreenshots/06 - weight.png b/fastlane/metadata/android/hi-IN/images/sevenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..2e92219b Binary files /dev/null and b/fastlane/metadata/android/hi-IN/images/sevenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/hi-IN/images/tenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/hi-IN/images/tenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..186619e3 Binary files /dev/null and b/fastlane/metadata/android/hi-IN/images/tenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/hi-IN/images/tenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/hi-IN/images/tenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..e64e6696 Binary files /dev/null and b/fastlane/metadata/android/hi-IN/images/tenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/hi-IN/images/tenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/hi-IN/images/tenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..f6b42328 Binary files /dev/null and b/fastlane/metadata/android/hi-IN/images/tenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/hi-IN/images/tenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/hi-IN/images/tenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..1d886453 Binary files /dev/null and b/fastlane/metadata/android/hi-IN/images/tenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/hi-IN/images/tenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/hi-IN/images/tenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..bbe6b5af Binary files /dev/null and b/fastlane/metadata/android/hi-IN/images/tenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/hi-IN/images/tenInchScreenshots/06 - weight.png b/fastlane/metadata/android/hi-IN/images/tenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..efaa837e Binary files /dev/null and b/fastlane/metadata/android/hi-IN/images/tenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/hr/images/phoneScreenshots/01 - dashboard.png b/fastlane/metadata/android/hr/images/phoneScreenshots/01 - dashboard.png index 0ca52983..610e9b17 100644 Binary files a/fastlane/metadata/android/hr/images/phoneScreenshots/01 - dashboard.png and b/fastlane/metadata/android/hr/images/phoneScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/hr/images/phoneScreenshots/02 - workout detail.png b/fastlane/metadata/android/hr/images/phoneScreenshots/02 - workout detail.png index 9ef5d174..83ed0bab 100644 Binary files a/fastlane/metadata/android/hr/images/phoneScreenshots/02 - workout detail.png and b/fastlane/metadata/android/hr/images/phoneScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/hr/images/phoneScreenshots/03 - gym mode.png b/fastlane/metadata/android/hr/images/phoneScreenshots/03 - gym mode.png index 98ac1539..4483d31a 100644 Binary files a/fastlane/metadata/android/hr/images/phoneScreenshots/03 - gym mode.png and b/fastlane/metadata/android/hr/images/phoneScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/hr/images/phoneScreenshots/04 - measurements.png b/fastlane/metadata/android/hr/images/phoneScreenshots/04 - measurements.png index 88ee313b..043b8d8b 100644 Binary files a/fastlane/metadata/android/hr/images/phoneScreenshots/04 - measurements.png and b/fastlane/metadata/android/hr/images/phoneScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/hr/images/phoneScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/hr/images/phoneScreenshots/05 - nutritional plan.png index cf64316d..64a4cb30 100644 Binary files a/fastlane/metadata/android/hr/images/phoneScreenshots/05 - nutritional plan.png and b/fastlane/metadata/android/hr/images/phoneScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/hr/images/phoneScreenshots/06 - weight.png b/fastlane/metadata/android/hr/images/phoneScreenshots/06 - weight.png index d9ab24d9..56f2f84f 100644 Binary files a/fastlane/metadata/android/hr/images/phoneScreenshots/06 - weight.png and b/fastlane/metadata/android/hr/images/phoneScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/hr/images/sevenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/hr/images/sevenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..f56b0ecc Binary files /dev/null and b/fastlane/metadata/android/hr/images/sevenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/hr/images/sevenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/hr/images/sevenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..66cb4756 Binary files /dev/null and b/fastlane/metadata/android/hr/images/sevenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/hr/images/sevenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/hr/images/sevenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..2e462de2 Binary files /dev/null and b/fastlane/metadata/android/hr/images/sevenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/hr/images/sevenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/hr/images/sevenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..e8d1780c Binary files /dev/null and b/fastlane/metadata/android/hr/images/sevenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/hr/images/sevenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/hr/images/sevenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..002b78dc Binary files /dev/null and b/fastlane/metadata/android/hr/images/sevenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/hr/images/sevenInchScreenshots/06 - weight.png b/fastlane/metadata/android/hr/images/sevenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..6460f4db Binary files /dev/null and b/fastlane/metadata/android/hr/images/sevenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/hr/images/tenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/hr/images/tenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..a9af66e5 Binary files /dev/null and b/fastlane/metadata/android/hr/images/tenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/hr/images/tenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/hr/images/tenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..089e1559 Binary files /dev/null and b/fastlane/metadata/android/hr/images/tenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/hr/images/tenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/hr/images/tenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..2addbe6e Binary files /dev/null and b/fastlane/metadata/android/hr/images/tenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/hr/images/tenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/hr/images/tenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..f1a56388 Binary files /dev/null and b/fastlane/metadata/android/hr/images/tenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/hr/images/tenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/hr/images/tenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..89e57d23 Binary files /dev/null and b/fastlane/metadata/android/hr/images/tenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/hr/images/tenInchScreenshots/06 - weight.png b/fastlane/metadata/android/hr/images/tenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..37fe0afa Binary files /dev/null and b/fastlane/metadata/android/hr/images/tenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/it-IT/images/phoneScreenshots/01 - dashboard.png b/fastlane/metadata/android/it-IT/images/phoneScreenshots/01 - dashboard.png index bab882df..96369bd3 100644 Binary files a/fastlane/metadata/android/it-IT/images/phoneScreenshots/01 - dashboard.png and b/fastlane/metadata/android/it-IT/images/phoneScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/it-IT/images/phoneScreenshots/02 - workout detail.png b/fastlane/metadata/android/it-IT/images/phoneScreenshots/02 - workout detail.png index 77362ce1..559cc831 100644 Binary files a/fastlane/metadata/android/it-IT/images/phoneScreenshots/02 - workout detail.png and b/fastlane/metadata/android/it-IT/images/phoneScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/it-IT/images/phoneScreenshots/03 - gym mode.png b/fastlane/metadata/android/it-IT/images/phoneScreenshots/03 - gym mode.png index 1968f99e..f7cb9e10 100644 Binary files a/fastlane/metadata/android/it-IT/images/phoneScreenshots/03 - gym mode.png and b/fastlane/metadata/android/it-IT/images/phoneScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/it-IT/images/phoneScreenshots/04 - measurements.png b/fastlane/metadata/android/it-IT/images/phoneScreenshots/04 - measurements.png index 23c993e8..0a6f75bf 100644 Binary files a/fastlane/metadata/android/it-IT/images/phoneScreenshots/04 - measurements.png and b/fastlane/metadata/android/it-IT/images/phoneScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/it-IT/images/phoneScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/it-IT/images/phoneScreenshots/05 - nutritional plan.png index ec303fcd..ee0d5a46 100644 Binary files a/fastlane/metadata/android/it-IT/images/phoneScreenshots/05 - nutritional plan.png and b/fastlane/metadata/android/it-IT/images/phoneScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/it-IT/images/phoneScreenshots/06 - weight.png b/fastlane/metadata/android/it-IT/images/phoneScreenshots/06 - weight.png index 3e732250..009444be 100644 Binary files a/fastlane/metadata/android/it-IT/images/phoneScreenshots/06 - weight.png and b/fastlane/metadata/android/it-IT/images/phoneScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/it-IT/images/sevenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/it-IT/images/sevenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..b6a27188 Binary files /dev/null and b/fastlane/metadata/android/it-IT/images/sevenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/it-IT/images/sevenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/it-IT/images/sevenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..b6d75c9d Binary files /dev/null and b/fastlane/metadata/android/it-IT/images/sevenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/it-IT/images/sevenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/it-IT/images/sevenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..731d8401 Binary files /dev/null and b/fastlane/metadata/android/it-IT/images/sevenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/it-IT/images/sevenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/it-IT/images/sevenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..dbfddde9 Binary files /dev/null and b/fastlane/metadata/android/it-IT/images/sevenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/it-IT/images/sevenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/it-IT/images/sevenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..7a882010 Binary files /dev/null and b/fastlane/metadata/android/it-IT/images/sevenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/it-IT/images/sevenInchScreenshots/06 - weight.png b/fastlane/metadata/android/it-IT/images/sevenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..e76ca3c5 Binary files /dev/null and b/fastlane/metadata/android/it-IT/images/sevenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/it-IT/images/tenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/it-IT/images/tenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..5aba2d21 Binary files /dev/null and b/fastlane/metadata/android/it-IT/images/tenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/it-IT/images/tenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/it-IT/images/tenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..7252a3e5 Binary files /dev/null and b/fastlane/metadata/android/it-IT/images/tenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/it-IT/images/tenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/it-IT/images/tenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..d452dd63 Binary files /dev/null and b/fastlane/metadata/android/it-IT/images/tenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/it-IT/images/tenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/it-IT/images/tenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..7030caaa Binary files /dev/null and b/fastlane/metadata/android/it-IT/images/tenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/it-IT/images/tenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/it-IT/images/tenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..683286a3 Binary files /dev/null and b/fastlane/metadata/android/it-IT/images/tenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/it-IT/images/tenInchScreenshots/06 - weight.png b/fastlane/metadata/android/it-IT/images/tenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..b0e9a213 Binary files /dev/null and b/fastlane/metadata/android/it-IT/images/tenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/nb-NO/images/phoneScreenshots/01 - dashboard.png b/fastlane/metadata/android/nb-NO/images/phoneScreenshots/01 - dashboard.png index 23bbd7ca..48e04cfd 100644 Binary files a/fastlane/metadata/android/nb-NO/images/phoneScreenshots/01 - dashboard.png and b/fastlane/metadata/android/nb-NO/images/phoneScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/nb-NO/images/phoneScreenshots/02 - workout detail.png b/fastlane/metadata/android/nb-NO/images/phoneScreenshots/02 - workout detail.png index a31ea7f4..d374796c 100644 Binary files a/fastlane/metadata/android/nb-NO/images/phoneScreenshots/02 - workout detail.png and b/fastlane/metadata/android/nb-NO/images/phoneScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/nb-NO/images/phoneScreenshots/03 - gym mode.png b/fastlane/metadata/android/nb-NO/images/phoneScreenshots/03 - gym mode.png index 51c15478..9190a4de 100644 Binary files a/fastlane/metadata/android/nb-NO/images/phoneScreenshots/03 - gym mode.png and b/fastlane/metadata/android/nb-NO/images/phoneScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/nb-NO/images/phoneScreenshots/04 - measurements.png b/fastlane/metadata/android/nb-NO/images/phoneScreenshots/04 - measurements.png index 7961aab6..4a986a80 100644 Binary files a/fastlane/metadata/android/nb-NO/images/phoneScreenshots/04 - measurements.png and b/fastlane/metadata/android/nb-NO/images/phoneScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/nb-NO/images/phoneScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/nb-NO/images/phoneScreenshots/05 - nutritional plan.png index 4998bf60..56d3b93f 100644 Binary files a/fastlane/metadata/android/nb-NO/images/phoneScreenshots/05 - nutritional plan.png and b/fastlane/metadata/android/nb-NO/images/phoneScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/nb-NO/images/phoneScreenshots/06 - weight.png b/fastlane/metadata/android/nb-NO/images/phoneScreenshots/06 - weight.png index 190b52cd..4980efb8 100644 Binary files a/fastlane/metadata/android/nb-NO/images/phoneScreenshots/06 - weight.png and b/fastlane/metadata/android/nb-NO/images/phoneScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/nb-NO/images/sevenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/nb-NO/images/sevenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..ef9fd349 Binary files /dev/null and b/fastlane/metadata/android/nb-NO/images/sevenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/nb-NO/images/sevenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/nb-NO/images/sevenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..fc08a1be Binary files /dev/null and b/fastlane/metadata/android/nb-NO/images/sevenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/nb-NO/images/sevenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/nb-NO/images/sevenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..770e5459 Binary files /dev/null and b/fastlane/metadata/android/nb-NO/images/sevenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/nb-NO/images/sevenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/nb-NO/images/sevenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..447e0fca Binary files /dev/null and b/fastlane/metadata/android/nb-NO/images/sevenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/nb-NO/images/sevenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/nb-NO/images/sevenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..cb233157 Binary files /dev/null and b/fastlane/metadata/android/nb-NO/images/sevenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/nb-NO/images/sevenInchScreenshots/06 - weight.png b/fastlane/metadata/android/nb-NO/images/sevenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..8d04d489 Binary files /dev/null and b/fastlane/metadata/android/nb-NO/images/sevenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/nb-NO/images/tenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/nb-NO/images/tenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..850463cf Binary files /dev/null and b/fastlane/metadata/android/nb-NO/images/tenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/nb-NO/images/tenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/nb-NO/images/tenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..b7af8d5a Binary files /dev/null and b/fastlane/metadata/android/nb-NO/images/tenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/nb-NO/images/tenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/nb-NO/images/tenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..d2c1e70b Binary files /dev/null and b/fastlane/metadata/android/nb-NO/images/tenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/nb-NO/images/tenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/nb-NO/images/tenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..48ab7797 Binary files /dev/null and b/fastlane/metadata/android/nb-NO/images/tenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/nb-NO/images/tenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/nb-NO/images/tenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..6b49ea40 Binary files /dev/null and b/fastlane/metadata/android/nb-NO/images/tenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/nb-NO/images/tenInchScreenshots/06 - weight.png b/fastlane/metadata/android/nb-NO/images/tenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..86e9bd1f Binary files /dev/null and b/fastlane/metadata/android/nb-NO/images/tenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/pl-PL/images/phoneScreenshots/01 - dashboard.png b/fastlane/metadata/android/pl-PL/images/phoneScreenshots/01 - dashboard.png index 8083a3e9..1cd483b5 100644 Binary files a/fastlane/metadata/android/pl-PL/images/phoneScreenshots/01 - dashboard.png and b/fastlane/metadata/android/pl-PL/images/phoneScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/pl-PL/images/phoneScreenshots/02 - workout detail.png b/fastlane/metadata/android/pl-PL/images/phoneScreenshots/02 - workout detail.png index 2d881923..819a449a 100644 Binary files a/fastlane/metadata/android/pl-PL/images/phoneScreenshots/02 - workout detail.png and b/fastlane/metadata/android/pl-PL/images/phoneScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/pl-PL/images/phoneScreenshots/03 - gym mode.png b/fastlane/metadata/android/pl-PL/images/phoneScreenshots/03 - gym mode.png index 47882b26..be469d83 100644 Binary files a/fastlane/metadata/android/pl-PL/images/phoneScreenshots/03 - gym mode.png and b/fastlane/metadata/android/pl-PL/images/phoneScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/pl-PL/images/phoneScreenshots/04 - measurements.png b/fastlane/metadata/android/pl-PL/images/phoneScreenshots/04 - measurements.png index a7938297..a5116383 100644 Binary files a/fastlane/metadata/android/pl-PL/images/phoneScreenshots/04 - measurements.png and b/fastlane/metadata/android/pl-PL/images/phoneScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/pl-PL/images/phoneScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/pl-PL/images/phoneScreenshots/05 - nutritional plan.png index cdef0d8a..617c5e0c 100644 Binary files a/fastlane/metadata/android/pl-PL/images/phoneScreenshots/05 - nutritional plan.png and b/fastlane/metadata/android/pl-PL/images/phoneScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/pl-PL/images/phoneScreenshots/06 - weight.png b/fastlane/metadata/android/pl-PL/images/phoneScreenshots/06 - weight.png index 222bc3e3..11dbaefe 100644 Binary files a/fastlane/metadata/android/pl-PL/images/phoneScreenshots/06 - weight.png and b/fastlane/metadata/android/pl-PL/images/phoneScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/pl-PL/images/sevenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/pl-PL/images/sevenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..3aee38db Binary files /dev/null and b/fastlane/metadata/android/pl-PL/images/sevenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/pl-PL/images/sevenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/pl-PL/images/sevenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..2a5da2c5 Binary files /dev/null and b/fastlane/metadata/android/pl-PL/images/sevenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/pl-PL/images/sevenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/pl-PL/images/sevenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..bbde75f0 Binary files /dev/null and b/fastlane/metadata/android/pl-PL/images/sevenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/pl-PL/images/sevenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/pl-PL/images/sevenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..a25cee0d Binary files /dev/null and b/fastlane/metadata/android/pl-PL/images/sevenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/pl-PL/images/sevenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/pl-PL/images/sevenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..6ab4597c Binary files /dev/null and b/fastlane/metadata/android/pl-PL/images/sevenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/pl-PL/images/sevenInchScreenshots/06 - weight.png b/fastlane/metadata/android/pl-PL/images/sevenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..bbeafd54 Binary files /dev/null and b/fastlane/metadata/android/pl-PL/images/sevenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/pl-PL/images/tenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/pl-PL/images/tenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..d835451c Binary files /dev/null and b/fastlane/metadata/android/pl-PL/images/tenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/pl-PL/images/tenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/pl-PL/images/tenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..9f9780c5 Binary files /dev/null and b/fastlane/metadata/android/pl-PL/images/tenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/pl-PL/images/tenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/pl-PL/images/tenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..e3400420 Binary files /dev/null and b/fastlane/metadata/android/pl-PL/images/tenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/pl-PL/images/tenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/pl-PL/images/tenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..81fef6e7 Binary files /dev/null and b/fastlane/metadata/android/pl-PL/images/tenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/pl-PL/images/tenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/pl-PL/images/tenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..1eb5b30d Binary files /dev/null and b/fastlane/metadata/android/pl-PL/images/tenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/pl-PL/images/tenInchScreenshots/06 - weight.png b/fastlane/metadata/android/pl-PL/images/tenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..aeeb6557 Binary files /dev/null and b/fastlane/metadata/android/pl-PL/images/tenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/pt-BR/images/phoneScreenshots/01 - dashboard.png b/fastlane/metadata/android/pt-BR/images/phoneScreenshots/01 - dashboard.png index c5a2f9ae..71e6f369 100644 Binary files a/fastlane/metadata/android/pt-BR/images/phoneScreenshots/01 - dashboard.png and b/fastlane/metadata/android/pt-BR/images/phoneScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/pt-BR/images/phoneScreenshots/02 - workout detail.png b/fastlane/metadata/android/pt-BR/images/phoneScreenshots/02 - workout detail.png index e12183f3..ca0e53e9 100644 Binary files a/fastlane/metadata/android/pt-BR/images/phoneScreenshots/02 - workout detail.png and b/fastlane/metadata/android/pt-BR/images/phoneScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/pt-BR/images/phoneScreenshots/03 - gym mode.png b/fastlane/metadata/android/pt-BR/images/phoneScreenshots/03 - gym mode.png index 0a8b7518..b64be4fb 100644 Binary files a/fastlane/metadata/android/pt-BR/images/phoneScreenshots/03 - gym mode.png and b/fastlane/metadata/android/pt-BR/images/phoneScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/pt-BR/images/phoneScreenshots/04 - measurements.png b/fastlane/metadata/android/pt-BR/images/phoneScreenshots/04 - measurements.png index e8313ee7..9b54dad2 100644 Binary files a/fastlane/metadata/android/pt-BR/images/phoneScreenshots/04 - measurements.png and b/fastlane/metadata/android/pt-BR/images/phoneScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/pt-BR/images/phoneScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/pt-BR/images/phoneScreenshots/05 - nutritional plan.png index a5dd947d..1d8b4471 100644 Binary files a/fastlane/metadata/android/pt-BR/images/phoneScreenshots/05 - nutritional plan.png and b/fastlane/metadata/android/pt-BR/images/phoneScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/pt-BR/images/phoneScreenshots/06 - weight.png b/fastlane/metadata/android/pt-BR/images/phoneScreenshots/06 - weight.png index e048908a..dd836bdd 100644 Binary files a/fastlane/metadata/android/pt-BR/images/phoneScreenshots/06 - weight.png and b/fastlane/metadata/android/pt-BR/images/phoneScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/pt-BR/images/sevenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/pt-BR/images/sevenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..0333960e Binary files /dev/null and b/fastlane/metadata/android/pt-BR/images/sevenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/pt-BR/images/sevenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/pt-BR/images/sevenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..f9c55d81 Binary files /dev/null and b/fastlane/metadata/android/pt-BR/images/sevenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/pt-BR/images/sevenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/pt-BR/images/sevenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..c48dd8ab Binary files /dev/null and b/fastlane/metadata/android/pt-BR/images/sevenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/pt-BR/images/sevenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/pt-BR/images/sevenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..82ba504b Binary files /dev/null and b/fastlane/metadata/android/pt-BR/images/sevenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/pt-BR/images/sevenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/pt-BR/images/sevenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..9575adb7 Binary files /dev/null and b/fastlane/metadata/android/pt-BR/images/sevenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/pt-BR/images/sevenInchScreenshots/06 - weight.png b/fastlane/metadata/android/pt-BR/images/sevenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..9540c7eb Binary files /dev/null and b/fastlane/metadata/android/pt-BR/images/sevenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/pt-BR/images/tenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/pt-BR/images/tenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..b194ca8b Binary files /dev/null and b/fastlane/metadata/android/pt-BR/images/tenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/pt-BR/images/tenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/pt-BR/images/tenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..947e9d54 Binary files /dev/null and b/fastlane/metadata/android/pt-BR/images/tenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/pt-BR/images/tenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/pt-BR/images/tenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..b5a9b512 Binary files /dev/null and b/fastlane/metadata/android/pt-BR/images/tenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/pt-BR/images/tenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/pt-BR/images/tenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..98245bea Binary files /dev/null and b/fastlane/metadata/android/pt-BR/images/tenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/pt-BR/images/tenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/pt-BR/images/tenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..4198415b Binary files /dev/null and b/fastlane/metadata/android/pt-BR/images/tenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/pt-BR/images/tenInchScreenshots/06 - weight.png b/fastlane/metadata/android/pt-BR/images/tenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..ce03527b Binary files /dev/null and b/fastlane/metadata/android/pt-BR/images/tenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/pt-PT/images/phoneScreenshots/01 - dashboard.png b/fastlane/metadata/android/pt-PT/images/phoneScreenshots/01 - dashboard.png index b9dfb499..6f3e85ad 100644 Binary files a/fastlane/metadata/android/pt-PT/images/phoneScreenshots/01 - dashboard.png and b/fastlane/metadata/android/pt-PT/images/phoneScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/pt-PT/images/phoneScreenshots/02 - workout detail.png b/fastlane/metadata/android/pt-PT/images/phoneScreenshots/02 - workout detail.png index eadac125..52503b73 100644 Binary files a/fastlane/metadata/android/pt-PT/images/phoneScreenshots/02 - workout detail.png and b/fastlane/metadata/android/pt-PT/images/phoneScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/pt-PT/images/phoneScreenshots/03 - gym mode.png b/fastlane/metadata/android/pt-PT/images/phoneScreenshots/03 - gym mode.png index fc623576..e47d2428 100644 Binary files a/fastlane/metadata/android/pt-PT/images/phoneScreenshots/03 - gym mode.png and b/fastlane/metadata/android/pt-PT/images/phoneScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/pt-PT/images/phoneScreenshots/04 - measurements.png b/fastlane/metadata/android/pt-PT/images/phoneScreenshots/04 - measurements.png index 0e9706d6..b0eb41af 100644 Binary files a/fastlane/metadata/android/pt-PT/images/phoneScreenshots/04 - measurements.png and b/fastlane/metadata/android/pt-PT/images/phoneScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/pt-PT/images/phoneScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/pt-PT/images/phoneScreenshots/05 - nutritional plan.png index a340cd12..2f549064 100644 Binary files a/fastlane/metadata/android/pt-PT/images/phoneScreenshots/05 - nutritional plan.png and b/fastlane/metadata/android/pt-PT/images/phoneScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/pt-PT/images/phoneScreenshots/06 - weight.png b/fastlane/metadata/android/pt-PT/images/phoneScreenshots/06 - weight.png index 48094c61..032231a9 100644 Binary files a/fastlane/metadata/android/pt-PT/images/phoneScreenshots/06 - weight.png and b/fastlane/metadata/android/pt-PT/images/phoneScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/ru-RU/images/phoneScreenshots/01 - dashboard.png b/fastlane/metadata/android/ru-RU/images/phoneScreenshots/01 - dashboard.png index 278058da..de3acf8b 100644 Binary files a/fastlane/metadata/android/ru-RU/images/phoneScreenshots/01 - dashboard.png and b/fastlane/metadata/android/ru-RU/images/phoneScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/ru-RU/images/phoneScreenshots/02 - workout detail.png b/fastlane/metadata/android/ru-RU/images/phoneScreenshots/02 - workout detail.png index 7a70103e..ea2a9803 100644 Binary files a/fastlane/metadata/android/ru-RU/images/phoneScreenshots/02 - workout detail.png and b/fastlane/metadata/android/ru-RU/images/phoneScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/ru-RU/images/phoneScreenshots/03 - gym mode.png b/fastlane/metadata/android/ru-RU/images/phoneScreenshots/03 - gym mode.png index 2320f167..9fa452b2 100644 Binary files a/fastlane/metadata/android/ru-RU/images/phoneScreenshots/03 - gym mode.png and b/fastlane/metadata/android/ru-RU/images/phoneScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/ru-RU/images/phoneScreenshots/04 - measurements.png b/fastlane/metadata/android/ru-RU/images/phoneScreenshots/04 - measurements.png index dfb70a21..456ba8db 100644 Binary files a/fastlane/metadata/android/ru-RU/images/phoneScreenshots/04 - measurements.png and b/fastlane/metadata/android/ru-RU/images/phoneScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/ru-RU/images/phoneScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/ru-RU/images/phoneScreenshots/05 - nutritional plan.png index b4eef810..b7f00522 100644 Binary files a/fastlane/metadata/android/ru-RU/images/phoneScreenshots/05 - nutritional plan.png and b/fastlane/metadata/android/ru-RU/images/phoneScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/ru-RU/images/phoneScreenshots/06 - weight.png b/fastlane/metadata/android/ru-RU/images/phoneScreenshots/06 - weight.png index d51c6f36..263d102f 100644 Binary files a/fastlane/metadata/android/ru-RU/images/phoneScreenshots/06 - weight.png and b/fastlane/metadata/android/ru-RU/images/phoneScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/ru-RU/images/sevenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/ru-RU/images/sevenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..ad0832cf Binary files /dev/null and b/fastlane/metadata/android/ru-RU/images/sevenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/ru-RU/images/sevenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/ru-RU/images/sevenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..d8e09ad2 Binary files /dev/null and b/fastlane/metadata/android/ru-RU/images/sevenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/ru-RU/images/sevenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/ru-RU/images/sevenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..eaa39d75 Binary files /dev/null and b/fastlane/metadata/android/ru-RU/images/sevenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/ru-RU/images/sevenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/ru-RU/images/sevenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..ef27d608 Binary files /dev/null and b/fastlane/metadata/android/ru-RU/images/sevenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/ru-RU/images/sevenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/ru-RU/images/sevenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..64c28bc4 Binary files /dev/null and b/fastlane/metadata/android/ru-RU/images/sevenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/ru-RU/images/sevenInchScreenshots/06 - weight.png b/fastlane/metadata/android/ru-RU/images/sevenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..3e02cc2c Binary files /dev/null and b/fastlane/metadata/android/ru-RU/images/sevenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/ru-RU/images/tenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/ru-RU/images/tenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..b61252b7 Binary files /dev/null and b/fastlane/metadata/android/ru-RU/images/tenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/ru-RU/images/tenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/ru-RU/images/tenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..54319748 Binary files /dev/null and b/fastlane/metadata/android/ru-RU/images/tenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/ru-RU/images/tenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/ru-RU/images/tenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..560499b8 Binary files /dev/null and b/fastlane/metadata/android/ru-RU/images/tenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/ru-RU/images/tenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/ru-RU/images/tenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..59c48ad5 Binary files /dev/null and b/fastlane/metadata/android/ru-RU/images/tenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/ru-RU/images/tenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/ru-RU/images/tenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..80f6313d Binary files /dev/null and b/fastlane/metadata/android/ru-RU/images/tenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/ru-RU/images/tenInchScreenshots/06 - weight.png b/fastlane/metadata/android/ru-RU/images/tenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..032318fb Binary files /dev/null and b/fastlane/metadata/android/ru-RU/images/tenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/tr-TR/images/phoneScreenshots/01 - dashboard.png b/fastlane/metadata/android/tr-TR/images/phoneScreenshots/01 - dashboard.png index f79654c2..13c48997 100644 Binary files a/fastlane/metadata/android/tr-TR/images/phoneScreenshots/01 - dashboard.png and b/fastlane/metadata/android/tr-TR/images/phoneScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/tr-TR/images/phoneScreenshots/02 - workout detail.png b/fastlane/metadata/android/tr-TR/images/phoneScreenshots/02 - workout detail.png index fd1a4703..3b17cab5 100644 Binary files a/fastlane/metadata/android/tr-TR/images/phoneScreenshots/02 - workout detail.png and b/fastlane/metadata/android/tr-TR/images/phoneScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/tr-TR/images/phoneScreenshots/03 - gym mode.png b/fastlane/metadata/android/tr-TR/images/phoneScreenshots/03 - gym mode.png index fb1b8587..9d2e2754 100644 Binary files a/fastlane/metadata/android/tr-TR/images/phoneScreenshots/03 - gym mode.png and b/fastlane/metadata/android/tr-TR/images/phoneScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/tr-TR/images/phoneScreenshots/04 - measurements.png b/fastlane/metadata/android/tr-TR/images/phoneScreenshots/04 - measurements.png index a660e58d..d8ece96b 100644 Binary files a/fastlane/metadata/android/tr-TR/images/phoneScreenshots/04 - measurements.png and b/fastlane/metadata/android/tr-TR/images/phoneScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/tr-TR/images/phoneScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/tr-TR/images/phoneScreenshots/05 - nutritional plan.png index f7027918..5b345f02 100644 Binary files a/fastlane/metadata/android/tr-TR/images/phoneScreenshots/05 - nutritional plan.png and b/fastlane/metadata/android/tr-TR/images/phoneScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/tr-TR/images/phoneScreenshots/06 - weight.png b/fastlane/metadata/android/tr-TR/images/phoneScreenshots/06 - weight.png index 395a3bb9..fb063595 100644 Binary files a/fastlane/metadata/android/tr-TR/images/phoneScreenshots/06 - weight.png and b/fastlane/metadata/android/tr-TR/images/phoneScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/tr-TR/images/sevenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/tr-TR/images/sevenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..5be75e2a Binary files /dev/null and b/fastlane/metadata/android/tr-TR/images/sevenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/tr-TR/images/sevenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/tr-TR/images/sevenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..64621003 Binary files /dev/null and b/fastlane/metadata/android/tr-TR/images/sevenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/tr-TR/images/sevenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/tr-TR/images/sevenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..b10c0e98 Binary files /dev/null and b/fastlane/metadata/android/tr-TR/images/sevenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/tr-TR/images/sevenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/tr-TR/images/sevenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..753b9b5c Binary files /dev/null and b/fastlane/metadata/android/tr-TR/images/sevenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/tr-TR/images/sevenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/tr-TR/images/sevenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..1440d8ce Binary files /dev/null and b/fastlane/metadata/android/tr-TR/images/sevenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/tr-TR/images/sevenInchScreenshots/06 - weight.png b/fastlane/metadata/android/tr-TR/images/sevenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..418487f1 Binary files /dev/null and b/fastlane/metadata/android/tr-TR/images/sevenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/tr-TR/images/tenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/tr-TR/images/tenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..8ec0b4ed Binary files /dev/null and b/fastlane/metadata/android/tr-TR/images/tenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/tr-TR/images/tenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/tr-TR/images/tenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..fbd397eb Binary files /dev/null and b/fastlane/metadata/android/tr-TR/images/tenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/tr-TR/images/tenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/tr-TR/images/tenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..d87e7cdc Binary files /dev/null and b/fastlane/metadata/android/tr-TR/images/tenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/tr-TR/images/tenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/tr-TR/images/tenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..f5fea997 Binary files /dev/null and b/fastlane/metadata/android/tr-TR/images/tenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/tr-TR/images/tenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/tr-TR/images/tenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..a67946bd Binary files /dev/null and b/fastlane/metadata/android/tr-TR/images/tenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/tr-TR/images/tenInchScreenshots/06 - weight.png b/fastlane/metadata/android/tr-TR/images/tenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..dd927851 Binary files /dev/null and b/fastlane/metadata/android/tr-TR/images/tenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/uk/images/phoneScreenshots/01 - dashboard.png b/fastlane/metadata/android/uk/images/phoneScreenshots/01 - dashboard.png index 0fae328e..dc092b53 100644 Binary files a/fastlane/metadata/android/uk/images/phoneScreenshots/01 - dashboard.png and b/fastlane/metadata/android/uk/images/phoneScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/uk/images/phoneScreenshots/02 - workout detail.png b/fastlane/metadata/android/uk/images/phoneScreenshots/02 - workout detail.png index dae3dee7..b8dcc9e8 100644 Binary files a/fastlane/metadata/android/uk/images/phoneScreenshots/02 - workout detail.png and b/fastlane/metadata/android/uk/images/phoneScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/uk/images/phoneScreenshots/03 - gym mode.png b/fastlane/metadata/android/uk/images/phoneScreenshots/03 - gym mode.png index fd7815e7..a9acbb6f 100644 Binary files a/fastlane/metadata/android/uk/images/phoneScreenshots/03 - gym mode.png and b/fastlane/metadata/android/uk/images/phoneScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/uk/images/phoneScreenshots/04 - measurements.png b/fastlane/metadata/android/uk/images/phoneScreenshots/04 - measurements.png index 28575705..5cd1d469 100644 Binary files a/fastlane/metadata/android/uk/images/phoneScreenshots/04 - measurements.png and b/fastlane/metadata/android/uk/images/phoneScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/uk/images/phoneScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/uk/images/phoneScreenshots/05 - nutritional plan.png index a220ec72..2fcacdbd 100644 Binary files a/fastlane/metadata/android/uk/images/phoneScreenshots/05 - nutritional plan.png and b/fastlane/metadata/android/uk/images/phoneScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/uk/images/phoneScreenshots/06 - weight.png b/fastlane/metadata/android/uk/images/phoneScreenshots/06 - weight.png index f463d168..e71214d8 100644 Binary files a/fastlane/metadata/android/uk/images/phoneScreenshots/06 - weight.png and b/fastlane/metadata/android/uk/images/phoneScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/uk/images/sevenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/uk/images/sevenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..8fef2c32 Binary files /dev/null and b/fastlane/metadata/android/uk/images/sevenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/uk/images/sevenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/uk/images/sevenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..85e08b42 Binary files /dev/null and b/fastlane/metadata/android/uk/images/sevenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/uk/images/sevenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/uk/images/sevenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..c45c7122 Binary files /dev/null and b/fastlane/metadata/android/uk/images/sevenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/uk/images/sevenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/uk/images/sevenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..fc3b9335 Binary files /dev/null and b/fastlane/metadata/android/uk/images/sevenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/uk/images/sevenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/uk/images/sevenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..8eb7e725 Binary files /dev/null and b/fastlane/metadata/android/uk/images/sevenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/uk/images/sevenInchScreenshots/06 - weight.png b/fastlane/metadata/android/uk/images/sevenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..4cc3716d Binary files /dev/null and b/fastlane/metadata/android/uk/images/sevenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/uk/images/tenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/uk/images/tenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..8d975fd9 Binary files /dev/null and b/fastlane/metadata/android/uk/images/tenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/uk/images/tenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/uk/images/tenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..3417db38 Binary files /dev/null and b/fastlane/metadata/android/uk/images/tenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/uk/images/tenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/uk/images/tenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..253354da Binary files /dev/null and b/fastlane/metadata/android/uk/images/tenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/uk/images/tenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/uk/images/tenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..c6bd5dcf Binary files /dev/null and b/fastlane/metadata/android/uk/images/tenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/uk/images/tenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/uk/images/tenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..26d5d891 Binary files /dev/null and b/fastlane/metadata/android/uk/images/tenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/uk/images/tenInchScreenshots/06 - weight.png b/fastlane/metadata/android/uk/images/tenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..9478427b Binary files /dev/null and b/fastlane/metadata/android/uk/images/tenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/zh-CN/images/phoneScreenshots/01 - dashboard.png b/fastlane/metadata/android/zh-CN/images/phoneScreenshots/01 - dashboard.png index ae692319..108a7e27 100644 Binary files a/fastlane/metadata/android/zh-CN/images/phoneScreenshots/01 - dashboard.png and b/fastlane/metadata/android/zh-CN/images/phoneScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/zh-CN/images/phoneScreenshots/02 - workout detail.png b/fastlane/metadata/android/zh-CN/images/phoneScreenshots/02 - workout detail.png index b2a2764a..f5e079ba 100644 Binary files a/fastlane/metadata/android/zh-CN/images/phoneScreenshots/02 - workout detail.png and b/fastlane/metadata/android/zh-CN/images/phoneScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/zh-CN/images/phoneScreenshots/03 - gym mode.png b/fastlane/metadata/android/zh-CN/images/phoneScreenshots/03 - gym mode.png index 1247c72e..7b4e1435 100644 Binary files a/fastlane/metadata/android/zh-CN/images/phoneScreenshots/03 - gym mode.png and b/fastlane/metadata/android/zh-CN/images/phoneScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/zh-CN/images/phoneScreenshots/04 - measurements.png b/fastlane/metadata/android/zh-CN/images/phoneScreenshots/04 - measurements.png index 74bcf252..9ade4727 100644 Binary files a/fastlane/metadata/android/zh-CN/images/phoneScreenshots/04 - measurements.png and b/fastlane/metadata/android/zh-CN/images/phoneScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/zh-CN/images/phoneScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/zh-CN/images/phoneScreenshots/05 - nutritional plan.png index 15d75a91..314092a3 100644 Binary files a/fastlane/metadata/android/zh-CN/images/phoneScreenshots/05 - nutritional plan.png and b/fastlane/metadata/android/zh-CN/images/phoneScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/zh-CN/images/phoneScreenshots/06 - weight.png b/fastlane/metadata/android/zh-CN/images/phoneScreenshots/06 - weight.png index 1d58a584..8d2c64b8 100644 Binary files a/fastlane/metadata/android/zh-CN/images/phoneScreenshots/06 - weight.png and b/fastlane/metadata/android/zh-CN/images/phoneScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/zh-CN/images/sevenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/zh-CN/images/sevenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..3ccb3d72 Binary files /dev/null and b/fastlane/metadata/android/zh-CN/images/sevenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/zh-CN/images/sevenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/zh-CN/images/sevenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..48ea542d Binary files /dev/null and b/fastlane/metadata/android/zh-CN/images/sevenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/zh-CN/images/sevenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/zh-CN/images/sevenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..554e0b48 Binary files /dev/null and b/fastlane/metadata/android/zh-CN/images/sevenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/zh-CN/images/sevenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/zh-CN/images/sevenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..adb2e20a Binary files /dev/null and b/fastlane/metadata/android/zh-CN/images/sevenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/zh-CN/images/sevenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/zh-CN/images/sevenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..ae1cf499 Binary files /dev/null and b/fastlane/metadata/android/zh-CN/images/sevenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/zh-CN/images/sevenInchScreenshots/06 - weight.png b/fastlane/metadata/android/zh-CN/images/sevenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..f4261792 Binary files /dev/null and b/fastlane/metadata/android/zh-CN/images/sevenInchScreenshots/06 - weight.png differ diff --git a/fastlane/metadata/android/zh-CN/images/tenInchScreenshots/01 - dashboard.png b/fastlane/metadata/android/zh-CN/images/tenInchScreenshots/01 - dashboard.png new file mode 100644 index 00000000..edc5ea27 Binary files /dev/null and b/fastlane/metadata/android/zh-CN/images/tenInchScreenshots/01 - dashboard.png differ diff --git a/fastlane/metadata/android/zh-CN/images/tenInchScreenshots/02 - workout detail.png b/fastlane/metadata/android/zh-CN/images/tenInchScreenshots/02 - workout detail.png new file mode 100644 index 00000000..595a2e67 Binary files /dev/null and b/fastlane/metadata/android/zh-CN/images/tenInchScreenshots/02 - workout detail.png differ diff --git a/fastlane/metadata/android/zh-CN/images/tenInchScreenshots/03 - gym mode.png b/fastlane/metadata/android/zh-CN/images/tenInchScreenshots/03 - gym mode.png new file mode 100644 index 00000000..73ddb549 Binary files /dev/null and b/fastlane/metadata/android/zh-CN/images/tenInchScreenshots/03 - gym mode.png differ diff --git a/fastlane/metadata/android/zh-CN/images/tenInchScreenshots/04 - measurements.png b/fastlane/metadata/android/zh-CN/images/tenInchScreenshots/04 - measurements.png new file mode 100644 index 00000000..ed711674 Binary files /dev/null and b/fastlane/metadata/android/zh-CN/images/tenInchScreenshots/04 - measurements.png differ diff --git a/fastlane/metadata/android/zh-CN/images/tenInchScreenshots/05 - nutritional plan.png b/fastlane/metadata/android/zh-CN/images/tenInchScreenshots/05 - nutritional plan.png new file mode 100644 index 00000000..d16422ef Binary files /dev/null and b/fastlane/metadata/android/zh-CN/images/tenInchScreenshots/05 - nutritional plan.png differ diff --git a/fastlane/metadata/android/zh-CN/images/tenInchScreenshots/06 - weight.png b/fastlane/metadata/android/zh-CN/images/tenInchScreenshots/06 - weight.png new file mode 100644 index 00000000..216bf860 Binary files /dev/null and b/fastlane/metadata/android/zh-CN/images/tenInchScreenshots/06 - weight.png differ diff --git a/flatpak/scripts/flatpak_shared.dart b/flatpak/scripts/flatpak_shared.dart index 4e16b65f..f411aabe 100644 --- a/flatpak/scripts/flatpak_shared.dart +++ b/flatpak/scripts/flatpak_shared.dart @@ -77,7 +77,7 @@ class GithubReleases { .body; final decodedJson = jsonDecode(releaseJsonContent) as List; - DateTime? latestReleaseAssetDate = null; + DateTime? latestReleaseAssetDate; final releases = List.empty(growable: true); diff --git a/integration_test/make_screenshots_test.dart b/integration_test/make_screenshots_test.dart index 14891f96..633d34d4 100644 --- a/integration_test/make_screenshots_test.dart +++ b/integration_test/make_screenshots_test.dart @@ -11,12 +11,22 @@ import '4_measurements.dart'; import '5_nutritional_plan.dart'; import '6_weight.dart'; +// Type of device +enum DeviceType { + phoneScreenshots, + sevenInchScreenshots, + tenInchScreenshots, + tvScreenshots, + wearScreenshots +} +final destination = DeviceType.phoneScreenshots.name; + Future takeScreenshot(tester, binding, String language, String name) async { if (Platform.isAndroid) { await binding.convertFlutterSurfaceToImage(); await tester.pumpAndSettle(); } - final filename = 'fastlane/metadata/android/$language/images/phoneScreenshots/$name.png'; + final filename = 'fastlane/metadata/android/$language/images/$destination/$name.png'; await binding.takeScreenshot(filename); } @@ -34,13 +44,11 @@ const languages = [ 'es-ES', 'fr-FR', - /* 'hi-IN', 'hr', 'it-IT', 'pt-BR', 'nb-NO', - */ 'pl-PL', 'ru-RU', 'tr-TR', diff --git a/lib/helpers/colors.dart b/lib/helpers/colors.dart index 8e362db0..b7fd2288 100644 --- a/lib/helpers/colors.dart +++ b/lib/helpers/colors.dart @@ -1,4 +1,3 @@ -import 'dart:math'; import 'dart:ui'; const LIST_OF_COLORS8 = [ diff --git a/lib/helpers/i18n.dart b/lib/helpers/i18n.dart index 21fc03f2..ebf02de8 100644 --- a/lib/helpers/i18n.dart +++ b/lib/helpers/i18n.dart @@ -1,4 +1,5 @@ /// This code is autogenerated in the backend repo in extract-i18n.py do not edit! +library; /// Translate dynamic strings that are returned from the server /// These strings such as categories or equipment are returned by the server diff --git a/lib/helpers/ui.dart b/lib/helpers/ui.dart index 7c5730a6..e6139b8c 100644 --- a/lib/helpers/ui.dart +++ b/lib/helpers/ui.dart @@ -125,7 +125,7 @@ dynamic showDeleteDialog( TextButton( child: Text( AppLocalizations.of(context).delete, - style: TextStyle(color: Theme.of(context).errorColor), + style: TextStyle(color: Theme.of(context).colorScheme.error), ), onPressed: () { exerciseData[exercise]!.removeWhere((el) => el.id == log.id); diff --git a/lib/l10n/app_ar.arb b/lib/l10n/app_ar.arb index 9d10d3f6..6cd5a18b 100644 --- a/lib/l10n/app_ar.arb +++ b/lib/l10n/app_ar.arb @@ -12,5 +12,816 @@ "invalidUrl": "أدخل رابط صحيح من فضلك", "@invalidUrl": { "description": "Error message when the user enters an invalid URL, e.g. in the login form" - } + }, + "verifiedEmailReason": "تحتاج إلى التحقق من بريدك الإلكتروني للمساهمة في التمارين", + "@verifiedEmailReason": {}, + "comment": "تعليق", + "@comment": { + "description": "Comment, additional information" + }, + "selectIngredient": "الرجاء تحديد العنصر", + "@selectIngredient": { + "description": "Error message when the user hasn't selected an ingredient from the autocompleter" + }, + "logIngredient": "حفظ في مذكرة التغذية", + "@logIngredient": {}, + "equipment": "الادوات", + "@equipment": { + "description": "Equipment needed to perform an exercise" + }, + "useDefaultServer": "استخدم السيرفر الافتراضي", + "@useDefaultServer": { + "description": "Toggle button allowing users to switch between the default and a custom wger server" + }, + "enterValidNumber": "أدخل رقمًا صحيحًا", + "@enterValidNumber": { + "description": "Error message when the user has submitted an invalid number (e.g. '3,.,.,.')" + }, + "saturatedFat": "الدهون المشبعة", + "@saturatedFat": {}, + "verifiedEmail": "بريد إلكتروني مفعّل", + "@verifiedEmail": {}, + "mealLogged": "سُجّلت الوجبة في اليوميات", + "@mealLogged": {}, + "images": "الصور", + "@images": {}, + "alsoKnownAs": "يُعرف أيضًا باسم: {aliases}", + "@alsoKnownAs": { + "placeholders": { + "aliases": {} + }, + "description": "List of alternative names for an exercise" + }, + "close": "إقفال", + "@close": { + "description": "Translation for close" + }, + "body_weight": "وزن الجسم", + "@body_weight": { + "description": "Generated entry for translation for server strings" + }, + "successfullyDeleted": "تم الحذف", + "@successfullyDeleted": { + "description": "Message when an item was successfully deleted" + }, + "save": "حفظ", + "@save": {}, + "dumbbell": "أثقال صغيرة", + "@dumbbell": { + "description": "Generated entry for translation for server strings" + }, + "dataCopied": "تم نسخ البيانات إلى الإدخال الجديد", + "@dataCopied": { + "description": "Snackbar message to show on copying data to a new log entry" + }, + "goToToday": "الذهاب لليوم", + "@goToToday": { + "description": "Label on button to jump back to 'today' in the calendar widget" + }, + "enterRepetitionsOrWeight": "يرجى ملء التكرارات أو الوزن لواحدة على الأقل من المجموعات", + "@enterRepetitionsOrWeight": { + "description": "Error message when the user hasn't filled in the forms for exercise sets" + }, + "baseData": "الأساسيات بالإنجليزية", + "@baseData": { + "description": "The base data for an exercise such as category, trained muscles, etc." + }, + "glutes": "المؤخرة", + "@glutes": { + "description": "Generated entry for translation for server strings" + }, + "set": "مجموعة", + "@set": { + "description": "A set in a workout plan" + }, + "calves": "بطة الرجل", + "@calves": { + "description": "Generated entry for translation for server strings" + }, + "labelBottomNavWorkout": "تمرين", + "@labelBottomNavWorkout": { + "description": "Label used in bottom navigation, use a short word" + }, + "reset": "إعادة ضبط", + "@reset": { + "description": "Button text allowing the user to reset the entered values to the default" + }, + "oneNamePerLine": "اسم واحد لكل سطر", + "@oneNamePerLine": {}, + "kg": "كغم", + "@kg": { + "description": "Generated entry for translation for server strings" + }, + "noMeasurementEntries": "لا يوجد إدخالات قياس", + "@noMeasurementEntries": {}, + "password": "كلمة المرور", + "@password": {}, + "nutritionalPlan": "الخطة الغذائية", + "@nutritionalPlan": {}, + "invalidUsername": "الرجاء كتابة اسم مستخدم صحيح", + "@invalidUsername": { + "description": "Error message when the user enters an invalid username" + }, + "newSet": "مجموعة جديدة", + "@newSet": { + "description": "Header when adding a new set to a workout day" + }, + "impression": "انطباع", + "@impression": { + "description": "General impression (e.g. for a workout session) such as good, bad, etc." + }, + "plateCalculator": "الأطباق", + "@plateCalculator": { + "description": "Label used for the plate calculator in the gym mode" + }, + "newNutritionalPlan": "خطة تغذية جديدة", + "@newNutritionalPlan": {}, + "chest": "الصدر", + "@chest": { + "description": "Generated entry for translation for server strings" + }, + "productNotFoundDescription": "لم يتم العثور على المنتج الممسوح ضوئيًا {barcode} في wger", + "@productNotFoundDescription": { + "description": "Dialog info when product is not found with barcode", + "type": "text", + "placeholders": { + "barcode": {} + } + }, + "setNr": "مجموعة {nr}", + "@setNr": { + "description": "Header in form indicating the number of the current set. Can also be translated as something like 'Set Nr. xy'.", + "type": "text", + "placeholders": { + "nr": {} + } + }, + "next": "التالي", + "@next": {}, + "shoulders": "أكتاف", + "@shoulders": { + "description": "Generated entry for translation for server strings" + }, + "cardio": "عضلة القلب", + "@cardio": { + "description": "Generated entry for translation for server strings" + }, + "fat": "دهون", + "@fat": {}, + "timeStartAhead": "وقت البدء لا يجب أن يكون متقدمًا على وقت الانتهاء", + "@timeStartAhead": {}, + "carbohydrates": "كربوهيدرات", + "@carbohydrates": {}, + "noWorkoutPlans": "لا يوجد خطة تمارين", + "@noWorkoutPlans": { + "description": "Message shown when the user has no workout plans" + }, + "aboutTranslationTitle": "ترجمة", + "@aboutTranslationTitle": { + "description": "Title for translation section in the about dialog" + }, + "date": "التاريخ", + "@date": { + "description": "The date of a workout log or body weight entry" + }, + "muscles": "العضلات", + "@muscles": { + "description": "(main) muscles trained by an exercise" + }, + "total": "المجموع", + "@total": { + "description": "Label used for total sums of e.g. calories or similar" + }, + "dayDescriptionHelp": "وصف لما يتم القيام به في هذا اليوم (مثال، \"يوم السحب\") أو ما هي أجزاء الجسم التي سيتم تدريبها (مثال، \"الصدر والكتفين\")", + "@dayDescriptionHelp": {}, + "gymMode": "وضع النادي", + "@gymMode": { + "description": "Label when starting the gym mode" + }, + "logged": "سُجلت", + "@logged": { + "description": "Header for the column of 'logged' nutritional values, i.e. what was eaten" + }, + "amount": "الكمية", + "@amount": { + "description": "The amount (e.g. in grams) of an ingredient in a meal" + }, + "loginInstead": "لديك حساب ؟ تسجيل الدخول", + "@loginInstead": {}, + "productFound": "عُثِر على المنتج", + "@productFound": { + "description": "Header label for dialog when product is found with barcode" + }, + "pause": "إيقاف", + "@pause": { + "description": "Noun, not an imperative! Label used for the pause when using the gym mode" + }, + "textPromptTitle": "مستعد للبدء ؟", + "@textPromptTitle": {}, + "success": "مكتمل", + "@success": { + "description": "Message when an action completed successfully, usually used as a heading" + }, + "passwordTooShort": "كلمة المرور قصيرة", + "@passwordTooShort": { + "description": "Error message when the user a password that is too short" + }, + "repetitionUnit": "عدد التكرارات المتبقية", + "@repetitionUnit": {}, + "weightUnit": "وحدة الوزن", + "@weightUnit": {}, + "email": "البريد الإلكتروني", + "@email": {}, + "searchIngredient": "ابحث عن عنصر", + "@searchIngredient": { + "description": "Label on ingredient search form" + }, + "edit": "تعديل", + "@edit": {}, + "aboutBugsText": "في حال مواجهتك لأي خلل أو الحاجة لإضافة ميزة جديدة للتطبيق، تواصل معنا", + "@aboutBugsText": { + "description": "Text for bugs section in the about dialog" + }, + "setUnitsAndRir": "تعيين الوحدات و RiR", + "@setUnitsAndRir": { + "description": "Label shown on the slider where the user can toggle showing units and RiR", + "type": "text" + }, + "abs": "عضلات المعدة", + "@abs": { + "description": "Generated entry for translation for server strings" + }, + "anErrorOccurred": "حصل خطأ!", + "@anErrorOccurred": {}, + "aboutContactUsTitle": "قل اهلاً!", + "@aboutContactUsTitle": { + "description": "Title for contact us section in the about dialog" + }, + "selectExercise": "اختر تمرين", + "@selectExercise": { + "description": "Error message when the user hasn't selected an exercise in the form" + }, + "productNotFound": "المنتج غير موجود", + "@productNotFound": { + "description": "Header label for dialog when product is not found with barcode" + }, + "plates": "أطباق", + "@plates": { + "description": "Generated entry for translation for server strings" + }, + "enterValue": "ادخل قيمة من فضلك", + "@enterValue": { + "description": "Error message when the user hasn't entered a value on a required field" + }, + "logMeal": "سجّل الوجبة", + "@logMeal": {}, + "newEntry": "إضافة جديدة", + "@newEntry": { + "description": "Title when adding a new entry such as a weight or log entry" + }, + "enterCharacters": "الرجاء إدخال ما بين {min} و{max} من الأحرف", + "@enterCharacters": { + "description": "Error message when the user hasn't entered the correct number of characters in a form", + "type": "text", + "placeholders": { + "min": {}, + "max": {} + } + }, + "recentlyUsedIngredients": "المكونات المضافة مؤخرًا", + "@recentlyUsedIngredients": { + "description": "A message when a user adds a new ingredient to a meal." + }, + "description": "الوصف", + "@description": {}, + "addSet": "أضف مجموعة", + "@addSet": { + "description": "Label for the button that adds a set (to a workout day)" + }, + "newWorkout": "خطة تمارين جديدة", + "@newWorkout": { + "description": "Header when adding a new workout" + }, + "energyShort": "ط", + "@energyShort": { + "description": "The first letter or short name of the word 'Energy', used in overviews" + }, + "name": "الاسم", + "@name": { + "description": "Name for a workout or nutritional plan" + }, + "percentEnergy": "نسبة الطاقة", + "@percentEnergy": {}, + "add_exercise_image_license": "يجب أن تكون الصور متوافقة مع ترخيص CC BY SA. في حال عدم تأكدك، قم بتحميل الصور التي إلتقطتها.", + "@add_exercise_image_license": {}, + "searchNamesInEnglish": "ابحث بأسماء التمارين بالانجليزي", + "@searchNamesInEnglish": {}, + "seconds": "ثواني", + "@seconds": { + "description": "Generated entry for translation for server strings" + }, + "kilometers": "كيلومترات", + "@kilometers": { + "description": "Generated entry for translation for server strings" + }, + "username": "اسم المستخدم", + "@username": {}, + "value": "قيمة", + "@value": { + "description": "The value of a measurement entry" + }, + "exercise": "تمرين", + "@exercise": { + "description": "An exercise for a workout" + }, + "customServerHint": "ادخل عنوان الخادم خاصتك أو سيستخدم الخادم الافتراضي", + "@customServerHint": { + "description": "Hint text for the form where the users can enter their own wger instance" + }, + "addIngredient": "أضف مكونًا", + "@addIngredient": {}, + "gym_mat": "سجّاد التمارين", + "@gym_mat": { + "description": "Generated entry for translation for server strings" + }, + "useCustomServer": "استخدم سيرفر مخصص", + "@useCustomServer": { + "description": "Toggle button allowing users to switch between the default and a custom wger server" + }, + "verifiedEmailInfo": "أُرسلت رسالة للتحقق إلى {email}", + "@verifiedEmailInfo": { + "placeholders": { + "email": {} + } + }, + "fatShort": "د", + "@fatShort": { + "description": "The first letter or short name of the word 'Fat', used in overviews" + }, + "legs": "الأرجل", + "@legs": { + "description": "Generated entry for translation for server strings" + }, + "appUpdateTitle": "التحديث متطلب", + "@appUpdateTitle": {}, + "back": "الظهر", + "@back": { + "description": "Generated entry for translation for server strings" + }, + "cacheWarning": "بسبب التخزين المؤقت، قد يستغرق الأمر بعض الوقت حتى تصبح التغييرات مرئية في التطبيق.", + "@cacheWarning": {}, + "quads": "عضلات الفخذ", + "@quads": { + "description": "Generated entry for translation for server strings" + }, + "delete": "حذف", + "@delete": {}, + "takePicture": "إلتقط صورة", + "@takePicture": {}, + "start": "ابدأ", + "@start": { + "description": "Label on button to start the gym mode (i.e., an imperative)" + }, + "notes": "ملاحظات", + "@notes": { + "description": "Personal notes, e.g. for a workout session" + }, + "jumpTo": "القفز إلى", + "@jumpTo": { + "description": "Imperative. Label used in popup allowing the user to jump to a specific exercise while in the gym mode" + }, + "difference": "الفرق", + "@difference": {}, + "register": "تسجيل", + "@register": { + "description": "Text for registration button" + }, + "fibres": "الألياف", + "@fibres": {}, + "aboutDescription": "شكرًا لاستخدامك وقر! وقر مشروع تعاوني مفتوح المصدر، تم إنشاؤه بواسطة عشّاق اللياقة البدنية من جميع أنحاء العالم.", + "@aboutDescription": { + "description": "Text in the about dialog" + }, + "timeStart": "وقت البدء", + "@timeStart": { + "description": "The starting time of a workout" + }, + "lower_back": "أسفل الظهر", + "@lower_back": { + "description": "Generated entry for translation for server strings" + }, + "selectImage": "الرجاء اختيار صورة", + "@selectImage": { + "description": "Label and error message when the user hasn't selected an image to save" + }, + "baseNameEnglish": "جميع التمارين تتطلب اسم أساسي بالإنجليزية", + "@baseNameEnglish": {}, + "searchExercise": "ابحث عن تمرين لإضافته", + "@searchExercise": { + "description": "Label on set form. Selected exercises are added to the set" + }, + "noMatchingExerciseFound": "لم نجد تمرين بهذا الأسم", + "@noMatchingExerciseFound": { + "description": "Message returned if no exercise match the searched string" + }, + "registerInstead": "ليس لديك حساب ؟ سجّل الان", + "@registerInstead": {}, + "aboutMastodonTitle": "Mastodon", + "@aboutMastodonTitle": { + "description": "Title for mastodon section in the about dialog" + }, + "repetitions": "التكرار", + "@repetitions": { + "description": "Generated entry for translation for server strings" + }, + "moreMeasurementEntries": "أضف قياس جديد", + "@moreMeasurementEntries": { + "description": "Message shown when the user wants to add new measurement" + }, + "usernameValidChars": "يجب أن يحتوي اسم المستخدم على كلاً من : أحرف، أرقام، رموز مثل @ ، + ، . ، - ، _", + "@usernameValidChars": { + "description": "Error message when the user tries to register a username with forbidden characters" + }, + "sz_bar": "البار المجعد SZ-Bar", + "@sz_bar": { + "description": "Generated entry for translation for server strings" + }, + "loadingText": "تحميل ...", + "@loadingText": { + "description": "Text to show when entries are being loaded in the background: Loading..." + }, + "selectExercises": "إذا كنت تريد إجراء مجموعة شاملة، يمكنك البحث عن عدة تمارين، وسيتم جمعها معًا", + "@selectExercises": {}, + "nutritionalDiary": "مذكرة التغذية", + "@nutritionalDiary": {}, + "protein": "بروتين", + "@protein": {}, + "labelWorkoutPlans": "خطط التمارين", + "@labelWorkoutPlans": { + "description": "Title for screen workout plans" + }, + "proteinShort": "ب", + "@proteinShort": { + "description": "The first letter or short name of the word 'Protein', used in overviews" + }, + "kilometers_per_hour": "كيلومترات في الساعة", + "@kilometers_per_hour": { + "description": "Generated entry for translation for server strings" + }, + "alternativeNames": "أسماء بديلة", + "@alternativeNames": {}, + "noWeightEntries": "ليس لديك أي إدخالات للوزن", + "@noWeightEntries": { + "description": "Message shown when the user has no logged weight entries" + }, + "addImage": "إضافة صورة", + "@addImage": {}, + "noNutritionalPlans": "لا يوجد لديك أي خطط تغذية", + "@noNutritionalPlans": { + "description": "Message shown when the user has no nutritional plans" + }, + "previous": "السابق", + "@previous": {}, + "incline_bench": "مقعد مائل للأعلى", + "@incline_bench": { + "description": "Generated entry for translation for server strings" + }, + "lb": "رطل", + "@lb": { + "description": "Generated entry for translation for server strings" + }, + "goToDetailPage": "الذهاب لصفحة التفاصيل", + "@goToDetailPage": {}, + "labelWorkoutLogs": "سجلات التمرين", + "@labelWorkoutLogs": { + "description": "(Workout) logs" + }, + "aboutTranslationText": "يُترجم التطبيق على weblate إذا كنت تريد المساعدة اضغط على الرابط وابدأ الترجمة", + "@aboutTranslationText": { + "description": "Text for translation section in the about dialog" + }, + "ingredient": "المكونات", + "@ingredient": {}, + "measurementCategoriesHelpText": "فئة القياس، مثل \"العضلة ذات الرأسين\" أو \"دهون الجسم\"", + "@measurementCategoriesHelpText": {}, + "miles": "أميال", + "@miles": { + "description": "Generated entry for translation for server strings" + }, + "rirNotUsed": "عدد التكرارات المتبقية غير موجود", + "@rirNotUsed": { + "description": "Label used in RiR slider when the RiR value is not used/saved for the current setting or log" + }, + "todaysWorkout": "تمرينك اليوم", + "@todaysWorkout": {}, + "aboutSourceText": "اطلع على الكود المصدري للتطبيق والسيرفر في القت هب", + "@aboutSourceText": { + "description": "Text for source code section in the about dialog" + }, + "translateExercise": "ترجم التدريب الآن", + "@translateExercise": {}, + "kJ": "كيلو جول", + "@kJ": { + "description": "Energy in a meal in kilo joules, kJ" + }, + "sodium": "صوديوم", + "@sodium": {}, + "swiss_ball": "الكرة السويسرية", + "@swiss_ball": { + "description": "Generated entry for translation for server strings" + }, + "gallery": "الألبوم", + "@gallery": {}, + "aboutMastodonText": "تابعنا على Mastodon لأحدث الأخبار حول المشروع", + "@aboutMastodonText": { + "description": "Text for the mastodon section in the about dialog" + }, + "translation": "الترجمة", + "@translation": {}, + "successfullySaved": "تم الحفظ", + "@successfullySaved": { + "description": "Message when an item was successfully saved" + }, + "optionsLabel": "الخيارات", + "@optionsLabel": { + "description": "Label for the popup with general app options" + }, + "exerciseList": "قائمة التمارين", + "@exerciseList": {}, + "whatVariationsExist": "ما الاختلافات الموجودة في التمرين، إن وجدت؟", + "@whatVariationsExist": {}, + "appUpdateContent": "لا يتوافق الإصدار الحالي مع السيرفر، يرجى تحديث التطبيق.", + "@appUpdateContent": {}, + "energy": "الطاقة", + "@energy": { + "description": "Energy in a meal, ingredient etc. e.g. in kJ" + }, + "newDay": "يوم جديد", + "@newDay": {}, + "scanBarcode": "‌صوّر الرمز التسلسلي", + "@scanBarcode": { + "description": "Label for scan barcode button" + }, + "toggleDetails": "تبديل التفاصيل", + "@toggleDetails": { + "description": "Switch to toggle detail / overview" + }, + "musclesSecondary": "العضلات الثانوية", + "@musclesSecondary": { + "description": "secondary muscles trained by an exercise" + }, + "aboutContactUsText": "إذا كنت تريد مراسلتنا فنحن موجودين في Discord، اهلاً بك", + "@aboutContactUsText": { + "description": "Text for contact us section in the about dialog" + }, + "minutes": "دقائق", + "@minutes": { + "description": "Generated entry for translation for server strings" + }, + "biceps": "العضلة ذات الرأسين أو عضلة الذراع", + "@biceps": { + "description": "Generated entry for translation for server strings" + }, + "miles_per_hour": "أميال في الساعة", + "@miles_per_hour": { + "description": "Generated entry for translation for server strings" + }, + "labelDashboard": "لوحة العمليات", + "@labelDashboard": { + "description": "Title for screen dashboard" + }, + "timeEnd": "وقت الانتهاء", + "@timeEnd": { + "description": "The end time of a workout" + }, + "planned": "مخططة", + "@planned": { + "description": "Header for the column of 'planned' nutritional values, i.e. what should be eaten" + }, + "logHelpEntries": "إذا كان هناك في يوم واحد أكثر من إدخال بنفس عدد التكرارات، ولكن بأوزان مختلفة، فسيتم عرض الإدخال ذو الوزن الأعلى فقط في الرسم البياني.", + "@logHelpEntries": {}, + "exerciseName": "اسم التمرين", + "@exerciseName": { + "description": "Label for the name of a workout exercise" + }, + "pull_up_bar": "بار السحب", + "@pull_up_bar": { + "description": "Generated entry for translation for server strings" + }, + "bench": "المقعد", + "@bench": { + "description": "Generated entry for translation for server strings" + }, + "arms": "الأدوات", + "@arms": { + "description": "Generated entry for translation for server strings" + }, + "labelBottomNavNutrition": "التغذية", + "@labelBottomNavNutrition": { + "description": "Label used in bottom navigation, use a short word" + }, + "language": "اللغة", + "@language": {}, + "nutritionalPlans": "خطط غذائية", + "@nutritionalPlans": {}, + "contributeExercise": "ساهم في التمرين", + "@contributeExercise": {}, + "kcal": "سعرة", + "@kcal": { + "description": "Energy in a meal in kilocalories, kcal" + }, + "g": "قرام", + "@g": { + "description": "Abbreviation for gram" + }, + "addMeal": "أضف وجبة", + "@addMeal": {}, + "sameRepetitions": "إذا قمت بنفس التكرارات والوزن لجميع المجموعات، فيمكنك فقط ملء صف واحد، مثال : لأربع مجموعات فقط أدخل 10 للتكرارات، ويصبح هذا تلقائيًا \"4 × 10\".", + "@sameRepetitions": {}, + "barbell": "الحديد", + "@barbell": { + "description": "Generated entry for translation for server strings" + }, + "measurementEntriesHelpText": "الوحدة المستخدمة لقياس الفئة مثل \"سم\" أو \"%\"", + "@measurementEntriesHelpText": {}, + "supersetWith": "مجموعة شاملة مع", + "@supersetWith": { + "description": "Text used between exercise cards when adding a new set. Translate as something like 'in a superset with'" + }, + "sugars": "سكريات", + "@sugars": {}, + "customServerUrl": "رابط عنصر wger", + "@customServerUrl": { + "description": "Label in the form where the users can enter their own wger instance" + }, + "aboutBugsTitle": "لديك مشكلة أو فكرة ؟", + "@aboutBugsTitle": { + "description": "Title for bugs section in the about dialog" + }, + "carbohydratesShort": "ك", + "@carbohydratesShort": { + "description": "The first letter or short name of the word 'Carbohydrates', used in overviews" + }, + "addExercise": "أضف التمرين", + "@addExercise": {}, + "measurements": "القياسات", + "@measurements": { + "description": "Categories for the measurements such as biceps size, body fat, etc." + }, + "reps": "التكرارات الفعالة", + "@reps": { + "description": "Shorthand for repetitions, used when space constraints are tighter" + }, + "macronutrients": "مغذيات كبيرة", + "@macronutrients": {}, + "unit": "الوحدة", + "@unit": { + "description": "The unit used for a repetition (kg, time, etc.)" + }, + "aboutPageTitle": "عن وقر wger", + "@aboutPageTitle": {}, + "plateCalculatorNotDivisible": "لا يمكن الوصول إلى الوزن بالأطباق المتوفرة", + "@plateCalculatorNotDivisible": { + "description": "Error message when the current weight is not reachable with plates (e.g. 33.1 kg)" + }, + "contributeExerciseWarning": "لا يمكنك المساهمة بالتمارين إلا إذا كان حسابك أقدم من {days} يومًا وبريدك الإلكتروني مفعّل", + "@contributeExerciseWarning": { + "description": "Number of days before which a person can add exercise", + "placeholders": { + "days": { + "type": "String", + "example": "14" + } + } + }, + "confirmDelete": "أمتأكد لحذف '{toDelete}'؟", + "@confirmDelete": { + "description": "Confirmation text before the user deletes an object", + "type": "text", + "placeholders": { + "toDelete": {} + } + }, + "passwordsDontMatch": "كلمات المرور غير متطابقة", + "@passwordsDontMatch": { + "description": "Error message when the user enters two different passwords during registration" + }, + "triceps": "العضلة ثلاثة الرؤوس العضدية", + "@triceps": { + "description": "Generated entry for translation for server strings" + }, + "weight": "الوزن", + "@weight": { + "description": "The weight of a workout log or body weight entry" + }, + "gPerBodyKg": "قرام لكل كيلو قرام من الجسم", + "@gPerBodyKg": { + "description": "Label used for total sums of e.g. calories or similar in grams per Kg of body weight" + }, + "chooseFromLibrary": "اختر من الألبوم", + "@chooseFromLibrary": {}, + "selectEntry": "اختر قيمة", + "@selectEntry": {}, + "variations": "اختلافات", + "@variations": { + "description": "Variations of one exercise (e.g. benchpress and benchpress narrow)" + }, + "enterMinCharacters": "الرجاء إدخال {min} حرفًا على الأقل", + "@enterMinCharacters": { + "description": "Error message when the user hasn't entered the minimum amount characters in a form", + "type": "text", + "placeholders": { + "min": {} + } + }, + "weekAverage": "متوسط سبع أيام", + "@weekAverage": { + "description": "Header for the column of '7 day average' nutritional values, i.e. what was logged last week" + }, + "invalidEmail": "الرجاء كتابة بريد إلكتروني صحيح", + "@invalidEmail": { + "description": "Error message when the user enters an invalid email" + }, + "kettlebell": "الكرة الحديدية", + "@kettlebell": { + "description": "Generated entry for translation for server strings" + }, + "max_reps": "أقصى عدد للتكرارات الفعالة", + "@max_reps": { + "description": "Generated entry for translation for server strings" + }, + "labelWorkoutPlan": "خطط التمارين", + "@labelWorkoutPlan": { + "description": "Title for screen workout plan" + }, + "nrOfSets": "المجموعات لكل تمرين: {nrOfSets}", + "@nrOfSets": { + "description": "Label shown on the slider where the user selects the nr of sets", + "type": "text", + "placeholders": { + "nrOfSets": {} + } + }, + "none__bodyweight_exercise_": "لا شيء (تمرين وزن الجسم)", + "@none__bodyweight_exercise_": { + "description": "Generated entry for translation for server strings" + }, + "category": "الفئة", + "@category": { + "description": "Category for an exercise, ingredient, etc." + }, + "rir": "عدد التكرارات المتبقية", + "@rir": { + "description": "Shorthand for Repetitions In Reserve" + }, + "productFoundDescription": "يتوافق رمز الباركود مع هذا المنتج: {productName}. أتريد الاستمرار؟", + "@productFoundDescription": { + "description": "Dialog info when product is found with barcode", + "type": "text", + "placeholders": { + "productName": {} + } + }, + "exercises": "التمارين", + "@exercises": { + "description": "Multiple exercises for a workout" + }, + "time": "وقت", + "@time": { + "description": "The time of a meal or workout" + }, + "calendar": "التقويم", + "@calendar": {}, + "until_failure": "وصولاً للفشل", + "@until_failure": { + "description": "Generated entry for translation for server strings" + }, + "lats": "العضلة الظهرية العريضة", + "@lats": { + "description": "Generated entry for translation for server strings" + }, + "verify": "تأكيد", + "@verify": {}, + "workoutSession": "جلسة تدريب", + "@workoutSession": { + "description": "A (logged) workout session" + }, + "logHelpEntriesUnits": "لاحظ أنه يتم رسم الإدخالات التي تحتوي على وحدة الوزن (كجم أو رطل) والتكرارات فقط، ويتم هنا تجاهل المجموعات الأخرى مثل الوقت أو حتى الفشل العضلي.", + "@logHelpEntriesUnits": {}, + "unVerifiedEmail": "بريد إلكتروني غير مفعّل", + "@unVerifiedEmail": {}, + "confirmPassword": "تأكيد كلمة المرور", + "@confirmPassword": {}, + "hamstrings": "أوتار الركبة", + "@hamstrings": { + "description": "Generated entry for translation for server strings" + }, + "aboutSourceTitle": "كود المصدر", + "@aboutSourceTitle": { + "description": "Title for source code section in the about dialog" + }, + "textPromptSubheading": "اضغط على الزر للبدء", + "@textPromptSubheading": {}, + "measurement": "القياس", + "@measurement": {} } diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 6dc0eb90..5660e72d 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -620,7 +620,7 @@ }, "images": "Bilder", "@images": {}, - "language": "Bilder", + "language": "Sprache", "@language": {}, "add_exercise_image_license": "Bilder müssen mit der CC BY SA Lizenz vereinbar sein. Wenn du dir unsicher bist lade nur Bilder hoch, welche du selbst gemacht hast.", "@add_exercise_image_license": {}, diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 7c2e595c..6be749ec 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -122,6 +122,10 @@ "@searchExercise": { "description": "Label on set form. Selected exercises are added to the set" }, + "noMatchingExerciseFound": "No matching exercises found", + "@noMatchingExerciseFound": { + "description": "Message returned if no exercises match the searched string" + }, "searchNamesInEnglish": "Also search for names in English", "supersetWith": "superset with", "@supersetWith": { @@ -463,6 +467,14 @@ "@aboutContactUsText": { "description": "Text for contact us section in the about dialog" }, + "aboutMastodonTitle": "Mastodon", + "@aboutMastodonTitle": { + "description": "Title for mastodon section in the about dialog" + }, + "aboutMastodonText": "Follow us on mastodon for updates and news about the project", + "@aboutMastodonText": { + "description": "Text for the mastodon section in the about dialog" + }, "aboutTranslationTitle": "Translation", "@aboutTranslationTitle": { "description": "Title for translation section in the about dialog" diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index b957f8db..1d5c7a69 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -7,7 +7,7 @@ "@weight": { "description": "The weight of a workout log or body weight entry" }, - "confirmDelete": "Êtes-vous sûr·e de vouloir supprimer « {toDelete} » ?", + "confirmDelete": "Êtes-vous sûre de vouloir supprimer « {toDelete} » ?", "@confirmDelete": { "description": "Confirmation text before the user deletes an object", "type": "text", @@ -648,7 +648,7 @@ "@glutes": {}, "kilometers": "Kilomètres", "@kilometers": {}, - "barbell": "Haltères", + "barbell": "Barre", "@barbell": {}, "lower_back": "Bas du dos", "@lower_back": {}, @@ -754,12 +754,20 @@ "@lb": { "description": "Generated entry for translation for server strings" }, - "searchNamesInEnglish": "Chercher également en termes anglais", + "searchNamesInEnglish": "Recherchez également des noms en anglais", "@searchNamesInEnglish": {}, "max_reps": "Maximum de répétitions", "@max_reps": { "description": "Generated entry for translation for server strings" }, "verify": "Vérifier", - "@verify": {} + "@verify": {}, + "aboutMastodonText": "Suivez-nous sur mastodon pour des mises à jour et des informations sur le projet", + "@aboutMastodonText": { + "description": "Text for the mastodon section in the about dialog" + }, + "noMatchingExerciseFound": "Aucun exercice correspondant n'a été trouvé", + "@noMatchingExerciseFound": { + "description": "Message returned if no exercises match the searched string" + } } diff --git a/lib/l10n/app_hr.arb b/lib/l10n/app_hr.arb index 29975a6e..eff752ba 100644 --- a/lib/l10n/app_hr.arb +++ b/lib/l10n/app_hr.arb @@ -487,7 +487,7 @@ "@gymMode": { "description": "Label when starting the gym mode" }, - "plateCalculator": "Pločasti utezi", + "plateCalculator": "Ploče", "@plateCalculator": { "description": "Label used for the plate calculator in the gym mode" }, @@ -682,7 +682,7 @@ "@triceps": { "description": "Generated entry for translation for server strings" }, - "swiss_ball": "Lopta za fitness", + "swiss_ball": "Gimnastička lopta", "@swiss_ball": { "description": "Generated entry for translation for server strings" }, @@ -811,5 +811,13 @@ "lower_back": "Donji dio leđa", "@lower_back": { "description": "Generated entry for translation for server strings" + }, + "aboutMastodonTitle": "Mastodon", + "@aboutMastodonTitle": { + "description": "Title for mastodon section in the about dialog" + }, + "aboutMastodonText": "Prati nas na Mastodonu za nove verzije i novosti o projektu", + "@aboutMastodonText": { + "description": "Text for the mastodon section in the about dialog" } } diff --git a/lib/l10n/app_id.arb b/lib/l10n/app_id.arb index f97a2eea..51915982 100644 --- a/lib/l10n/app_id.arb +++ b/lib/l10n/app_id.arb @@ -330,7 +330,7 @@ }, "difference": "Difference", "@difference": {}, - "percentEnergy": "Percent of energy", + "percentEnergy": "Persenan Energi", "@percentEnergy": {}, "gPerBodyKg": "g per body kg", "@gPerBodyKg": { @@ -557,5 +557,7 @@ "close": "Close", "@close": { "description": "Translation for close" - } + }, + "userProfile": "Profilmu", + "@userProfile": {} } diff --git a/lib/l10n/app_it.arb b/lib/l10n/app_it.arb index deedc3ed..e67047ce 100644 --- a/lib/l10n/app_it.arb +++ b/lib/l10n/app_it.arb @@ -674,5 +674,164 @@ "miles_per_hour": "Miglia per ora", "@miles_per_hour": { "description": "Generated entry for translation for server strings" + }, + "noMeasurementEntries": "Non hai voci di misurazione", + "@noMeasurementEntries": {}, + "add_exercise_image_license": "Le immagini devono essere compatibili con la licenza CC BY SA. In caso di dubbi, carica solo le foto che hai scattato tu stesso.", + "@add_exercise_image_license": {}, + "baseNameEnglish": "Tutti gli esercizi necessitano di un nome base in inglese", + "@baseNameEnglish": {}, + "aboutMastodonTitle": "Mastodonte", + "@aboutMastodonTitle": { + "description": "Title for mastodon section in the about dialog" + }, + "aboutMastodonText": "Seguici su mastodon per aggiornamenti e novità sul progetto", + "@aboutMastodonText": { + "description": "Text for the mastodon section in the about dialog" + }, + "enterMinCharacters": "Inserisci almeno {min} caratteri", + "@enterMinCharacters": { + "description": "Error message when the user hasn't entered the minimum amount characters in a form", + "type": "text", + "placeholders": { + "min": {} + } + }, + "sz_bar": "SZ-Bar", + "@sz_bar": { + "description": "Generated entry for translation for server strings" + }, + "variations": "Variazioni", + "@variations": { + "description": "Variations of one exercise (e.g. benchpress and benchpress narrow)" + }, + "unVerifiedEmail": "Email non Verificata", + "@unVerifiedEmail": {}, + "alsoKnownAs": "Conosciuto anche come: {aliases}", + "@alsoKnownAs": { + "placeholders": { + "aliases": {} + }, + "description": "List of alternative names for an exercise" + }, + "verifiedEmail": "Email Verificata", + "@verifiedEmail": {}, + "alternativeNames": "Nomi Alternativi", + "@alternativeNames": {}, + "translation": "Traduzione", + "@translation": {}, + "translateExercise": "Traduci questo esercizio ora", + "@translateExercise": {}, + "baseData": "Informazioni Base in Inglese", + "@baseData": { + "description": "The base data for an exercise such as category, trained muscles, etc." + }, + "contributeExercise": "Contribuisci aggiungendo un esercizio", + "@contributeExercise": {}, + "barbell": "Bilanciere", + "@barbell": { + "description": "Generated entry for translation for server strings" + }, + "swiss_ball": "Fitball", + "@swiss_ball": { + "description": "Generated entry for translation for server strings" + }, + "none__bodyweight_exercise_": "nessuno (esercizio con il peso corporeo)", + "@none__bodyweight_exercise_": { + "description": "Generated entry for translation for server strings" + }, + "biceps": "Bicipiti", + "@biceps": { + "description": "Generated entry for translation for server strings" + }, + "calves": "Polpacci", + "@calves": { + "description": "Generated entry for translation for server strings" + }, + "abs": "Addominali", + "@abs": { + "description": "Generated entry for translation for server strings" + }, + "kettlebell": "Kettlebell", + "@kettlebell": { + "description": "Generated entry for translation for server strings" + }, + "images": "Immagini", + "@images": {}, + "incline_bench": "Panca Inclinata", + "@incline_bench": { + "description": "Generated entry for translation for server strings" + }, + "lats": "Muscoli Dorsali", + "@lats": { + "description": "Generated entry for translation for server strings" + }, + "aboutPageTitle": "A proposito di Wger", + "@aboutPageTitle": {}, + "contributeExerciseWarning": "Puoi contribuire agli esercizi solo se il tuo account è più vecchio di {days} giorni e hai verificato la tua email", + "@contributeExerciseWarning": { + "description": "Number of days before which a person can add exercise", + "placeholders": { + "days": { + "type": "String", + "example": "14" + } + } + }, + "language": "Lingua", + "@language": {}, + "textPromptSubheading": "Premi il pulsante azione per iniziare", + "@textPromptSubheading": {}, + "arms": "Braccia", + "@arms": { + "description": "Generated entry for translation for server strings" + }, + "bench": "Panca", + "@bench": { + "description": "Generated entry for translation for server strings" + }, + "body_weight": "Peso Corporeo", + "@body_weight": { + "description": "Generated entry for translation for server strings" + }, + "dumbbell": "Manubrio", + "@dumbbell": { + "description": "Generated entry for translation for server strings" + }, + "plates": "Piastre", + "@plates": { + "description": "Generated entry for translation for server strings" + }, + "until_failure": "Fino al fallimento", + "@until_failure": { + "description": "Generated entry for translation for server strings" + }, + "lb": "lb", + "@lb": { + "description": "Generated entry for translation for server strings" + }, + "hamstrings": "Cosce", + "@hamstrings": { + "description": "Generated entry for translation for server strings" + }, + "pull_up_bar": "Barra per trazioni", + "@pull_up_bar": { + "description": "Generated entry for translation for server strings" + }, + "noMatchingExerciseFound": "Non sono stati trovati esercizi corrispondenti", + "@noMatchingExerciseFound": { + "description": "Message returned if no exercises match the searched string" + }, + "whatVariationsExist": "Ci sono delle variazioni per questo esercizio, se ne esistono?", + "@whatVariationsExist": {}, + "cacheWarning": "A causa del caching potrebbe volerci del tempo affinchè i cambiamenti siano visibili attraverso l'applicazione.", + "@cacheWarning": {}, + "back": "Schiena", + "@back": { + "description": "Generated entry for translation for server strings" + }, + "lower_back": "Zona Lombare", + "@lower_back": { + "description": "Generated entry for translation for server strings" } } diff --git a/lib/l10n/app_ja.arb b/lib/l10n/app_ja.arb index 7c6df049..19ad4374 100644 --- a/lib/l10n/app_ja.arb +++ b/lib/l10n/app_ja.arb @@ -264,12 +264,15 @@ "description": "The weight of a workout log or body weight entry" }, "measurement": "測定", + "@measurement": {}, "measurements": "測定結果", "@measurements": { "description": "Categories for the measurements such as biceps size, body fat, etc." }, "measurementCategoriesHelpText": "Measurement category, such as 'biceps' or 'body fat'", + "@measurementCategoriesHelpText": {}, "measurementEntriesHelpText": "The unit used to measure the category such as 'cm' or '%'", + "@measurementEntriesHelpText": {}, "date": "日付", "@date": { "description": "The date of a workout log or body weight entry" @@ -295,6 +298,7 @@ "description": "The end time of a workout" }, "timeStartAhead": "終了時刻を開始時刻より前にすることはできません", + "@timeStartAhead": {}, "ingredient": "食材", "@ingredient": {}, "energy": "エネルギー", @@ -310,6 +314,7 @@ "description": "Energy in a meal in kilocalories, kcal" }, "macronutrients": "大栄養素", + "@macronutrients": {}, "planned": "計画された", "@planned": { "description": "Header for the column of 'planned' nutritional values, i.e. what should be eaten" @@ -323,7 +328,9 @@ "description": "Header for the column of '7 day average' nutritional values, i.e. what was logged last week" }, "difference": "違い", + "@difference": {}, "percentEnergy": "エネルギーの割合(%)", + "@percentEnergy": {}, "gPerBodyKg": "体重(kg)に対するエネルギー(g)の割合", "@gPerBodyKg": { "description": "Label used for total sums of e.g. calories or similar in grams per Kg of body weight" @@ -344,13 +351,13 @@ "@protein": {}, "proteinShort": "P", "@proteinShort": { - "description" : "The first letter or short name of the word 'Protein', used in overviews" + "description": "The first letter or short name of the word 'Protein', used in overviews" }, "carbohydrates": "炭水化物", "@carbohydrates": {}, "carbohydratesShort": "C", "@carbohydratesShort": { - "description" : "The first letter or short name of the word 'Carbohydrates', used in overviews" + "description": "The first letter or short name of the word 'Carbohydrates', used in overviews" }, "sugars": "糖分", "@sugars": {}, @@ -358,7 +365,7 @@ "@fat": {}, "fatShort": "F", "@fatShort": { - "description" : "The first letter or short name of the word 'Fat', used in overviews" + "description": "The first letter or short name of the word 'Fat', used in overviews" }, "saturatedFat": "Saturated fat", "@saturatedFat": {}, @@ -405,6 +412,7 @@ "description": "Switch to toggle detail / overview" }, "goToDetailPage": "Go to detail page", + "@goToDetailPage": {}, "aboutDescription": "Thank you for using wger! wger is a collaborative open source project, made by fitness enthusiasts from around the world.", "@aboutDescription": { "description": "Text in the about dialog" @@ -502,21 +510,25 @@ "description": "Label for the popup with general app options" }, "takePicture": "Take a picture", + "@takePicture": {}, "chooseFromLibrary": "Choose from photo library", + "@chooseFromLibrary": {}, "gallery": "Gallery", + "@gallery": {}, "addImage": "Add image", + "@addImage": {}, "dataCopied": "Data copied to new entry", "@dataCopied": { "description": "Snackbar message to show on copying data to a new log entry" }, - "appUpdateTitle" : "Update needed", - "appUpdateContent" : "This version of the app is not compatible with the server, please update your application.", - + "appUpdateTitle": "Update needed", + "@appUpdateTitle": {}, + "appUpdateContent": "This version of the app is not compatible with the server, please update your application.", + "@appUpdateContent": {}, "productFound": "Product found", "@productFound": { "description": "Header label for dialog when product is found with barcode" }, - "productFoundDescription": "The barcode corresponds to this product: {productName}. Do you want to continue?", "@productFoundDescription": { "description": "Dialog info when product is found with barcode", @@ -544,5 +556,7 @@ "close": "Close", "@close": { "description": "Translation for close" - } + }, + "userProfile": "あなたのプロフィール", + "@userProfile": {} } diff --git a/lib/l10n/app_ro.arb b/lib/l10n/app_ro.arb new file mode 100644 index 00000000..f3c7a769 --- /dev/null +++ b/lib/l10n/app_ro.arb @@ -0,0 +1,208 @@ +{ + "comment": "Comentariu", + "@comment": { + "description": "Comment, additional information" + }, + "equipment": "Echipament", + "@equipment": { + "description": "Equipment needed to perform an exercise" + }, + "useDefaultServer": "Folosește serverul implicit", + "@useDefaultServer": { + "description": "Toggle button allowing users to switch between the default and a custom wger server" + }, + "successfullyDeleted": "S-a șters", + "@successfullyDeleted": { + "description": "Message when an item was successfully deleted" + }, + "set": "Serie", + "@set": { + "description": "A set in a workout plan" + }, + "labelBottomNavWorkout": "Workout", + "@labelBottomNavWorkout": { + "description": "Label used in bottom navigation, use a short word" + }, + "reset": "Resetare", + "@reset": { + "description": "Button text allowing the user to reset the entered values to the default" + }, + "password": "Parolă", + "@password": {}, + "invalidUsername": "Introdu, te rugăm, un nume de utilizator valid", + "@invalidUsername": { + "description": "Error message when the user enters an invalid username" + }, + "impression": "Impresie", + "@impression": { + "description": "General impression (e.g. for a workout session) such as good, bad, etc." + }, + "setNr": "Seria {nr}", + "@setNr": { + "description": "Header in form indicating the number of the current set. Can also be translated as something like 'Set Nr. xy'.", + "type": "text", + "placeholders": { + "nr": {} + } + }, + "noWorkoutPlans": "Nu ai niciun de antrenament", + "@noWorkoutPlans": { + "description": "Message shown when the user has no workout plans" + }, + "muscles": "Mușchi", + "@muscles": { + "description": "(main) muscles trained by an exercise" + }, + "dayDescriptionHelp": "O descriere a ceea ce se face în această zi (de exemplu, „zi de tragere”) sau ce părți ale corpului sunt antrenate (de ex.: „piept și umeri”)", + "@dayDescriptionHelp": {}, + "loginInstead": "Ai deja un cont? Log in", + "@loginInstead": {}, + "success": "Succes", + "@success": { + "description": "Message when an action completed successfully, usually used as a heading" + }, + "passwordTooShort": "Parola e prea scurtă", + "@passwordTooShort": { + "description": "Error message when the user a password that is too short" + }, + "repetitionUnit": "Unitate de repetiții", + "@repetitionUnit": {}, + "weightUnit": "Unitate de greutate", + "@weightUnit": {}, + "email": "Adresă de e-mail", + "@email": {}, + "newWorkout": "Plan de antrenament nou", + "@newWorkout": { + "description": "Header when adding a new workout" + }, + "searchNamesInEnglish": "Caută nume și în engleză", + "@searchNamesInEnglish": {}, + "username": "Nume de utilizator", + "@username": {}, + "exercise": "Exercițiu", + "@exercise": { + "description": "An exercise for a workout" + }, + "customServerHint": "Introdu adresa propriului server, altfel va fi folosită cea implicită", + "@customServerHint": { + "description": "Hint text for the form where the users can enter their own wger instance" + }, + "useCustomServer": "Folosește un server personalizat", + "@useCustomServer": { + "description": "Toggle button allowing users to switch between the default and a custom wger server" + }, + "notes": "Notițe", + "@notes": { + "description": "Personal notes, e.g. for a workout session" + }, + "register": "Înregistrează-te", + "@register": { + "description": "Text for registration button" + }, + "searchExercise": "Caută un exercițiu pentru a-l adăuga", + "@searchExercise": { + "description": "Label on set form. Selected exercises are added to the set" + }, + "registerInstead": "Nu ai un cont? Înregistrează-te acum", + "@registerInstead": {}, + "usernameValidChars": "Un nume de utilizator poate conține numai litere, cifre și caracterele @, +, ., - și _", + "@usernameValidChars": { + "description": "Error message when the user tries to register a username with forbidden characters" + }, + "labelWorkoutPlans": "Planuri de antrenament", + "@labelWorkoutPlans": { + "description": "Title for screen workout plans" + }, + "proteinShort": "P", + "@proteinShort": { + "description": "The first letter or short name of the word 'Protein', used in overviews" + }, + "userProfile": "Profilul tău", + "@userProfile": {}, + "labelWorkoutLogs": "Jurnale de antrenament", + "@labelWorkoutLogs": { + "description": "(Workout) logs" + }, + "rirNotUsed": "RîR nu e folosit", + "@rirNotUsed": { + "description": "Label used in RiR slider when the RiR value is not used/saved for the current setting or log" + }, + "successfullySaved": "S-a salvat", + "@successfullySaved": { + "description": "Message when an item was successfully saved" + }, + "exerciseList": "Lista exercițiilor", + "@exerciseList": {}, + "musclesSecondary": "Mușchi ajutători", + "@musclesSecondary": { + "description": "secondary muscles trained by an exercise" + }, + "labelDashboard": "Tablou de bord", + "@labelDashboard": { + "description": "Title for screen dashboard" + }, + "exerciseName": "Numele exercițiului", + "@exerciseName": { + "description": "Label for the name of a workout exercise" + }, + "labelBottomNavNutrition": "Nutriție", + "@labelBottomNavNutrition": { + "description": "Label used in bottom navigation, use a short word" + }, + "invalidUrl": "Te rugăm să introduci o adresă URL validă", + "@invalidUrl": { + "description": "Error message when the user enters an invalid URL, e.g. in the login form" + }, + "sameRepetitions": "Dacă faci n.r de repetări și greutatea la fel pentru toate seriile, poți completa doar un rând. De exemplu, pentru 4 serii, introdu 10 la repetări și devine automat „4 x 10”.", + "@sameRepetitions": {}, + "logout": "Deconectează-te", + "@logout": { + "description": "Text for logout button" + }, + "supersetWith": "superset cu", + "@supersetWith": { + "description": "Text used between exercise cards when adding a new set. Translate as something like 'in a superset with'" + }, + "customServerUrl": "URL-ul instanței wger", + "@customServerUrl": { + "description": "Label in the form where the users can enter their own wger instance" + }, + "login": "Log in", + "@login": { + "description": "Text for login button" + }, + "reps": "Repetiții", + "@reps": { + "description": "Shorthand for repetitions, used when space constraints are tighter" + }, + "passwordsDontMatch": "Parolele nu se potrivesc", + "@passwordsDontMatch": { + "description": "Error message when the user enters two different passwords during registration" + }, + "invalidEmail": "Te rugăm să introduci o adresă de email validă", + "@invalidEmail": { + "description": "Error message when the user enters an invalid email" + }, + "labelWorkoutPlan": "Plan de antrenament", + "@labelWorkoutPlan": { + "description": "Title for screen workout plan" + }, + "category": "Catogorie", + "@category": { + "description": "Category for an exercise, ingredient, etc." + }, + "rir": "RîR", + "@rir": { + "description": "Shorthand for Repetitions In Reserve" + }, + "exercises": "Exerciții", + "@exercises": { + "description": "Multiple exercises for a workout" + }, + "workoutSession": "Sesiune de antrenament", + "@workoutSession": { + "description": "A (logged) workout session" + }, + "confirmPassword": "Confirmă parola", + "@confirmPassword": {} +} diff --git a/lib/l10n/app_tr.arb b/lib/l10n/app_tr.arb index d9515a5c..f674d05d 100644 --- a/lib/l10n/app_tr.arb +++ b/lib/l10n/app_tr.arb @@ -751,5 +751,13 @@ "lb": "lb", "@lb": { "description": "Generated entry for translation for server strings" + }, + "aboutMastodonTitle": "Mastodon", + "@aboutMastodonTitle": { + "description": "Title for mastodon section in the about dialog" + }, + "aboutMastodonText": "Projeyle ilgili güncellemeler ve haberler için bizi Mastodon'da takip edin", + "@aboutMastodonText": { + "description": "Text for the mastodon section in the about dialog" } } diff --git a/lib/main.dart b/lib/main.dart index e21a3562..5628ad30 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -16,10 +16,8 @@ * along with this program. If not, see . */ -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -import 'package:flutter_zxing/flutter_zxing.dart'; import 'package:provider/provider.dart'; import 'package:wger/core/locator.dart'; import 'package:wger/providers/add_exercise.dart'; @@ -55,7 +53,8 @@ import 'package:wger/widgets/core/about.dart'; import 'providers/auth.dart'; void main() async { - zx.setLogEnabled(kDebugMode); + //zx.setLogEnabled(kDebugMode); + // Needs to be called before runApp WidgetsFlutterBinding.ensureInitialized(); diff --git a/lib/models/nutrition/nutritional_plan.dart b/lib/models/nutrition/nutritional_plan.dart index 978304c2..10a56828 100644 --- a/lib/models/nutrition/nutritional_plan.dart +++ b/lib/models/nutrition/nutritional_plan.dart @@ -91,17 +91,17 @@ class NutritionalPlan { NutritionalValues get nutritionalValues7DayAvg { final currentDate = DateTime.now(); - final sevenDaysAgo = currentDate.subtract(Duration(days: 7)); + final sevenDaysAgo = currentDate.subtract(const Duration(days: 7)); final entries = logs.where((obj) { - DateTime objDate = obj.datetime; + final DateTime objDate = obj.datetime; return objDate.isAfter(sevenDaysAgo) && objDate.isBefore(currentDate); }).toList(); var out = NutritionalValues(); - entries.forEach((log) { + for (final log in entries) { out = out + log.nutritionalValues; - }); + } return out; } diff --git a/lib/providers/body_weight.dart b/lib/providers/body_weight.dart index 82b0ad4d..35b10ff2 100644 --- a/lib/providers/body_weight.dart +++ b/lib/providers/body_weight.dart @@ -34,7 +34,7 @@ class BodyWeightProvider with ChangeNotifier { return [..._entries]; } - void set items(List entries) { + set items(List entries) { _entries = entries; } diff --git a/lib/providers/exercises.dart b/lib/providers/exercises.dart index 6caa0277..f4615733 100644 --- a/lib/providers/exercises.dart +++ b/lib/providers/exercises.dart @@ -730,7 +730,7 @@ class Filters { exerciseCategories: exerciseCategories ?? this.exerciseCategories, equipment: equipment ?? this.equipment, searchTerm: searchTerm ?? this.searchTerm, - doesNeedUpdate: doesNeedUpdate ?? this._doesNeedUpdate, + doesNeedUpdate: doesNeedUpdate ?? _doesNeedUpdate, ); } } diff --git a/lib/providers/gallery.dart b/lib/providers/gallery.dart index ce1980b4..f843e044 100644 --- a/lib/providers/gallery.dart +++ b/lib/providers/gallery.dart @@ -24,7 +24,6 @@ import 'package:http/http.dart' as http; import 'package:image_picker/image_picker.dart'; import 'package:wger/helpers/json.dart'; import 'package:wger/models/gallery/image.dart' as gallery; -import 'package:wger/providers/auth.dart'; import 'package:wger/providers/base_provider.dart'; class GalleryProvider extends WgerBaseProvider with ChangeNotifier { @@ -32,9 +31,8 @@ class GalleryProvider extends WgerBaseProvider with ChangeNotifier { List images = []; - GalleryProvider(AuthProvider auth, List entries, [http.Client? client]) - : images = entries, - super(auth, client); + GalleryProvider(super.auth, List entries, [super.client]) + : images = entries; /// Clears all lists void clear() { diff --git a/lib/providers/workout_plans.dart b/lib/providers/workout_plans.dart index 1c502d8d..12939adc 100644 --- a/lib/providers/workout_plans.dart +++ b/lib/providers/workout_plans.dart @@ -120,6 +120,7 @@ class WorkoutPlansProvider with ChangeNotifier { if (_workoutPlans.isNotEmpty) { return _workoutPlans.first; } + return null; } /* diff --git a/lib/screens/add_exercise_screen.dart b/lib/screens/add_exercise_screen.dart index 12616ded..dafe856f 100644 --- a/lib/screens/add_exercise_screen.dart +++ b/lib/screens/add_exercise_screen.dart @@ -17,7 +17,7 @@ import 'package:wger/widgets/user/forms.dart'; import 'form_screen.dart'; class AddExerciseScreen extends StatelessWidget { - const AddExerciseScreen({Key? key}) : super(key: key); + const AddExerciseScreen({super.key}); static const routeName = '/exercises/add'; @@ -30,7 +30,7 @@ class AddExerciseScreen extends StatelessWidget { } class AddExerciseStepper extends StatefulWidget { - const AddExerciseStepper({Key? key}) : super(key: key); + const AddExerciseStepper({super.key}); static const STEPS_IN_FORM = 5; @@ -182,8 +182,8 @@ class _AddExerciseStepperState extends State { class EmailNotVerified extends StatelessWidget { const EmailNotVerified({ - Key? key, - }) : super(key: key); + super.key, + }); @override Widget build(BuildContext context) { diff --git a/lib/screens/exercises_screen.dart b/lib/screens/exercises_screen.dart index 1a358862..f37b69b1 100644 --- a/lib/screens/exercises_screen.dart +++ b/lib/screens/exercises_screen.dart @@ -8,7 +8,7 @@ import 'package:wger/widgets/exercises/filter_row.dart'; import 'package:wger/widgets/exercises/list_tile.dart'; class ExercisesScreen extends StatefulWidget { - const ExercisesScreen({Key? key}) : super(key: key); + const ExercisesScreen({super.key}); static const routeName = '/exercises'; @override @@ -27,9 +27,9 @@ class _ExercisesScreenState extends State { appBar: EmptyAppBar(AppLocalizations.of(context).exercises), body: Column( children: [ - FilterRow(), + const FilterRow(), Expanded( - child: exercisesList == null + child: exercisesList.isEmpty ? const Center( child: SizedBox( height: 100, @@ -53,9 +53,8 @@ class _ExercisesScreenState extends State { class _ExercisesList extends StatelessWidget { const _ExercisesList({ - Key? key, required this.exerciseBaseList, - }) : super(key: key); + }); final List exerciseBaseList; diff --git a/lib/widgets/add_exercise/add_exercise_dropdown_button.dart b/lib/widgets/add_exercise/add_exercise_dropdown_button.dart index 0f2894da..7b8d71dd 100644 --- a/lib/widgets/add_exercise/add_exercise_dropdown_button.dart +++ b/lib/widgets/add_exercise/add_exercise_dropdown_button.dart @@ -2,13 +2,13 @@ import 'package:flutter/material.dart'; class AddExerciseDropdownButton extends StatefulWidget { const AddExerciseDropdownButton({ - Key? key, + super.key, required this.items, required this.title, required this.onChange, this.validator, this.onSaved, - }) : super(key: key); + }); final List items; final String title; diff --git a/lib/widgets/add_exercise/add_exercise_multiselect_button.dart b/lib/widgets/add_exercise/add_exercise_multiselect_button.dart index d190ef38..97cbbcea 100644 --- a/lib/widgets/add_exercise/add_exercise_multiselect_button.dart +++ b/lib/widgets/add_exercise/add_exercise_multiselect_button.dart @@ -10,14 +10,13 @@ class AddExerciseMultiselectButton extends StatefulWidget { final Function displayName; const AddExerciseMultiselectButton( - {Key? key, + {super.key, required this.items, required this.title, required this.onChange, this.initialItems = const [], this.onSaved, - required this.displayName}) - : super(key: key); + required this.displayName}); @override _AddExerciseMultiselectButtonState createState() => _AddExerciseMultiselectButtonState(); diff --git a/lib/widgets/add_exercise/add_exercise_text_area.dart b/lib/widgets/add_exercise/add_exercise_text_area.dart index cec1d50c..7bad7be6 100644 --- a/lib/widgets/add_exercise/add_exercise_text_area.dart +++ b/lib/widgets/add_exercise/add_exercise_text_area.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; class AddExerciseTextArea extends StatelessWidget { const AddExerciseTextArea({ - Key? key, + super.key, required this.onChange, required this.title, this.helperText = '', @@ -10,7 +10,7 @@ class AddExerciseTextArea extends StatelessWidget { this.isMultiline = false, this.validator, this.onSaved, - }) : super(key: key); + }); final ValueChanged onChange; final bool isRequired; diff --git a/lib/widgets/add_exercise/preview_images.dart b/lib/widgets/add_exercise/preview_images.dart index e9f291af..65a46567 100644 --- a/lib/widgets/add_exercise/preview_images.dart +++ b/lib/widgets/add_exercise/preview_images.dart @@ -3,14 +3,14 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import '../../providers/add_exercise.dart'; +import 'package:wger/providers/add_exercise.dart'; import 'mixins/image_picker_mixin.dart'; class PreviewExerciseImages extends StatelessWidget with ExerciseImagePickerMixin { PreviewExerciseImages({ - Key? key, + super.key, required this.selectedImages, - }) : super(key: key); + }); final List selectedImages; @override @@ -52,7 +52,7 @@ class PreviewExerciseImages extends StatelessWidget with ExerciseImagePickerMixi ), ), ) - .toList(), + , const SizedBox( width: 10, ), diff --git a/lib/widgets/add_exercise/steps/step2variations.dart b/lib/widgets/add_exercise/steps/step2variations.dart index 4a92a1e6..f69a95d9 100644 --- a/lib/widgets/add_exercise/steps/step2variations.dart +++ b/lib/widgets/add_exercise/steps/step2variations.dart @@ -19,7 +19,7 @@ class Step2Variations extends StatelessWidget { children: [ Text( AppLocalizations.of(context).whatVariationsExist, - style: Theme.of(context).textTheme.caption, + style: Theme.of(context).textTheme.bodySmall, ), const SizedBox(height: 10), SizedBox( @@ -48,7 +48,7 @@ class Step2Variations extends StatelessWidget { overflow: TextOverflow.ellipsis, ), ) - .toList(), + , const SizedBox(height: 20), ], ), @@ -61,7 +61,7 @@ class Step2Variations extends StatelessWidget { ], ), ) - .toList(), + , // Exercise bases without variations ...exerciseProvider.exercises .where((b) => b.variationId == null) @@ -93,7 +93,7 @@ class Step2Variations extends StatelessWidget { ], ), ) - .toList(), + , ], ), ), diff --git a/lib/widgets/add_exercise/steps/step5images.dart b/lib/widgets/add_exercise/steps/step5images.dart index 34eb1602..a0c7d043 100644 --- a/lib/widgets/add_exercise/steps/step5images.dart +++ b/lib/widgets/add_exercise/steps/step5images.dart @@ -22,7 +22,7 @@ class _Step5ImagesState extends State with ExerciseImagePickerMixin children: [ Text( AppLocalizations.of(context).add_exercise_image_license, - style: Theme.of(context).textTheme.caption, + style: Theme.of(context).textTheme.bodySmall, ), Consumer( builder: (ctx, provider, __) => provider.exerciseImages.isNotEmpty @@ -45,7 +45,7 @@ class _Step5ImagesState extends State with ExerciseImagePickerMixin ), Text( 'Only JPEG, PNG and WEBP files below 20 MB are supported', - style: Theme.of(context).textTheme.caption, + style: Theme.of(context).textTheme.bodySmall, ) ], ), diff --git a/lib/widgets/core/about.dart b/lib/widgets/core/about.dart index d4b15e4a..fa64f8ed 100644 --- a/lib/widgets/core/about.dart +++ b/lib/widgets/core/about.dart @@ -18,13 +18,14 @@ import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; +import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:provider/provider.dart'; import 'package:wger/helpers/misc.dart'; import 'package:wger/providers/auth.dart'; class AboutPage extends StatefulWidget { static String routeName = '/AboutPage'; - const AboutPage({Key? key}) : super(key: key); + const AboutPage({super.key}); @override State createState() => _AboutPageState(); @@ -35,6 +36,7 @@ class _AboutPageState extends State { Widget build(BuildContext context) { final deviceSize = MediaQuery.of(context).size; final authProvider = Provider.of(context, listen: false); + final today = DateTime.now(); return Scaffold( appBar: AppBar( @@ -78,7 +80,7 @@ class _AboutPageState extends State { Padding( padding: EdgeInsets.only(left: 0.225 * deviceSize.width), child: Text( - '\u{a9} 2020 - 2021 contributors', + '\u{a9} 2020 - ${today.year} contributors', style: Theme.of(context).textTheme.bodySmall, ), ), @@ -124,7 +126,7 @@ class _AboutPageState extends State { ), const SizedBox(height: 10), ListTile( - leading: const Icon(Icons.chat), + leading: const Icon(FontAwesomeIcons.discord), title: Text(AppLocalizations.of(context).aboutContactUsTitle), subtitle: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -140,6 +142,23 @@ class _AboutPageState extends State { onTap: () async => launchURL('https://discord.gg/rPWFv6W', context), ), const SizedBox(height: 10), + ListTile( + leading: const Icon(FontAwesomeIcons.mastodon), + title: Text(AppLocalizations.of(context).aboutMastodonTitle), + subtitle: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text(AppLocalizations.of(context).aboutMastodonText), + const Text( + 'https://fosstodon.org/@wger', + style: TextStyle(color: Colors.blue), + ), + ], + ), + contentPadding: EdgeInsets.zero, + onTap: () async => launchURL('https://fosstodon.org/@wger', context), + ), + const SizedBox(height: 10), ListTile( leading: const Icon(Icons.translate), title: Text(AppLocalizations.of(context).aboutTranslationTitle), diff --git a/lib/widgets/core/core.dart b/lib/widgets/core/core.dart index c65ea59b..6430f5b6 100644 --- a/lib/widgets/core/core.dart +++ b/lib/widgets/core/core.dart @@ -38,7 +38,7 @@ class MutedText extends StatelessWidget { } class Pill extends StatelessWidget { - const Pill({Key? key, required this.title}) : super(key: key); + const Pill({super.key, required this.title}); final String title; diff --git a/lib/widgets/dashboard/calendar.dart b/lib/widgets/dashboard/calendar.dart index 97947704..f7ba8ba6 100644 --- a/lib/widgets/dashboard/calendar.dart +++ b/lib/widgets/dashboard/calendar.dart @@ -270,7 +270,7 @@ class _DashboardCalendarWidgetState extends State subtitle: Text(event.description), //onTap: () => print('$event tapped!'), )) - .toList() + ], ), ), diff --git a/lib/widgets/dashboard/widgets.dart b/lib/widgets/dashboard/widgets.dart index 8c3b6332..01699aa0 100644 --- a/lib/widgets/dashboard/widgets.dart +++ b/lib/widgets/dashboard/widgets.dart @@ -263,7 +263,7 @@ class _DashboardWeightWidgetState extends State { if (weightEntriesData.items.isNotEmpty) Column( children: [ - Container( + SizedBox( height: 200, child: MeasurementChartWidgetFl(weightEntriesData.items .map((e) => MeasurementChartEntry(e.weight, e.date)) @@ -509,7 +509,7 @@ class _DashboardWorkoutWidgetState extends State { ], ) : Container(); - }).toList(), + }), ], ), )); diff --git a/lib/widgets/exercises/exercises.dart b/lib/widgets/exercises/exercises.dart index 718bf6a3..8110221e 100644 --- a/lib/widgets/exercises/exercises.dart +++ b/lib/widgets/exercises/exercises.dart @@ -156,7 +156,7 @@ class ExerciseDetail extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ const MuscleColorHelper(main: true), - ..._exerciseBase.muscles.map((e) => Text(e.nameTranslated(context))).toList(), + ..._exerciseBase.muscles.map((e) => Text(e.nameTranslated(context))), ], ), ); @@ -166,7 +166,7 @@ class ExerciseDetail extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ const MuscleColorHelper(main: false), - ..._exerciseBase.musclesSecondary.map((e) => Text(e.name)).toList(), + ..._exerciseBase.musclesSecondary.map((e) => Text(e.name)), ], ), ); @@ -259,8 +259,8 @@ class MuscleColorHelper extends StatelessWidget { const MuscleColorHelper({ this.main = true, - Key? key, - }) : super(key: key); + super.key, + }); @override Widget build(BuildContext context) { @@ -343,10 +343,10 @@ class MuscleWidget extends StatelessWidget { SvgPicture.asset('assets/images/muscles/$background.svg'), ...muscles .map((m) => SvgPicture.asset('assets/images/muscles/main/muscle-${m.id}.svg')) - .toList(), + , ...musclesSecondary .map((m) => SvgPicture.asset('assets/images/muscles/secondary/muscle-${m.id}.svg')) - .toList(), + , ], ); } diff --git a/lib/widgets/exercises/filter_modal.dart b/lib/widgets/exercises/filter_modal.dart index 0b1c0002..d90b290c 100644 --- a/lib/widgets/exercises/filter_modal.dart +++ b/lib/widgets/exercises/filter_modal.dart @@ -23,8 +23,8 @@ import 'package:wger/providers/exercises.dart'; class ExerciseFilterModalBody extends StatefulWidget { const ExerciseFilterModalBody({ - Key? key, - }) : super(key: key); + super.key, + }); @override _ExerciseFilterModalBodyState createState() => _ExerciseFilterModalBodyState(); diff --git a/lib/widgets/exercises/filter_row.dart b/lib/widgets/exercises/filter_row.dart index d7510dd1..bb092489 100644 --- a/lib/widgets/exercises/filter_row.dart +++ b/lib/widgets/exercises/filter_row.dart @@ -25,7 +25,7 @@ import 'package:wger/screens/add_exercise_screen.dart'; import 'filter_modal.dart'; class FilterRow extends StatefulWidget { - const FilterRow({Key? key}) : super(key: key); + const FilterRow({super.key}); @override _FilterRowState createState() => _FilterRowState(); diff --git a/lib/widgets/exercises/forms.dart b/lib/widgets/exercises/forms.dart index 4983d88f..d0757728 100644 --- a/lib/widgets/exercises/forms.dart +++ b/lib/widgets/exercises/forms.dart @@ -68,7 +68,7 @@ class _ExerciseCategoryInputWidgetState extends State { /// /// Taken from this example: https://pub.dev/packages/video_player/example class _ControlsOverlay extends StatelessWidget { - const _ControlsOverlay({Key? key, required this.controller}) : super(key: key); + const _ControlsOverlay({required this.controller}); static const _playbackRates = [ 0.25, diff --git a/lib/widgets/measurements/categories.dart b/lib/widgets/measurements/categories.dart index 9dbd4fc4..45a9b364 100644 --- a/lib/widgets/measurements/categories.dart +++ b/lib/widgets/measurements/categories.dart @@ -25,14 +25,14 @@ import 'categories_card.dart'; class CategoriesList extends StatelessWidget { @override Widget build(BuildContext context) { - final _provider = Provider.of(context, listen: false); + final provider = Provider.of(context, listen: false); return RefreshIndicator( - onRefresh: () => _provider.fetchAndSetAllCategoriesAndEntries(), + onRefresh: () => provider.fetchAndSetAllCategoriesAndEntries(), child: ListView.builder( padding: const EdgeInsets.all(10.0), - itemCount: _provider.categories.length, - itemBuilder: (context, index) => CategoriesCard(_provider.categories[index]), + itemCount: provider.categories.length, + itemBuilder: (context, index) => CategoriesCard(provider.categories[index]), ), ); } diff --git a/lib/widgets/measurements/categories_card.dart b/lib/widgets/measurements/categories_card.dart index b660f7dc..a855af17 100644 --- a/lib/widgets/measurements/categories_card.dart +++ b/lib/widgets/measurements/categories_card.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -import '../../models/measurements/measurement_category.dart'; -import '../../screens/form_screen.dart'; -import '../../screens/measurement_entries_screen.dart'; +import 'package:wger/models/measurements/measurement_category.dart'; +import 'package:wger/screens/form_screen.dart'; +import 'package:wger/screens/measurement_entries_screen.dart'; import 'charts.dart'; import 'forms.dart'; diff --git a/lib/widgets/measurements/charts.dart b/lib/widgets/measurements/charts.dart index 66f08c5a..8aaca9ab 100644 --- a/lib/widgets/measurements/charts.dart +++ b/lib/widgets/measurements/charts.dart @@ -70,13 +70,13 @@ class _MeasurementChartWidgetFlState extends State { //horizontalInterval: 1, //verticalInterval: interval, getDrawingHorizontalLine: (value) { - return FlLine( + return const FlLine( color: Colors.grey, strokeWidth: 1, ); }, getDrawingVerticalLine: (value) { - return FlLine( + return const FlLine( color: Colors.grey, strokeWidth: 1, ); @@ -84,10 +84,10 @@ class _MeasurementChartWidgetFlState extends State { ), titlesData: FlTitlesData( show: true, - rightTitles: AxisTitles( + rightTitles: const AxisTitles( sideTitles: SideTitles(showTitles: false), ), - topTitles: AxisTitles( + topTitles: const AxisTitles( sideTitles: SideTitles(showTitles: false), ), bottomTitles: AxisTitles( diff --git a/lib/widgets/measurements/entries.dart b/lib/widgets/measurements/entries.dart index 86983282..c3cf8337 100644 --- a/lib/widgets/measurements/entries.dart +++ b/lib/widgets/measurements/entries.dart @@ -86,7 +86,7 @@ class EntriesList extends StatelessWidget { return true; }, secondaryBackground: Container( - color: Theme.of(context).errorColor, + color: Theme.of(context).colorScheme.error, alignment: Alignment.centerRight, padding: const EdgeInsets.only(right: 20), margin: const EdgeInsets.symmetric( @@ -113,7 +113,7 @@ class EntriesList extends StatelessWidget { ), child: Card( child: ListTile( - title: Text('${currentEntry.value.toString()} ${_category.unit}'), + title: Text('${currentEntry.value} ${_category.unit}'), subtitle: Text( DateFormat.yMd(Localizations.localeOf(context).languageCode) .format(currentEntry.date), diff --git a/lib/widgets/nutrition/charts.dart b/lib/widgets/nutrition/charts.dart index cefc8434..e4ec2dd2 100644 --- a/lib/widgets/nutrition/charts.dart +++ b/lib/widgets/nutrition/charts.dart @@ -158,7 +158,7 @@ class NutritionalDiaryChartWidgetFl extends StatefulWidget { const NutritionalDiaryChartWidgetFl({ super.key, required NutritionalPlan nutritionalPlan, - }) : _nutritionalPlan = nutritionalPlan; + }) : _nutritionalPlan = nutritionalPlan; final NutritionalPlan _nutritionalPlan; @@ -395,10 +395,9 @@ class FlNutritionalDiaryChartWidget extends StatefulWidget { final NutritionalPlan _nutritionalPlan; const FlNutritionalDiaryChartWidget({ - Key? key, + super.key, required NutritionalPlan nutritionalPlan, - }) : _nutritionalPlan = nutritionalPlan, - super(key: key); + }) : _nutritionalPlan = nutritionalPlan; final Color barColor = Colors.red; final Color touchedBarColor = Colors.deepOrange; @@ -541,13 +540,13 @@ class FlNutritionalDiaryChartWidgetState extends State FlLine( + getDrawingHorizontalLine: (value) => const FlLine( color: Colors.grey, strokeWidth: 1, ), diff --git a/lib/widgets/nutrition/meal.dart b/lib/widgets/nutrition/meal.dart index bca75716..381ef006 100644 --- a/lib/widgets/nutrition/meal.dart +++ b/lib/widgets/nutrition/meal.dart @@ -86,7 +86,7 @@ class _MealWidgetState extends State { Ink( decoration: ShapeDecoration( color: Theme.of(context).primaryColor, //wgerPrimaryButtonColor, - shape: CircleBorder(), + shape: const CircleBorder(), ), child: IconButton( icon: const Icon(Icons.history_edu), @@ -121,7 +121,7 @@ class _MealWidgetState extends State { ], ), if (_expanded) const Divider(), - ...widget._meal.mealItems.map((item) => MealItemWidget(item, _expanded)).toList(), + ...widget._meal.mealItems.map((item) => MealItemWidget(item, _expanded)), OutlinedButton( child: Text(AppLocalizations.of(context).addIngredient), onPressed: () { diff --git a/lib/widgets/nutrition/nutritional_plans_list.dart b/lib/widgets/nutrition/nutritional_plans_list.dart index 6d1eae27..58b11210 100644 --- a/lib/widgets/nutrition/nutritional_plans_list.dart +++ b/lib/widgets/nutrition/nutritional_plans_list.dart @@ -58,7 +58,7 @@ class NutritionalPlansList extends StatelessWidget { TextButton( child: Text( AppLocalizations.of(context).delete, - style: TextStyle(color: Theme.of(context).errorColor), + style: TextStyle(color: Theme.of(context).colorScheme.error), ), onPressed: () { // Confirmed, delete the workout @@ -84,7 +84,7 @@ class NutritionalPlansList extends StatelessWidget { return res; }, background: Container( - color: Theme.of(context).errorColor, + color: Theme.of(context).colorScheme.error, alignment: Alignment.centerRight, padding: const EdgeInsets.only(right: 20), margin: const EdgeInsets.symmetric( diff --git a/lib/widgets/weight/entries_list.dart b/lib/widgets/weight/entries_list.dart index 9937e0f2..8377ec5b 100644 --- a/lib/widgets/weight/entries_list.dart +++ b/lib/widgets/weight/entries_list.dart @@ -29,7 +29,7 @@ import 'package:wger/widgets/weight/forms.dart'; class WeightEntriesList extends StatelessWidget { @override Widget build(BuildContext context) { - final _weightProvider = Provider.of(context, listen: false); + final weightProvider = Provider.of(context, listen: false); return Column( children: [ @@ -37,7 +37,7 @@ class WeightEntriesList extends StatelessWidget { padding: const EdgeInsets.all(15), height: 220, child: MeasurementChartWidgetFl( - _weightProvider.items.map((e) => MeasurementChartEntry(e.weight, e.date)).toList()), + weightProvider.items.map((e) => MeasurementChartEntry(e.weight, e.date)).toList()), ), TextButton( onPressed: () => Navigator.pushNamed( @@ -54,18 +54,18 @@ class WeightEntriesList extends StatelessWidget { ), Expanded( child: RefreshIndicator( - onRefresh: () => _weightProvider.fetchAndSetEntries(), + onRefresh: () => weightProvider.fetchAndSetEntries(), child: ListView.builder( padding: const EdgeInsets.all(10.0), - itemCount: _weightProvider.items.length, + itemCount: weightProvider.items.length, itemBuilder: (context, index) { - final currentEntry = _weightProvider.items[index]; + final currentEntry = weightProvider.items[index]; return Dismissible( key: Key(currentEntry.id.toString()), onDismissed: (direction) { if (direction == DismissDirection.endToStart) { // Delete entry from DB - _weightProvider.deleteEntry(currentEntry.id!); + weightProvider.deleteEntry(currentEntry.id!); // and inform the user ScaffoldMessenger.of(context).showSnackBar( @@ -94,7 +94,7 @@ class WeightEntriesList extends StatelessWidget { return true; }, secondaryBackground: Container( - color: Theme.of(context).errorColor, + color: Theme.of(context).colorScheme.error, alignment: Alignment.centerRight, padding: const EdgeInsets.only(right: 20), margin: const EdgeInsets.symmetric( diff --git a/lib/widgets/workouts/charts.dart b/lib/widgets/workouts/charts.dart index cbf5bbd5..fd632128 100644 --- a/lib/widgets/workouts/charts.dart +++ b/lib/widgets/workouts/charts.dart @@ -76,13 +76,13 @@ class _LogChartWidgetFlState extends State { show: true, drawVerticalLine: true, getDrawingHorizontalLine: (value) { - return FlLine( + return const FlLine( color: Colors.grey, strokeWidth: 1, ); }, getDrawingVerticalLine: (value) { - return FlLine( + return const FlLine( color: Colors.grey, strokeWidth: 1, ); @@ -90,10 +90,10 @@ class _LogChartWidgetFlState extends State { ), titlesData: FlTitlesData( show: true, - rightTitles: AxisTitles( + rightTitles: const AxisTitles( sideTitles: SideTitles(showTitles: false), ), - topTitles: AxisTitles( + topTitles: const AxisTitles( sideTitles: SideTitles(showTitles: false), ), bottomTitles: AxisTitles( diff --git a/lib/widgets/workouts/day.dart b/lib/widgets/workouts/day.dart index 99c9d438..76cc550c 100644 --- a/lib/widgets/workouts/day.dart +++ b/lib/widgets/workouts/day.dart @@ -80,7 +80,7 @@ class SettingWidget extends StatelessWidget { subtitle: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - ...set.getSmartRepr(setting.exerciseObj).map((e) => Text(e)).toList(), + ...set.getSmartRepr(setting.exerciseObj).map((e) => Text(e)), ], ), ); @@ -140,7 +140,7 @@ class _WorkoutDayWidgetState extends State { toggle: _toggleExpanded, ), ) - .toList(), + , const Divider(), ], ), diff --git a/lib/widgets/workouts/forms.dart b/lib/widgets/workouts/forms.dart index 7071185e..faf03f36 100644 --- a/lib/widgets/workouts/forms.dart +++ b/lib/widgets/workouts/forms.dart @@ -30,6 +30,7 @@ import 'package:wger/models/workouts/weight_unit.dart'; import 'package:wger/models/workouts/workout_plan.dart'; import 'package:wger/providers/exercises.dart'; import 'package:wger/providers/workout_plans.dart'; +import 'package:wger/screens/add_exercise_screen.dart'; import 'package:wger/screens/workout_plan_screen.dart'; import 'package:wger/widgets/exercises/images.dart'; @@ -209,7 +210,7 @@ class _DayFormWidgetState extends State { }, ), const SizedBox(height: 10), - ...Day.weekdays.keys.map((dayNr) => DayCheckbox(dayNr, widget._day)).toList(), + ...Day.weekdays.keys.map((dayNr) => DayCheckbox(dayNr, widget._day)), ElevatedButton( key: const Key(SUBMIT_BUTTON_KEY_NAME), child: Text(AppLocalizations.of(context).save), @@ -423,12 +424,29 @@ class _SetFormWidgetState extends State { ), ); }, + noItemsFoundBuilder: (context) { + return Padding( + padding: const EdgeInsets.symmetric(vertical: 8.0), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Text(AppLocalizations.of(context).noMatchingExerciseFound), + TextButton( + onPressed: () { + Navigator.of(context).pushNamed(AddExerciseScreen.routeName); + }, + child: Text(AppLocalizations.of(context).contributeExercise), + ), + ], + ), + ); + }, transitionBuilder: (context, suggestionsBox, controller) { return suggestionsBox; }, onSuggestionSelected: (Exercise exerciseSuggestion) { addExercise(exerciseSuggestion); - this._exercisesController.text = ''; + _exercisesController.text = ''; }, validator: (value) { // At least one exercise must be selected @@ -509,7 +527,7 @@ class _SetFormWidgetState extends State { ), ], ); - }).toList(), + }), ElevatedButton( key: const Key(SUBMIT_BUTTON_KEY_NAME), child: Text(AppLocalizations.of(context).save), @@ -799,7 +817,7 @@ class _RiRInputWidgetState extends State { if (value < 0) { return AppLocalizations.of(context).rirNotUsed; } - return '${value.toString()} ${AppLocalizations.of(context).rir}'; + return '$value ${AppLocalizations.of(context).rir}'; } String mapDoubleToAllowedRir(double value) { @@ -847,7 +865,7 @@ class _RiRInputWidgetState extends State { class WeightUnitInputWidget extends StatefulWidget { final dynamic _setting; - const WeightUnitInputWidget(this._setting, {Key? key}) : super(key: key); + const WeightUnitInputWidget(this._setting, {super.key}); @override _WeightUnitInputWidgetState createState() => _WeightUnitInputWidgetState(); diff --git a/lib/widgets/workouts/gym_mode.dart b/lib/widgets/workouts/gym_mode.dart index 7a15979f..79ed3fe6 100644 --- a/lib/widgets/workouts/gym_mode.dart +++ b/lib/widgets/workouts/gym_mode.dart @@ -59,7 +59,7 @@ class _GymModeState extends State { var _totalElements = 1; /// Map with the first (navigation) page for each exercise - final Map _exercisePages = {}; + final Map _exercisePages = {}; final PageController _controller = PageController( initialPage: 0, ); @@ -89,7 +89,7 @@ class _GymModeState extends State { .findExerciseById(setting.exerciseId); if (firstPage) { - _exercisePages[exerciseBase.uuid!] = currentPage; + _exercisePages[exerciseBase] = currentPage; currentPage++; } @@ -169,7 +169,7 @@ class _GymModeState extends State { class StartPage extends StatelessWidget { final PageController _controller; final Day _day; - final Map _exercisePages; + final Map _exercisePages; const StartPage(this._controller, this._day, this._exercisePages); @@ -235,7 +235,7 @@ class LogPage extends StatefulWidget { final Exercise _exerciseBase; final WorkoutPlan _workoutPlan; final double _ratioCompleted; - final Map _exercisePages; + final Map _exercisePages; final Log _log = Log.empty(); LogPage( @@ -664,7 +664,7 @@ class ExerciseOverview extends StatelessWidget { final PageController _controller; final Exercise _exerciseBase; final double _ratioCompleted; - final Map _exercisePages; + final Map _exercisePages; const ExerciseOverview( this._controller, @@ -726,7 +726,7 @@ class SessionPage extends StatefulWidget { final WorkoutPlan _workoutPlan; final PageController _controller; final TimeOfDay _start; - final Map _exercisePages; + final Map _exercisePages; const SessionPage( this._workoutPlan, @@ -933,9 +933,13 @@ class _SessionPageState extends State { class TimerWidget extends StatefulWidget { final PageController _controller; final double _ratioCompleted; - final Map _exercisePages; + final Map _exercisePages; - const TimerWidget(this._controller, this._ratioCompleted, this._exercisePages); + const TimerWidget( + this._controller, + this._ratioCompleted, + this._exercisePages, + ); @override _TimerWidgetState createState() => _TimerWidgetState(); @@ -1060,7 +1064,7 @@ class NavigationFooter extends StatelessWidget { class NavigationHeader extends StatelessWidget { final PageController _controller; final String _title; - final Map exercisePages; + final Map exercisePages; const NavigationHeader( this._title, @@ -1080,7 +1084,7 @@ class NavigationHeader extends StatelessWidget { children: [ ...exercisePages.keys.map((e) { return ListTile( - title: Text(e), + title: Text(e.getExercise(Localizations.localeOf(context).languageCode).name), trailing: const Icon(Icons.chevron_right), onTap: () { _controller.animateToPage( diff --git a/lib/widgets/workouts/log.dart b/lib/widgets/workouts/log.dart index 81137324..523016c9 100644 --- a/lib/widgets/workouts/log.dart +++ b/lib/widgets/workouts/log.dart @@ -140,14 +140,14 @@ class _DayLogWidgetState extends State { ], ), ) - .toList(), + , Padding( padding: const EdgeInsets.symmetric(horizontal: 15), child: ExerciseLogChart(base, widget._date), ) ], ); - }).toList() + }) ], ), ); diff --git a/lib/widgets/workouts/workout_plans_list.dart b/lib/widgets/workouts/workout_plans_list.dart index 92723dd4..d2bc3d7e 100644 --- a/lib/widgets/workouts/workout_plans_list.dart +++ b/lib/widgets/workouts/workout_plans_list.dart @@ -59,7 +59,7 @@ class WorkoutPlansList extends StatelessWidget { TextButton( child: Text( AppLocalizations.of(context).delete, - style: TextStyle(color: Theme.of(context).errorColor), + style: TextStyle(color: Theme.of(context).colorScheme.error), ), onPressed: () { // Confirmed, delete the workout @@ -86,7 +86,7 @@ class WorkoutPlansList extends StatelessWidget { return res; }, background: Container( - color: Theme.of(context).errorColor, + color: Theme.of(context).colorScheme.error, alignment: Alignment.centerRight, padding: const EdgeInsets.only(right: 20), margin: const EdgeInsets.symmetric( diff --git a/pubspec.yaml b/pubspec.yaml index 9064ccbe..c6e4a8c5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -21,7 +21,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev # - the version number is taken from the git tag vX.Y.Z # - the build number is computed by reading the last one from the play store # and increasing by one -version: 1.6.0+35 +version: 1.6.3+38 environment: sdk: '>=3.0.0 <4.0.0' @@ -40,12 +40,12 @@ dependencies: flutter_html: ^3.0.0-beta.2 flutter_typeahead: ^4.8.0 font_awesome_flutter: ^10.4.0 - http: ^1.1.0 - image_picker: ^1.0.4 + http: ^1.1.2 + image_picker: ^1.0.6 intl: ^0.18.1 json_annotation: ^4.8.1 version: ^3.0.2 - package_info_plus: ^4.2.0 + package_info_plus: ^5.0.1 provider: ^6.1.1 rive: ^0.12.2 shared_preferences: ^2.2.2 @@ -57,8 +57,8 @@ dependencies: carousel_slider: ^4.2.1 multi_select_flutter: ^4.1.3 flutter_svg: ^2.0.5 - fl_chart: ^0.64.0 - flutter_zxing: ^1.1.2 + fl_chart: ^0.66.0 + flutter_zxing: ^1.5.2 drift: ^2.13.1 path: ^1.8.3 path_provider: ^2.1.1 @@ -75,7 +75,7 @@ dev_dependencies: sdk: flutter build_runner: ^2.3.3 json_serializable: ^6.7.1 - mockito: ^5.4.3 + mockito: ^5.4.4 network_image_mock: ^2.1.1 flutter_lints: ^3.0.1 cider: ^0.2.4 diff --git a/test/gallery/gallery_provider_test.dart b/test/gallery/gallery_provider_test.dart index 1c6021a8..a7b20a80 100644 --- a/test/gallery/gallery_provider_test.dart +++ b/test/gallery/gallery_provider_test.dart @@ -70,7 +70,7 @@ void main() { id: 58, date: DateTime(2022, 01, 09), url: 'https://wger.de/media/gallery/170335/d2b9c9e0-d541-41ae-8786-a2ab459e3538.jpg', - description: "eggsaddjujuit\'ddayhadIforcanview"); + description: "eggsaddjujuit'ddayhadIforcanview"); galleryProvider.images.add(image); diff --git a/test/gallery/gallery_screen_test.dart b/test/gallery/gallery_screen_test.dart index dfb08a16..43e90b3f 100644 --- a/test/gallery/gallery_screen_test.dart +++ b/test/gallery/gallery_screen_test.dart @@ -28,8 +28,8 @@ import 'package:wger/providers/gallery.dart'; import 'package:wger/screens/form_screen.dart'; import 'package:wger/widgets/gallery/overview.dart'; -import './gallery_screen_test.mocks.dart'; import '../../test_data/gallery.dart'; +import './gallery_screen_test.mocks.dart'; @GenerateMocks([GalleryProvider]) void main() { diff --git a/test/nutrition/nutritional_meal_item_form_test.dart b/test/nutrition/nutritional_meal_item_form_test.dart index f593619c..aa1eb9c3 100644 --- a/test/nutrition/nutritional_meal_item_form_test.dart +++ b/test/nutrition/nutritional_meal_item_form_test.dart @@ -52,7 +52,7 @@ void main() { var meal1 = Meal(); final Uri tUriRightCode = Uri.parse('https://localhost/api/v2/ingredient/?code=123'); - final Uri tUriEmptyCode = Uri.parse('https://localhost/api/v2/ingredient/?code=\"%20\"'); + final Uri tUriEmptyCode = Uri.parse('https://localhost/api/v2/ingredient/?code="%20"'); final Uri tUriBadCode = Uri.parse('https://localhost/api/v2/ingredient/?code=222'); when(client.get(tUriRightCode, headers: anyNamed('headers'))).thenAnswer( diff --git a/test/weight/weight_model_test.dart b/test/weight/weight_model_test.dart index 1a3698f8..f903f370 100644 --- a/test/weight/weight_model_test.dart +++ b/test/weight/weight_model_test.dart @@ -45,13 +45,13 @@ void main() { group('model', () { test('Test the individual values from the model', () { - WeightEntry _weightModel; + WeightEntry weightModel; //_weightModel = WeightEntry(); - _weightModel = WeightEntry(id: 1, weight: 80, date: DateTime(2020, 10, 01)); + weightModel = WeightEntry(id: 1, weight: 80, date: DateTime(2020, 10, 01)); - expect(_weightModel.id, 1); - expect(_weightModel.weight, 80); - expect(_weightModel.date, DateTime(2020, 10, 01)); + expect(weightModel.id, 1); + expect(weightModel.weight, 80); + expect(weightModel.date, DateTime(2020, 10, 01)); }); }); }