From 38baa0ff2c0acbfbd42c261d3f90602f9337fa9f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Nov 2024 00:34:24 +0000 Subject: [PATCH 01/37] Bump shared_preferences from 2.3.2 to 2.3.3 Bumps [shared_preferences](https://github.com/flutter/packages/tree/main/packages/shared_preferences) from 2.3.2 to 2.3.3. - [Release notes](https://github.com/flutter/packages/releases) - [Commits](https://github.com/flutter/packages/commits/shared_preferences-v2.3.3/packages/shared_preferences) --- updated-dependencies: - dependency-name: shared_preferences dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index b0b05bf3..3d0560a6 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1128,10 +1128,10 @@ packages: dependency: "direct main" description: name: shared_preferences - sha256: "746e5369a43170c25816cc472ee016d3a66bc13fcf430c0bc41ad7b4b2922051" + sha256: "95f9997ca1fb9799d494d0cb2a780fd7be075818d59f00c43832ed112b158a82" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.3.3" shared_preferences_android: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 7d2d603c..67d98f54 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -49,7 +49,7 @@ dependencies: provider: ^6.1.2 # Note, do not update rive! https://github.com/wger-project/flutter/issues/577 rive: ^0.12.4 - shared_preferences: ^2.3.2 + shared_preferences: ^2.3.3 table_calendar: ^3.0.8 url_launcher: ^6.3.1 flutter_barcode_scanner: ^2.0.0 From ddf7f5b1f5779dcad8090d6de4b35e765bc06e6b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Nov 2024 00:34:11 +0000 Subject: [PATCH 02/37] Bump path_provider from 2.1.4 to 2.1.5 Bumps [path_provider](https://github.com/flutter/packages/tree/main/packages/path_provider) from 2.1.4 to 2.1.5. - [Release notes](https://github.com/flutter/packages/releases) - [Commits](https://github.com/flutter/packages/commits/path_provider-v2.1.5/packages/path_provider) --- updated-dependencies: - dependency-name: path_provider dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 3d0560a6..088258c7 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -952,10 +952,10 @@ packages: dependency: "direct main" description: name: path_provider - sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378 + sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd" url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.5" path_provider_android: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 67d98f54..a4638435 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -62,7 +62,7 @@ dependencies: flutter_zxing: ^1.5.2 drift: ^2.16.0 path: ^1.8.3 - path_provider: ^2.1.4 + path_provider: ^2.1.5 sqlite3_flutter_libs: ^0.5.20 get_it: ^7.6.8 flex_seed_scheme: ^3.4.1 From 0ec8f006597ef0d8cb90ac8966de229c7a9962f8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Nov 2024 00:33:57 +0000 Subject: [PATCH 03/37] Bump package_info_plus from 8.1.0 to 8.1.1 Bumps [package_info_plus](https://github.com/fluttercommunity/plus_plugins/tree/main/packages/package_info_plus) from 8.1.0 to 8.1.1. - [Release notes](https://github.com/fluttercommunity/plus_plugins/releases) - [Commits](https://github.com/fluttercommunity/plus_plugins/commits/HEAD/packages/package_info_plus) --- updated-dependencies: - dependency-name: package_info_plus dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 088258c7..2a619f3c 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -920,10 +920,10 @@ packages: dependency: "direct main" description: name: package_info_plus - sha256: df3eb3e0aed5c1107bb0fdb80a8e82e778114958b1c5ac5644fb1ac9cae8a998 + sha256: da8d9ac8c4b1df253d1a328b7bf01ae77ef132833479ab40763334db13b91cce url: "https://pub.dev" source: hosted - version: "8.1.0" + version: "8.1.1" package_info_plus_platform_interface: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index a4638435..66cd1ecb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -45,7 +45,7 @@ dependencies: intl: ^0.19.0 json_annotation: ^4.8.1 version: ^3.0.2 - package_info_plus: ^8.0.3 + package_info_plus: ^8.1.1 provider: ^6.1.2 # Note, do not update rive! https://github.com/wger-project/flutter/issues/577 rive: ^0.12.4 From 30948e26f957606eded4a1b650708c20b236b1c3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Nov 2024 00:06:43 +0000 Subject: [PATCH 04/37] Bump flutter_svg from 2.0.11 to 2.0.14 Bumps [flutter_svg](https://github.com/flutter/packages/tree/main/third_party/packages) from 2.0.11 to 2.0.14. - [Release notes](https://github.com/flutter/packages/releases) - [Commits](https://github.com/flutter/packages/commits/flutter_svg-v2.0.14/third_party/packages) --- updated-dependencies: - dependency-name: flutter_svg dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pubspec.lock | 12 ++++++------ pubspec.yaml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 2a619f3c..77038065 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -524,10 +524,10 @@ packages: dependency: "direct main" description: name: flutter_svg - sha256: "1b7723a814d84fb65869ea7115cdb3ee7c3be5a27a755c1ec60e049f6b9fcbb2" + sha256: "578bd8c508144fdaffd4f77b8ef2d8c523602275cd697cc3db284dbd762ef4ce" url: "https://pub.dev" source: hosted - version: "2.0.11" + version: "2.0.14" flutter_svg_icons: dependency: "direct main" description: @@ -1405,10 +1405,10 @@ packages: dependency: transitive description: name: vector_graphics - sha256: "32c3c684e02f9bc0afb0ae0aa653337a2fe022e8ab064bcd7ffda27a74e288e3" + sha256: "773c9522d66d523e1c7b25dfb95cc91c26a1e17b107039cfe147285e92de7878" url: "https://pub.dev" source: hosted - version: "1.1.11+1" + version: "1.1.14" vector_graphics_codec: dependency: transitive description: @@ -1421,10 +1421,10 @@ packages: dependency: transitive description: name: vector_graphics_compiler - sha256: "12faff3f73b1741a36ca7e31b292ddeb629af819ca9efe9953b70bd63fc8cd81" + sha256: ab9ff38fc771e9ee1139320adbe3d18a60327370c218c60752068ebee4b49ab1 url: "https://pub.dev" source: hosted - version: "1.1.11+1" + version: "1.1.15" vector_math: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 66cd1ecb..401ece83 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -57,7 +57,7 @@ dependencies: flutter_staggered_grid_view: ^0.7.0 carousel_slider: ^5.0.0 multi_select_flutter: ^4.1.3 - flutter_svg: ^2.0.11 + flutter_svg: ^2.0.14 fl_chart: ^0.69.0 flutter_zxing: ^1.5.2 drift: ^2.16.0 From 0d9201234f2986d4e76a9cc5d8a08790aed7b96f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Nov 2024 00:06:35 +0000 Subject: [PATCH 05/37] Bump flex_color_scheme from 8.0.0 to 8.0.1 Bumps [flex_color_scheme](https://github.com/rydmike/flex_color_scheme) from 8.0.0 to 8.0.1. - [Release notes](https://github.com/rydmike/flex_color_scheme/releases) - [Changelog](https://github.com/rydmike/flex_color_scheme/blob/master/CHANGELOG.md) - [Commits](https://github.com/rydmike/flex_color_scheme/compare/8.0.0...8.0.1) --- updated-dependencies: - dependency-name: flex_color_scheme dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 77038065..aa6de1f3 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -397,10 +397,10 @@ packages: dependency: "direct main" description: name: flex_color_scheme - sha256: "03fd5e68eff346a042026577f54be0cd4507e565cd86390b12c0aca1c5d6cb0b" + sha256: ad9695ebdf7e2709b0311cac6a8f887984666e56884eecafa008d236ec3fc0c7 url: "https://pub.dev" source: hosted - version: "8.0.0" + version: "8.0.1" flex_seed_scheme: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 401ece83..d53ea52c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -66,7 +66,7 @@ dependencies: sqlite3_flutter_libs: ^0.5.20 get_it: ^7.6.8 flex_seed_scheme: ^3.4.1 - flex_color_scheme: ^8.0.0 + flex_color_scheme: ^8.0.1 freezed_annotation: ^2.4.4 clock: ^1.1.1 flutter_svg_icons: ^0.0.1 From 9fd2adb78ccaefb1e80e8f9f8a75e3d68ef578d4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Nov 2024 00:06:53 +0000 Subject: [PATCH 06/37] Bump font_awesome_flutter from 10.7.0 to 10.8.0 Bumps [font_awesome_flutter](https://github.com/fluttercommunity/font_awesome_flutter) from 10.7.0 to 10.8.0. - [Release notes](https://github.com/fluttercommunity/font_awesome_flutter/releases) - [Changelog](https://github.com/fluttercommunity/font_awesome_flutter/blob/master/CHANGELOG.md) - [Commits](https://github.com/fluttercommunity/font_awesome_flutter/compare/10.7.0...10.8.0) --- updated-dependencies: - dependency-name: font_awesome_flutter dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index aa6de1f3..ac69c0f9 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -566,10 +566,10 @@ packages: dependency: "direct main" description: name: font_awesome_flutter - sha256: "275ff26905134bcb59417cf60ad979136f1f8257f2f449914b2c3e05bbb4cd6f" + sha256: d3a89184101baec7f4600d58840a764d2ef760fe1c5a20ef9e6b0e9b24a07a3a url: "https://pub.dev" source: hosted - version: "10.7.0" + version: "10.8.0" freezed: dependency: "direct dev" description: diff --git a/pubspec.yaml b/pubspec.yaml index d53ea52c..6eaa5ea1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -39,7 +39,7 @@ dependencies: flutter_calendar_carousel: ^2.4.4 flutter_html: ^3.0.0-beta.2 flutter_typeahead: ^5.2.0 - font_awesome_flutter: ^10.7.0 + font_awesome_flutter: ^10.8.0 http: ^1.2.2 image_picker: ^1.1.0 intl: ^0.19.0 From d606a04a2ace5a544f260ce2459520990a49820c Mon Sep 17 00:00:00 2001 From: pavan arun bagwe Date: Wed, 13 Nov 2024 11:48:45 +0000 Subject: [PATCH 07/37] Translated using Weblate (Hindi) Currently translated at 57.7% (157 of 272 strings) Translation: wger Workout Manager/Mobile App Translate-URL: https://hosted.weblate.org/projects/wger/mobile/hi/ --- lib/l10n/app_hi.arb | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/l10n/app_hi.arb b/lib/l10n/app_hi.arb index 82c656a9..480e3561 100644 --- a/lib/l10n/app_hi.arb +++ b/lib/l10n/app_hi.arb @@ -149,7 +149,7 @@ "@logMeal": {}, "addIngredient": "सामग्री जोड़ें", "@addIngredient": {}, - "logIngredient": "पोषण डायरी में सहेजें", + "logIngredient": "पोषण डायरी में सामग्री दर्ज करें", "@logIngredient": {}, "searchIngredient": "सामग्री खोजें", "@searchIngredient": {}, @@ -324,5 +324,15 @@ "scanBarcode": "बारकोड स्कैन करें", "@scanBarcode": {}, "close": "बंद करें", - "@close": {} + "@close": {}, + "userProfile": "आपकी प्रोफ़ाइल", + "@userProfile": {}, + "invalidUsername": "कृपया सही यूजरनेम प्रविष्ट करे", + "@invalidUsername": { + "description": "Error message when the user enters an invalid username" + }, + "onlyLogging": "सिर्फ कैलोरी ट्रैक करें", + "@onlyLogging": {}, + "onlyLoggingHelpText": "यदि आप केवल अपनी कैलोरी लॉग करना चाहते हैं और विशिष्ट भोजन के साथ विस्तृत पोषण योजना नहीं बनाना चाहते हैं तो बॉक्स को चेक करें", + "@onlyLoggingHelpText": {} } From a3858cd2f7789d822c1f9fb0dffb3248f067a3cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E0=AE=A4=E0=AE=AE=E0=AE=BF=E0=AE=B4=E0=AF=8D=E0=AE=A8?= =?UTF-8?q?=E0=AF=87=E0=AE=B0=E0=AE=AE=E0=AF=8D?= Date: Wed, 13 Nov 2024 15:43:04 +0000 Subject: [PATCH 08/37] Translated using Weblate (Tamil) Currently translated at 97.7% (266 of 272 strings) Translation: wger Workout Manager/Mobile App Translate-URL: https://hosted.weblate.org/projects/wger/mobile/ta/ --- lib/l10n/app_ta.arb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/l10n/app_ta.arb b/lib/l10n/app_ta.arb index 4d8413f4..86b189b7 100644 --- a/lib/l10n/app_ta.arb +++ b/lib/l10n/app_ta.arb @@ -43,7 +43,7 @@ }, "noMeasurementEntries": "உங்களிடம் அளவீட்டு உள்ளீடுகள் இல்லை", "@noMeasurementEntries": {}, - "delete": "அழி", + "delete": "நீக்கு", "@delete": {}, "gallery": "கேலரி", "@gallery": {}, @@ -392,7 +392,7 @@ "@measurementCategoriesHelpText": {}, "measurementEntriesHelpText": "'செ.மீ' அல்லது '%' போன்ற வகையை அளவிட பயன்படுத்தப்படும் அலகு", "@measurementEntriesHelpText": {}, - "date": "திகதி", + "date": "தேதி", "@date": { "description": "The date of a workout log or body weight entry" }, From e4dd165687d4583283f8aabfa75b24efe91171ca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Nov 2024 19:03:23 +0000 Subject: [PATCH 09/37] Bump get_it from 7.7.0 to 8.0.2 Bumps [get_it](https://github.com/fluttercommunity/get_it) from 7.7.0 to 8.0.2. - [Changelog](https://github.com/fluttercommunity/get_it/blob/master/CHANGELOG.md) - [Commits](https://github.com/fluttercommunity/get_it/commits/V8.0.2) --- updated-dependencies: - dependency-name: get_it dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index ac69c0f9..3db98c51 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -603,10 +603,10 @@ packages: dependency: "direct main" description: name: get_it - sha256: d85128a5dae4ea777324730dc65edd9c9f43155c109d5cc0a69cab74139fbac1 + sha256: c49895c1ecb0ee2a0ec568d39de882e2c299ba26355aa6744ab1001f98cebd15 url: "https://pub.dev" source: hosted - version: "7.7.0" + version: "8.0.2" glob: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 6eaa5ea1..68cd5ab8 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -64,7 +64,7 @@ dependencies: path: ^1.8.3 path_provider: ^2.1.5 sqlite3_flutter_libs: ^0.5.20 - get_it: ^7.6.8 + get_it: ^8.0.2 flex_seed_scheme: ^3.4.1 flex_color_scheme: ^8.0.1 freezed_annotation: ^2.4.4 From e330d90521c49222f4dd9fe4666339dae1bf9ae7 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Thu, 21 Nov 2024 11:05:50 +0100 Subject: [PATCH 10/37] Add workaround to build the rive plugin for linux --- android/app/build.gradle | 4 ++-- linux/CMakeLists.txt | 6 +++++- linux/flutter/generated_plugin_registrant.cc | 4 ++++ linux/flutter/generated_plugins.cmake | 1 + pubspec.lock | 8 ++++---- pubspec.yaml | 3 +-- 6 files changed, 17 insertions(+), 9 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 6425310b..c4b2bc19 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -36,8 +36,8 @@ android { ndkVersion "25.1.8937393" compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { diff --git a/linux/CMakeLists.txt b/linux/CMakeLists.txt index e94ac890..e60424b5 100644 --- a/linux/CMakeLists.txt +++ b/linux/CMakeLists.txt @@ -41,7 +41,11 @@ endif() # of modifying this function. function(APPLY_STANDARD_SETTINGS TARGET) target_compile_features(${TARGET} PUBLIC cxx_std_14) - target_compile_options(${TARGET} PRIVATE -Wall -Werror) + + # Workaround for https://github.com/wger-project/flutter/issues/577 / https://github.com/rive-app/rive-flutter/issues/390 + #target_compile_options(${TARGET} PRIVATE -Wall -Werror) -- original options + target_compile_options(${TARGET} PRIVATE -Wall -Werror -Wno-unused-variable -Wno-unused-function) + target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") endfunction() diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index 9f99dda7..a30d39a6 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -7,6 +7,7 @@ #include "generated_plugin_registrant.h" #include +#include #include #include @@ -14,6 +15,9 @@ void fl_register_plugins(FlPluginRegistry* registry) { g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin"); file_selector_plugin_register_with_registrar(file_selector_linux_registrar); + g_autoptr(FlPluginRegistrar) rive_common_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "RivePlugin"); + rive_plugin_register_with_registrar(rive_common_registrar); g_autoptr(FlPluginRegistrar) sqlite3_flutter_libs_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "Sqlite3FlutterLibsPlugin"); sqlite3_flutter_libs_plugin_register_with_registrar(sqlite3_flutter_libs_registrar); diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 74369f25..bec16405 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -4,6 +4,7 @@ list(APPEND FLUTTER_PLUGIN_LIST file_selector_linux + rive_common sqlite3_flutter_libs url_launcher_linux ) diff --git a/pubspec.lock b/pubspec.lock index ac69c0f9..e611608f 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1112,18 +1112,18 @@ packages: dependency: "direct main" description: name: rive - sha256: ae75a6e9cfbf146630bfb1feba97ee582d935508be6b362e4bd197b9c55a6dd3 + sha256: b44b62feb908610ca6c85e05f4573a66118a23867425926cf06152d171236141 url: "https://pub.dev" source: hosted - version: "0.12.4" + version: "0.13.17" rive_common: dependency: transitive description: name: rive_common - sha256: f4e20d0a99c5040c85624a3eb2b0b6b19e614d93a693c3bb25cf6e7bb2d3d6d3 + sha256: a3e5786f8d85c89977062b9ceeb3b72a7c28f81e32fb68497744042ce20bee2f url: "https://pub.dev" source: hosted - version: "0.2.8" + version: "0.4.12" shared_preferences: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 6eaa5ea1..cf9b198e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -47,8 +47,7 @@ dependencies: version: ^3.0.2 package_info_plus: ^8.1.1 provider: ^6.1.2 - # Note, do not update rive! https://github.com/wger-project/flutter/issues/577 - rive: ^0.12.4 + rive: ^0.13.17 shared_preferences: ^2.3.3 table_calendar: ^3.0.8 url_launcher: ^6.3.1 From e62b89d3cd6e7cdc8f12c8c90ec0f7e28e12b2f0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 00:23:22 +0000 Subject: [PATCH 11/37] Bump equatable from 2.0.5 to 2.0.7 Bumps [equatable](https://github.com/felangel/equatable) from 2.0.5 to 2.0.7. - [Release notes](https://github.com/felangel/equatable/releases) - [Changelog](https://github.com/felangel/equatable/blob/master/CHANGELOG.md) - [Commits](https://github.com/felangel/equatable/compare/v2.0.5...v2.0.7) --- updated-dependencies: - dependency-name: equatable dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index e611608f..ca3493dc 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -317,10 +317,10 @@ packages: dependency: "direct main" description: name: equatable - sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 + sha256: "567c64b3cb4cf82397aac55f4f0cbd3ca20d77c6c03bedbc4ceaddc08904aef7" url: "https://pub.dev" source: hosted - version: "2.0.5" + version: "2.0.7" fake_async: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index cf9b198e..e679f480 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -35,7 +35,7 @@ dependencies: android_metadata: ^0.2.1 collection: ^1.17.0 cupertino_icons: ^1.0.8 - equatable: ^2.0.5 + equatable: ^2.0.7 flutter_calendar_carousel: ^2.4.4 flutter_html: ^3.0.0-beta.2 flutter_typeahead: ^5.2.0 From d9003cc8b7cb56ca803af160492ccfd6fe0c9314 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 00:23:34 +0000 Subject: [PATCH 12/37] Bump freezed from 2.5.2 to 2.5.7 Bumps [freezed](https://github.com/rrousselGit/freezed) from 2.5.2 to 2.5.7. - [Commits](https://github.com/rrousselGit/freezed/compare/freezed-v2.5.2...freezed-v2.5.7) --- updated-dependencies: - dependency-name: freezed dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pubspec.lock | 25 +++++++++++++++++++------ pubspec.yaml | 2 +- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index ca3493dc..d3c9dc54 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,18 +5,23 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" + sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834 url: "https://pub.dev" source: hosted - version: "67.0.0" + version: "72.0.0" + _macros: + dependency: transitive + description: dart + source: sdk + version: "0.3.2" analyzer: dependency: transitive description: name: analyzer - sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" + sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139 url: "https://pub.dev" source: hosted - version: "6.4.1" + version: "6.7.0" analyzer_plugin: dependency: transitive description: @@ -574,10 +579,10 @@ packages: dependency: "direct dev" description: name: freezed - sha256: a434911f643466d78462625df76fd9eb13e57348ff43fe1f77bbe909522c67a1 + sha256: "44c19278dd9d89292cf46e97dc0c1e52ce03275f40a97c5a348e802a924bf40e" url: "https://pub.dev" source: hosted - version: "2.5.2" + version: "2.5.7" freezed_annotation: dependency: "direct main" description: @@ -828,6 +833,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.0" + macros: + dependency: transitive + description: + name: macros + sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" + url: "https://pub.dev" + source: hosted + version: "0.1.2-main.4" markdown: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index e679f480..28488c66 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -85,7 +85,7 @@ dev_dependencies: flutter_lints: ^5.0.0 cider: ^0.2.7 drift_dev: ^2.20.3 - freezed: ^2.5.2 + freezed: ^2.5.7 golden_toolkit: ^0.15.0 # For information on the generic Dart part of this file, see the From 3fdd97642640ad079b27a5ee2f534623bea60a00 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 00:23:29 +0000 Subject: [PATCH 13/37] Bump fl_chart from 0.69.0 to 0.69.2 Bumps [fl_chart](https://github.com/imaNNeo/fl_chart) from 0.69.0 to 0.69.2. - [Release notes](https://github.com/imaNNeo/fl_chart/releases) - [Changelog](https://github.com/imaNNeo/fl_chart/blob/main/CHANGELOG.md) - [Commits](https://github.com/imaNNeo/fl_chart/compare/0.69.0...0.69.2) --- updated-dependencies: - dependency-name: fl_chart dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index d3c9dc54..6ced5722 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -394,10 +394,10 @@ packages: dependency: "direct main" description: name: fl_chart - sha256: "94307bef3a324a0d329d3ab77b2f0c6e5ed739185ffc029ed28c0f9b019ea7ef" + sha256: "74959b99b92b9eebeed1a4049426fd67c4abc3c5a0f4d12e2877097d6a11ae08" url: "https://pub.dev" source: hosted - version: "0.69.0" + version: "0.69.2" flex_color_scheme: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 28488c66..1ecd1731 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -57,7 +57,7 @@ dependencies: carousel_slider: ^5.0.0 multi_select_flutter: ^4.1.3 flutter_svg: ^2.0.14 - fl_chart: ^0.69.0 + fl_chart: ^0.69.2 flutter_zxing: ^1.5.2 drift: ^2.16.0 path: ^1.8.3 From 7f1a4e44c2a6d5278cf73cb12bd437e27862df38 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 00:23:41 +0000 Subject: [PATCH 14/37] Bump json_serializable from 6.8.0 to 6.9.0 Bumps [json_serializable](https://github.com/google/json_serializable.dart) from 6.8.0 to 6.9.0. - [Release notes](https://github.com/google/json_serializable.dart/releases) - [Commits](https://github.com/google/json_serializable.dart/compare/json_serializable-v6.8.0...json_serializable-v6.9.0) --- updated-dependencies: - dependency-name: json_serializable dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 6ced5722..78662556 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -781,10 +781,10 @@ packages: dependency: "direct dev" description: name: json_serializable - sha256: ea1432d167339ea9b5bb153f0571d0039607a873d6e04e0117af043f14a1fd4b + sha256: c2fcb3920cf2b6ae6845954186420fca40bc0a8abcc84903b7801f17d7050d7c url: "https://pub.dev" source: hosted - version: "6.8.0" + version: "6.9.0" leak_tracker: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 1ecd1731..2e72807b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -79,7 +79,7 @@ dev_dependencies: integration_test: sdk: flutter build_runner: ^2.4.13 - json_serializable: ^6.8.0 + json_serializable: ^6.9.0 mockito: ^5.4.4 network_image_mock: ^2.1.1 flutter_lints: ^5.0.0 From 58afb21593273ad21a8a305282e622b5bf2d0ce1 Mon Sep 17 00:00:00 2001 From: Herb Huang Date: Wed, 20 Nov 2024 00:43:00 +0000 Subject: [PATCH 15/37] Translated using Weblate (Chinese (Simplified Han script)) Currently translated at 100.0% (272 of 272 strings) Translation: wger Workout Manager/Mobile App Translate-URL: https://hosted.weblate.org/projects/wger/mobile/zh_Hans/ --- lib/l10n/app_zh.arb | 262 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 253 insertions(+), 9 deletions(-) diff --git a/lib/l10n/app_zh.arb b/lib/l10n/app_zh.arb index b1a899b9..5cd4f559 100644 --- a/lib/l10n/app_zh.arb +++ b/lib/l10n/app_zh.arb @@ -324,9 +324,9 @@ "@date": { "description": "The date of a workout log or body weight entry" }, - "weight": "体重", + "weight": "重量", "@weight": { - "description": "The weight of a workout log or body weight entry, changed from \"重量\" to \"体重\"" + "description": "The weight of a workout log or body weight entry, changed from \"重量\" to \"体重\"" }, "anErrorOccurred": "出错了!", "@anErrorOccurred": {}, @@ -527,9 +527,9 @@ "@close": { "description": "Translation for close" }, - "logIngredient": "保存至营养日志", + "logIngredient": "记录食材至营养日志", "@logIngredient": {}, - "searchIngredient": "搜索营养成分表", + "searchIngredient": "搜索营养成分", "@searchIngredient": { "description": "Label on ingredient search form" }, @@ -563,15 +563,15 @@ "@exerciseName": { "description": "Label for the name of a workout exercise" }, - "previous": "前一个", + "previous": "前", "@previous": {}, - "kg": "公斤", + "kg": "千克", "@kg": { "description": "Generated entry for translation for server strings" }, "verify": "确认", "@verify": {}, - "next": "下一个", + "next": "后", "@next": {}, "success": "成功", "@success": { @@ -593,7 +593,7 @@ "@minutes": { "description": "Generated entry for translation for server strings" }, - "pull_up_bar": "上拉杆", + "pull_up_bar": "引体向上杆", "@pull_up_bar": { "description": "Generated entry for translation for server strings" }, @@ -676,8 +676,11 @@ "description": "Overall change in weight" }, "goalTypeMeals": "从饮食出发", + "@goalTypeMeals": {}, "goalTypeBasic": "基础", + "@goalTypeBasic": {}, "goalTypeAdvanced": "进阶", + "@goalTypeAdvanced": {}, "chartAllTimeTitle": "{name} 历史记录曲线", "@chartAllTimeTitle": { "description": "All-time chart of 'name' (e.g. 'weight', 'body fat' etc.)", @@ -696,7 +699,9 @@ } }, "indicatorRaw": "原始值", + "@indicatorRaw": {}, "indicatorAvg": "平均值", + "@indicatorAvg": {}, "textPromptTitle": "准备就绪?", "@textPromptTitle": { "description": "Title for the text prompt" @@ -704,5 +709,244 @@ "textPromptSubheading": "点击右下角按钮开始", "@textPromptSubheading": { "description": "Subheading for the text prompt" + }, + "enterMinCharacters": "请输入最少{min}个字符", + "@enterMinCharacters": { + "description": "Error message when the user hasn't entered the minimum amount characters in a form", + "type": "text", + "placeholders": { + "min": {} + } + }, + "baseNameEnglish": "所有运动需要一个英文代号", + "@baseNameEnglish": {}, + "lower_back": "下背", + "@lower_back": { + "description": "Generated entry for translation for server strings" + }, + "images": "图像", + "@images": {}, + "biceps": "肱二头肌", + "@biceps": { + "description": "Generated entry for translation for server strings" + }, + "aboutPageTitle": "关于 Wger", + "@aboutPageTitle": {}, + "selectEntry": "请选择一项", + "@selectEntry": {}, + "aboutMastodonText": "在长毛象上关注我们以获得此项目的新闻", + "@aboutMastodonText": { + "description": "Text for the mastodon section in the about dialog" + }, + "cardio": "有氧", + "@cardio": { + "description": "Generated entry for translation for server strings" + }, + "abs": "腹肌", + "@abs": { + "description": "Generated entry for translation for server strings" + }, + "plates": "盘", + "@plates": { + "description": "Generated entry for translation for server strings" + }, + "quads": "大腿前侧", + "@quads": { + "description": "Generated entry for translation for server strings" + }, + "bench": "凳", + "@bench": { + "description": "Generated entry for translation for server strings" + }, + "sz_bar": "W型曲杆", + "@sz_bar": { + "description": "Generated entry for translation for server strings" + }, + "aboutDonateTitle": "捐赠", + "@aboutDonateTitle": {}, + "aboutDonateText": "向我们打赏来支持此项目,给服务器买单,及激励我们", + "@aboutDonateText": {}, + "none__bodyweight_exercise_": "无(自重动作)", + "@none__bodyweight_exercise_": { + "description": "Generated entry for translation for server strings" + }, + "chart30DaysTitle": "{name} 过去三十天", + "@chart30DaysTitle": { + "description": "last 30 days chart of 'name' (e.g. 'weight', 'body fat' etc.)", + "type": "text", + "placeholders": { + "name": {} + } + }, + "oneNamePerLine": "每行一个名字", + "@oneNamePerLine": {}, + "settingsExerciseCacheDescription": "动作缓存", + "@settingsExerciseCacheDescription": {}, + "settingsIngredientCacheDescription": "营养成分缓存", + "@settingsIngredientCacheDescription": {}, + "contributeExerciseWarning": "账号注册{days}天且邮箱验证通过后,你方可贡献动作", + "@contributeExerciseWarning": { + "description": "Number of days before which a person can add exercise", + "placeholders": { + "days": { + "type": "String", + "example": "14" + } + } + }, + "body_weight": "体重", + "@body_weight": { + "description": "Generated entry for translation for server strings" + }, + "chest": "胸", + "@chest": { + "description": "Generated entry for translation for server strings" + }, + "dumbbell": "哑铃", + "@dumbbell": { + "description": "Generated entry for translation for server strings" + }, + "hamstrings": "大腿后侧", + "@hamstrings": { + "description": "Generated entry for translation for server strings" + }, + "legs": "腿", + "@legs": { + "description": "Generated entry for translation for server strings" + }, + "max_reps": "最大次数", + "@max_reps": { + "description": "Generated entry for translation for server strings" + }, + "miles": "英里", + "@miles": { + "description": "Generated entry for translation for server strings" + }, + "miles_per_hour": "迈", + "@miles_per_hour": { + "description": "Generated entry for translation for server strings" + }, + "seconds": "秒", + "@seconds": { + "description": "Generated entry for translation for server strings" + }, + "shoulders": "肩", + "@shoulders": { + "description": "Generated entry for translation for server strings" + }, + "swiss_ball": "瑜伽球", + "@swiss_ball": { + "description": "Generated entry for translation for server strings" + }, + "triceps": "肱三头肌", + "@triceps": { + "description": "Generated entry for translation for server strings" + }, + "until_failure": "直至力竭", + "@until_failure": { + "description": "Generated entry for translation for server strings" + }, + "variations": "变式", + "@variations": { + "description": "Variations of one exercise (e.g. benchpress and benchpress narrow)" + }, + "verifiedEmail": "已验证的邮箱", + "@verifiedEmail": {}, + "unVerifiedEmail": "未验证的邮箱", + "@unVerifiedEmail": {}, + "verifiedEmailInfo": "验证邮件已经发往{email}", + "@verifiedEmailInfo": { + "placeholders": { + "email": {} + } + }, + "whatVariationsExist": "这个动作有什么变体吗?", + "@whatVariationsExist": {}, + "language": "语言", + "@language": {}, + "addExercise": "添加动作", + "@addExercise": {}, + "contributeExercise": "贡献一个动作", + "@contributeExercise": {}, + "translateExercise": "翻译该动作", + "@translateExercise": {}, + "baseData": "英文基础动作", + "@baseData": { + "description": "The base data for an exercise such as category, trained muscles, etc." + }, + "settingsTitle": "设置", + "@settingsTitle": {}, + "settingsCacheTitle": "缓存", + "@settingsCacheTitle": {}, + "settingsCacheDeletedSnackbar": "成功清除缓存", + "@settingsCacheDeletedSnackbar": {}, + "barbell": "杠铃", + "@barbell": { + "description": "Generated entry for translation for server strings" + }, + "gym_mat": "健身垫", + "@gym_mat": { + "description": "Generated entry for translation for server strings" + }, + "incline_bench": "上斜凳", + "@incline_bench": { + "description": "Generated entry for translation for server strings" + }, + "kettlebell": "壶铃", + "@kettlebell": { + "description": "Generated entry for translation for server strings" + }, + "kilometers_per_hour": "千米每小时", + "@kilometers_per_hour": { + "description": "Generated entry for translation for server strings" + }, + "lats": "背阔肌", + "@lats": { + "description": "Generated entry for translation for server strings" + }, + "log": "记录", + "@log": { + "description": "Log a specific meal (imperative form)" + }, + "done": "完成", + "@done": {}, + "moreMeasurementEntries": "添加新围度", + "@moreMeasurementEntries": { + "description": "Message shown when the user wants to add new measurement" + }, + "add_exercise_image_license": "图像必须符合 CC BY-SA 知识共享许可。如果你不太确定,那请仅上传你自己拍摄的照片。", + "@add_exercise_image_license": {}, + "cacheWarning": "由于缓存,申请中的变动或需一段时间方可呈现。", + "@cacheWarning": {}, + "alsoKnownAs": "又名:{aliases}", + "@alsoKnownAs": { + "placeholders": { + "aliases": {} + }, + "description": "List of alternative names for an exercise" + }, + "verifiedEmailReason": "你需要验证邮箱来参与贡献", + "@verifiedEmailReason": {}, + "arms": "手臂", + "@arms": { + "description": "Generated entry for translation for server strings" + }, + "translation": "翻译", + "@translation": {}, + "back": "背", + "@back": { + "description": "Generated entry for translation for server strings" + }, + "calves": "小腿", + "@calves": { + "description": "Generated entry for translation for server strings" + }, + "glutes": "臀", + "@glutes": { + "description": "Generated entry for translation for server strings" + }, + "aboutMastodonTitle": "长毛象", + "@aboutMastodonTitle": { + "description": "Title for mastodon section in the about dialog" } -} \ No newline at end of file +} From 2c33000742afb357b96d64b545084ecedc4a76be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E0=AE=A4=E0=AE=AE=E0=AE=BF=E0=AE=B4=E0=AF=8D=E0=AE=A8?= =?UTF-8?q?=E0=AF=87=E0=AE=B0=E0=AE=AE=E0=AF=8D?= Date: Sun, 24 Nov 2024 01:42:19 +0000 Subject: [PATCH 16/37] Translated using Weblate (Tamil) Currently translated at 100.0% (272 of 272 strings) Translation: wger Workout Manager/Mobile App Translate-URL: https://hosted.weblate.org/projects/wger/mobile/ta/ --- lib/l10n/app_ta.arb | 58 ++++++++++++++++++++++++++++++++------------- 1 file changed, 41 insertions(+), 17 deletions(-) diff --git a/lib/l10n/app_ta.arb b/lib/l10n/app_ta.arb index 86b189b7..2e020f76 100644 --- a/lib/l10n/app_ta.arb +++ b/lib/l10n/app_ta.arb @@ -3,7 +3,7 @@ "@userProfile": {}, "weightUnit": "எடை அலகு", "@weightUnit": {}, - "setNr": "{nr} அமைக்கவும்", + "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", @@ -43,7 +43,7 @@ }, "noMeasurementEntries": "உங்களிடம் அளவீட்டு உள்ளீடுகள் இல்லை", "@noMeasurementEntries": {}, - "delete": "நீக்கு", + "delete": "அழி", "@delete": {}, "gallery": "கேலரி", "@gallery": {}, @@ -183,7 +183,7 @@ "@labelDashboard": { "description": "Title for screen dashboard" }, - "success": "செய்", + "success": "வெற்றி", "@success": { "description": "Message when an action completed successfully, usually used as a heading" }, @@ -259,7 +259,7 @@ }, "useMetric": "உடல் எடைக்கு மெட்ரிக் அலகுகளைப் பயன்படுத்துங்கள்", "@useMetric": {}, - "repetitionUnit": "மீண்டும் மீண்டும் அலகு", + "repetitionUnit": "மீண்டும் அலகு", "@repetitionUnit": {}, "set": "கணம்", "@set": { @@ -267,7 +267,7 @@ }, "dayDescriptionHelp": "இந்த நாளில் என்ன செய்யப்படுகிறது என்பதற்கான விளக்கம் (எ.கா. 'இழுக்க நாள்') அல்லது என்ன உடல் பாகங்கள் பயிற்சி அளிக்கப்படுகின்றன (எ.கா. 'மார்பு மற்றும் தோள்கள்')", "@dayDescriptionHelp": {}, - "sameRepetitions": "எல்லா தொகுப்புகளுக்கும் நீங்கள் அதே மறுபடியும் மறுபடியும் எடையும் செய்தால், நீங்கள் ஒரு வரிசையை நிரப்பலாம். எடுத்துக்காட்டாக, 4 செட்களுக்கு மறுபடியும் மறுபடியும் 10 ஐ உள்ளிடவும், இது தானாகவே \"4 ஃச் 10\" ஆகிறது.", + "sameRepetitions": "எல்லா தொகுப்புகளுக்கும் நீங்கள் அதே மறுபடியும் எடையும் செய்தால், நீங்கள் ஒரு வரிசையை நிரப்பலாம். எடுத்துக்காட்டாக, 4 செட்களுக்கு மறுபடியும் 10 ஐ உள்ளிடவும், இது தானாகவே \"4 ஃச் 10\" ஆகிறது.", "@sameRepetitions": {}, "comment": "கருத்து", "@comment": { @@ -303,7 +303,7 @@ }, "todaysWorkout": "இன்று உங்கள் பயிற்சி", "@todaysWorkout": {}, - "logHelpEntries": "ஒரு நாளில் ஒரே எண்ணிக்கையிலான மறுபடியும் மறுபடியும் ஒன்றுக்கு மேற்பட்ட நுழைவு இருந்தால், ஆனால் வெவ்வேறு எடைகள் இருந்தால், அதிக எடையுடன் நுழைவு மட்டுமே வரைபடத்தில் காட்டப்பட்டுள்ளது.", + "logHelpEntries": "ஒரு நாளில் ஒரே எண்ணிக்கையிலான மறுபடியும் ஒன்றுக்கு மேற்பட்ட நுழைவு இருந்தால், ஆனால் வெவ்வேறு எடைகள் இருந்தால், அதிக எடையுடன் நுழைவு மட்டுமே வரைபடத்தில் காட்டப்பட்டுள்ளது.", "@logHelpEntries": {}, "logHelpEntriesUnits": "ஒரு எடை அலகு (கிலோ அல்லது எல்பி) மற்றும் மறுபடியும் உள்ளீடுகள் மட்டுமே பட்டியலிடப்பட்டுள்ளன என்பதை நினைவில் கொள்க, நேரம் போன்ற பிற சேர்க்கைகள் அல்லது தோல்வி வரை இங்கே புறக்கணிக்கப்படும்.", "@logHelpEntriesUnits": {}, @@ -379,7 +379,7 @@ "name": {} } }, - "chartDuringPlanTitle": "{chartName} ஊட்டச்சத்து திட்டத்தின் போது {planName}", + "chartDuringPlanTitle": "{chartName}ஊட்டச்சத்து திட்டத்தின்போது {planName}", "@chartDuringPlanTitle": { "description": "chart of 'chartName' (e.g. 'weight', 'body fat' etc.) logged during plan", "type": "text", @@ -392,7 +392,7 @@ "@measurementCategoriesHelpText": {}, "measurementEntriesHelpText": "'செ.மீ' அல்லது '%' போன்ற வகையை அளவிட பயன்படுத்தப்படும் அலகு", "@measurementEntriesHelpText": {}, - "date": "தேதி", + "date": "திகதி", "@date": { "description": "The date of a workout log or body weight entry" }, @@ -458,7 +458,7 @@ "value": {} } }, - "kJ": "கே.சே.", + "kJ": "கேசே", "@kJ": { "description": "Energy in a meal in kilo joules, kJ" }, @@ -524,7 +524,7 @@ "@loadingText": { "description": "Text to show when entries are being loaded in the background: Loading..." }, - "confirmDelete": "நீங்கள் நிச்சயமாக '{toDelete}' நீக்க விரும்புகிறீர்களா?", + "confirmDelete": "நீங்கள் நிச்சயமாக '{டோட்லீட்}' நீக்க விரும்புகிறீர்களா?", "@confirmDelete": { "description": "Confirmation text before the user deletes an object", "type": "text", @@ -594,7 +594,7 @@ "@goToToday": { "description": "Label on button to jump back to 'today' in the calendar widget" }, - "enterRepetitionsOrWeight": "தயவுசெய்து மறுபடியும் மறுபடியும் அல்லது எடையை நிரப்பவும்", + "enterRepetitionsOrWeight": "தயவுசெய்து மறுபடியும் அல்லது எடையை நிரப்பவும்", "@enterRepetitionsOrWeight": { "description": "Error message when the user hasn't filled in the forms for exercise sets" }, @@ -627,7 +627,7 @@ }, "baseNameEnglish": "அனைத்து பயிற்சிகளுக்கும் ஆங்கிலத்தில் அடிப்படை பெயர் தேவை", "@baseNameEnglish": {}, - "nrOfSets": "ஒரு உடற்பயிற்சிக்கு அமைக்கிறது: {nrOfSets}", + "nrOfSets": "ஒரு பயிற்சிக்கு அமைக்கிறது: {nrOfSets}", "@nrOfSets": { "description": "Label shown on the slider where the user selects the nr of sets", "type": "text", @@ -678,7 +678,7 @@ "@productFound": { "description": "Header label for dialog when product is found with barcode" }, - "productFoundDescription": "பார்கோடு இந்த தயாரிப்புக்கு ஒத்திருக்கிறது: {productName}. நீங்கள் தொடர விரும்புகிறீர்களா?", + "productFoundDescription": "பார்கோடு இந்தத் தயாரிப்புக்கு ஒத்திருக்கிறது: {productName}. நீங்கள் தொடர விரும்புகிறீர்களா?", "@productFoundDescription": { "description": "Dialog info when product is found with barcode", "type": "text", @@ -690,7 +690,7 @@ "@productNotFound": { "description": "Header label for dialog when product is not found with barcode" }, - "productNotFoundDescription": "ச்கேன் செய்யப்பட்ட பார்கோடு {barcode} உடன் தயாரிப்பு WGER தரவுத்தளத்தில் காணப்படவில்லை", + "productNotFoundDescription": "ச்கேன் செய்யப்பட்ட பார்கோடு {barcode} with உடன் தயாரிப்பு WGER தரவுத்தளத்தில் காணப்படவில்லை", "@productNotFoundDescription": { "description": "Dialog info when product is not found with barcode", "type": "text", @@ -757,7 +757,7 @@ "@settingsCacheDeletedSnackbar": {}, "aboutPageTitle": "Wger பற்றி", "@aboutPageTitle": {}, - "contributeExerciseWarning": "உங்கள் கணக்கு {days} நாட்களை விட பழையதாக இருந்தால் மட்டுமே நீங்கள் பயிற்சிகளை பங்களிக்க முடியும், மேலும் உங்கள் மின்னஞ்சலை சரிபார்த்துள்ளீர்கள்", + "contributeExerciseWarning": "உங்கள் கணக்கு {days} நாட்களைவிடப் பழையதாக இருந்தால் மட்டுமே நீங்கள் பயிற்சிகளைப் பங்களிக்க முடியும், மேலும் உங்கள் மின்னஞ்சலைச் சரிபார்த்துள்ளீர்கள்", "@contributeExerciseWarning": { "description": "Number of days before which a person can add exercise", "placeholders": { @@ -885,7 +885,7 @@ "@quads": { "description": "Generated entry for translation for server strings" }, - "repetitions": "மறுபடியும் மறுபடியும்", + "repetitions": "மறுபடியும்", "@repetitions": { "description": "Generated entry for translation for server strings" }, @@ -930,5 +930,29 @@ "description": "Log a specific meal (imperative form)" }, "done": "முடிந்தது", - "@done": {} + "@done": {}, + "overallChangeWeight": "ஒட்டுமொத்த மாற்றம்", + "@overallChangeWeight": { + "description": "Overall change in weight, added for localization" + }, + "goalTypeMeals": "உணவில் இருந்து", + "@goalTypeMeals": { + "description": "added for localization of Class GoalType's filed meals" + }, + "goalTypeBasic": "அடிப்படை", + "@goalTypeBasic": { + "description": "added for localization of Class GoalType's filed basic" + }, + "goalTypeAdvanced": "மேம்பட்ட", + "@goalTypeAdvanced": { + "description": "added for localization of Class GoalType's filed advanced" + }, + "indicatorRaw": "மூல", + "@indicatorRaw": { + "description": "added for localization of Class Indicator's field text" + }, + "indicatorAvg": "ஏ.வி.சி", + "@indicatorAvg": { + "description": "added for localization of Class Indicator's field text" + } } From c23ccdcd55b6da8fcb9529453b8ec099f4ee7b64 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Wed, 27 Nov 2024 13:52:44 +0100 Subject: [PATCH 17/37] Fix placeholder --- lib/l10n/app_ta.arb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/l10n/app_ta.arb b/lib/l10n/app_ta.arb index 2e020f76..0220d1eb 100644 --- a/lib/l10n/app_ta.arb +++ b/lib/l10n/app_ta.arb @@ -524,7 +524,7 @@ "@loadingText": { "description": "Text to show when entries are being loaded in the background: Loading..." }, - "confirmDelete": "நீங்கள் நிச்சயமாக '{டோட்லீட்}' நீக்க விரும்புகிறீர்களா?", + "confirmDelete": "நீங்கள் நிச்சயமாக '{toDelete}' நீக்க விரும்புகிறீர்களா?", "@confirmDelete": { "description": "Confirmation text before the user deletes an object", "type": "text", From 538ac16abf524a3f377e9372d78980add53d4201 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 00:34:25 +0000 Subject: [PATCH 18/37] Bump drift_dev from 2.21.2 to 2.22.0 Bumps [drift_dev](https://github.com/simolus3/drift) from 2.21.2 to 2.22.0. - [Release notes](https://github.com/simolus3/drift/releases) - [Commits](https://github.com/simolus3/drift/compare/drift_dev-2.21.2...drift_dev-2.22.0) --- updated-dependencies: - dependency-name: drift_dev dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pubspec.lock | 16 ++++++++-------- pubspec.yaml | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 584294e5..7988328c 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -298,26 +298,26 @@ packages: dependency: transitive description: name: dart_style - sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" + sha256: "7856d364b589d1f08986e140938578ed36ed948581fbc3bc9aef1805039ac5ab" url: "https://pub.dev" source: hosted - version: "2.3.6" + version: "2.3.7" drift: dependency: "direct main" description: name: drift - sha256: df027d168a2985a2e9da900adeba2ab0136f0d84436592cf3cd5135f82c8579c + sha256: c2d073d35ad441730812f4ea05b5dd031fb81c5f9786a4f5fb77ecd6307b6f74 url: "https://pub.dev" source: hosted - version: "2.21.0" + version: "2.22.1" drift_dev: dependency: "direct dev" description: name: drift_dev - sha256: "623649abe932fc17bd32e578e7e05f7ac5e7dd0b33e6c8669a0634105d1389bf" + sha256: "488263d85d027333fc602eb7714125de317e8c7db064aa6c2f208a8f79139e7b" url: "https://pub.dev" source: hosted - version: "2.21.2" + version: "2.22.0" equatable: dependency: "direct main" description: @@ -1266,10 +1266,10 @@ packages: dependency: transitive description: name: sqlparser - sha256: d77749237609784e337ec36c979d41f6f38a7b279df98622ae23929c8eb954a4 + sha256: "4cad4b2c5f63dc9ea1a8dcffb58cf762322bea5dd8836870164a65e913bdae41" url: "https://pub.dev" source: hosted - version: "0.39.2" + version: "0.40.0" stack_trace: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index d09d23b0..3ad94c8a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -84,7 +84,7 @@ dev_dependencies: network_image_mock: ^2.1.1 flutter_lints: ^5.0.0 cider: ^0.2.7 - drift_dev: ^2.20.3 + drift_dev: ^2.22.0 freezed: ^2.5.7 golden_toolkit: ^0.15.0 From f1effe6d601040a441e3dca24a61b37c2ff2ab97 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 00:34:37 +0000 Subject: [PATCH 19/37] Bump flex_color_scheme from 8.0.1 to 8.0.2 Bumps [flex_color_scheme](https://github.com/rydmike/flex_color_scheme) from 8.0.1 to 8.0.2. - [Release notes](https://github.com/rydmike/flex_color_scheme/releases) - [Changelog](https://github.com/rydmike/flex_color_scheme/blob/master/CHANGELOG.md) - [Commits](https://github.com/rydmike/flex_color_scheme/compare/8.0.1...8.0.2) --- updated-dependencies: - dependency-name: flex_color_scheme dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 584294e5..04f49584 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -402,10 +402,10 @@ packages: dependency: "direct main" description: name: flex_color_scheme - sha256: ad9695ebdf7e2709b0311cac6a8f887984666e56884eecafa008d236ec3fc0c7 + sha256: "90f4fe67b9561ae8a4af117df65a8ce9988624025667c54e6d304e65cff77d52" url: "https://pub.dev" source: hosted - version: "8.0.1" + version: "8.0.2" flex_seed_scheme: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index d09d23b0..18bc9ecf 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -65,7 +65,7 @@ dependencies: sqlite3_flutter_libs: ^0.5.20 get_it: ^8.0.2 flex_seed_scheme: ^3.4.1 - flex_color_scheme: ^8.0.1 + flex_color_scheme: ^8.0.2 freezed_annotation: ^2.4.4 clock: ^1.1.1 flutter_svg_icons: ^0.0.1 From 27a7a133821a7afe6aee71f83f8c73c05abac337 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 00:34:41 +0000 Subject: [PATCH 20/37] Bump flutter_zxing from 1.7.0 to 1.8.1 Bumps [flutter_zxing](https://github.com/khoren93/flutter_zxing) from 1.7.0 to 1.8.1. - [Changelog](https://github.com/khoren93/flutter_zxing/blob/main/CHANGELOG.md) - [Commits](https://github.com/khoren93/flutter_zxing/commits) --- updated-dependencies: - dependency-name: flutter_zxing dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 584294e5..3cda6a57 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -563,10 +563,10 @@ packages: dependency: "direct main" description: name: flutter_zxing - sha256: "7ced1ebb196a5361964f03af37a8f51120271982698ff7befe34f7e35f0babbc" + sha256: "828c4826c2eb7668dcc80848b41b9a80437f7535aabc8c2062202c6070e4d4bb" url: "https://pub.dev" source: hosted - version: "1.7.0" + version: "1.8.1" font_awesome_flutter: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index d09d23b0..90a3341e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -58,7 +58,7 @@ dependencies: multi_select_flutter: ^4.1.3 flutter_svg: ^2.0.14 fl_chart: ^0.69.2 - flutter_zxing: ^1.5.2 + flutter_zxing: ^1.8.1 drift: ^2.16.0 path: ^1.8.3 path_provider: ^2.1.5 From 3c3e7858ff1666e01740907b505789c38380549f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 00:34:45 +0000 Subject: [PATCH 21/37] Bump rive from 0.13.17 to 0.13.19 Bumps [rive](https://github.com/rive-app/rive-flutter) from 0.13.17 to 0.13.19. - [Release notes](https://github.com/rive-app/rive-flutter/releases) - [Changelog](https://github.com/rive-app/rive-flutter/blob/master/CHANGELOG.md) - [Commits](https://github.com/rive-app/rive-flutter/commits) --- updated-dependencies: - dependency-name: rive dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pubspec.lock | 8 ++++---- pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 584294e5..ef091658 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1125,18 +1125,18 @@ packages: dependency: "direct main" description: name: rive - sha256: b44b62feb908610ca6c85e05f4573a66118a23867425926cf06152d171236141 + sha256: b32e1b2d57be094ba3aa353cb97f24beeebdc2fd71cff8ed351eaf4e555c3e24 url: "https://pub.dev" source: hosted - version: "0.13.17" + version: "0.13.19" rive_common: dependency: transitive description: name: rive_common - sha256: a3e5786f8d85c89977062b9ceeb3b72a7c28f81e32fb68497744042ce20bee2f + sha256: "07b0d1f5bd139dd01d95cadf51fcd52b9dad9661a3b3fef734ff1ecb42dfbaaf" url: "https://pub.dev" source: hosted - version: "0.4.12" + version: "0.4.14" shared_preferences: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index d09d23b0..e6160a3c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -47,7 +47,7 @@ dependencies: version: ^3.0.2 package_info_plus: ^8.1.1 provider: ^6.1.2 - rive: ^0.13.17 + rive: ^0.13.19 shared_preferences: ^2.3.3 table_calendar: ^3.0.8 url_launcher: ^6.3.1 From 0591ca4f7dfd5d15da811d87a6707e656c974ec9 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Wed, 20 Nov 2024 19:25:00 +0100 Subject: [PATCH 22/37] Update flatpak metainfo file --- flatpak/app-icon-grid.svg | 52 ++++++++++++ flatpak/de.wger.flutter.metainfo.xml | 113 ++++++++++----------------- flatpak/flatpak_meta.json | 42 +++++----- flatpak/logo128.png | Bin 4888 -> 3348 bytes flatpak/logo512.png | Bin 11147 -> 11706 bytes flatpak/logo64.png | Bin 3323 -> 2019 bytes 6 files changed, 115 insertions(+), 92 deletions(-) create mode 100644 flatpak/app-icon-grid.svg diff --git a/flatpak/app-icon-grid.svg b/flatpak/app-icon-grid.svg new file mode 100644 index 00000000..9ceb4ca0 --- /dev/null +++ b/flatpak/app-icon-grid.svg @@ -0,0 +1,52 @@ + + + + + + + + diff --git a/flatpak/de.wger.flutter.metainfo.xml b/flatpak/de.wger.flutter.metainfo.xml index 20ef36fe..2ae67f65 100755 --- a/flatpak/de.wger.flutter.metainfo.xml +++ b/flatpak/de.wger.flutter.metainfo.xml @@ -2,7 +2,40 @@ de.wger.flutter wger - Fitness/workout, nutrition and weight tracker + Fitness and nutrition tracker + +

wger is a free and open-source fitness application designed to help you achieve your + fitness goals. +

+ +
    +
  • + Workout Management +
      +
    • Create and customize workout routines tailored to your fitness level and + goals +
    • +
    • Track your progress with detailed exercise logs
    • +
    • Access a vast library of exercises
    • +
    +
  • +
  • + Nutrition Tracking +
      +
    • Log your food intake using the Open Food Facts database
    • +
    • Calculate your calorie intake and macronutrient breakdown
    • +
    • Set personalized dietary goals and track your progress
    • +
    +
  • +
  • + Body Measurement Tracking +
      +
    • Monitor your body weight, body fat percentage, and other measurements
    • +
    • Visualize your progress with charts and graphs
    • +
    +
  • +
+
CC0-1.0 AGPL-3.0-or-later @@ -13,79 +46,17 @@ wger https://wger.de/ + https://fosstodon.org/@wger https://github.com/wger-project/flutter/issues https://buymeacoffee.com/wger + https://github.com/wger-project/flutter + https://hosted.weblate.org/engage/wger/ - -

- From fitness lovers to fitness lovers – get your health organized with WGER, - your Workout Manager! -

-

- Have you already found your #1 fitness app and do you love to create your own sports - routines? No matter what type of sporty beast you are – we all have something in common: - We love to keep track of our health data <3 -

-

- So we don’t judge you for still managing your fitness journey with your handy little - workout log book but welcome to 2021! -

-

- We have developed a 100% free digital health and fitness tracker app for you, sized down - to the most relevant features to make your life easier. Get started, keep training and - celebrate your progress! -

-

wger is an Open Source project and all about:

-
    -
  • - Your body: - No need to google for the ingredients of your favourite treats – choose your daily - meals from more than 78000 products and see the nutritional values. Add meals to the - nutritional plan and keep an overview of your diet in the calendar. -
  • -
  • - Your workouts: - You know what is best for your body. Create your own workouts out of a growing - variety from 200 different exercises. Then, use the Gym Mode to guide you through - the training while you log your weights with one tap. -
  • -
  • - Your progress: - Never lose sight of your goals. Track your weight and keep your statistics. -
  • -
  • - Your data: - wger is your personalized fitness diary – but you own your data. Use the REST API to - access and do amazing things with it. -
  • -
-

Please note: This free app is not based on additional fundings and we don’t ask you to - donate money. More than that it is a community project which is growing constantly. So - be prepared for new features anytime! -

-

- OpenSource – what does that mean? - Open Source means that the whole source code for this app and the server it talks to is - free and available to anybody: -

-
    -
  • Do you want to run wger on your own server for you or your local gym? Go ahead!
  • -
  • Do you miss a feature and want to implement it? Start now!
  • -
  • Do you want to check that nothing is being sent anywhere? You can!
  • -
-

Join our community and become a part of sport enthusiasts and IT geeks from all over the - world. We keep working on adjusting and optimizing the app customized to our needs. We - love your input so feel free to jump in anytime and contribute your wishes and ideas! -

-
    -
  • find the source code on https://github.com/wger-project -
  • -
  • - ask your questions or just say hello on our discord Server - https://discord.gg/rPWFv6W -
  • -
-
+ + + #a2aedd + #687bd9 + diff --git a/flatpak/flatpak_meta.json b/flatpak/flatpak_meta.json index 253cf82e..f3c1a6a3 100644 --- a/flatpak/flatpak_meta.json +++ b/flatpak/flatpak_meta.json @@ -1,23 +1,23 @@ { - "appId": "de.wger.flutter", - "lowercaseAppName": "wger", - "githubReleaseOrganization": "wger-project", - "githubReleaseProject": "flutter", - "localLinuxBuildDir": "../build/linux", - "appStreamPath": "de.wger.flutter.metainfo.xml", - "desktopPath": "de.wger.flutter.desktop", - "icons": { - "64x64": "logo64.png", - "128x126": "logo128.png", - "512x512": "logo512.png" - }, - "freedesktopRuntime": "22.08", - "finishArgs": [ - "--share=ipc", - "--share=network", - "--socket=fallback-x11", - "--socket=wayland", - "--socket=pulseaudio", - "--device=dri" - ] + "appId": "de.wger.flutter", + "lowercaseAppName": "wger", + "githubReleaseOrganization": "wger-project", + "githubReleaseProject": "flutter", + "localLinuxBuildDir": "../build/linux", + "appStreamPath": "de.wger.flutter.metainfo.xml", + "desktopPath": "de.wger.flutter.desktop", + "icons": { + "64x64": "logo64.png", + "128x126": "logo128.png", + "512x512": "logo512.png" + }, + "freedesktopRuntime": "24.08", + "finishArgs": [ + "--share=ipc", + "--share=network", + "--socket=fallback-x11", + "--socket=wayland", + "--socket=pulseaudio", + "--device=dri" + ] } \ No newline at end of file diff --git a/flatpak/logo128.png b/flatpak/logo128.png index 98f5c2d5ddec8b3e868907a3dcecb933f97866da..91e4a88454c5beb664a9802450fbf4eb9aa09887 100644 GIT binary patch literal 3348 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 AbN~PV diff --git a/flatpak/logo512.png b/flatpak/logo512.png index 7f0d02245eec58556e5550d0aa5354f8b9b8a938..c16c6b008648292b2ca40bf7a1dfa9db6327359f 100644 GIT binary patch literal 11706 zcmd6Nc{r4B+y7+=B_T`?IY=tZ#yRlOUW63Uq zB80IsmSOxZJy4Q;_#0GSDqdMAF_MjF!eTaxA#Wg^|S*>BvRbT z&Be?1?gKkM#p$=pn6KB?sxlXk zP&4-!8mL}8$~ThybOCix^qA($r=+oD7yE*(g|{hveI-i|6-)w`lXp5drIBm^XlkEE z!4YRG!l_}Xnc*$pGkD=qrH0p|=ix<@i2?wXU^;kv@;bb{;`#r`^e=7{z^o3CTPA;w zpR^L+(ZRkn&SIZYLf9KAIDSA>kL~@vPWaHCyX9ij5xMIotiXe;~5QvebhaG`OW7kT3jI(TY3?+Lco*c9M2R>f1bO`_YQ1hfVndN&i_pdTS=F*7RA zgW7Q)(W@_HD@PAJoQg8$z4m;RW3>cKEO%Q)*_29mW>TKE%=v(RKmlapiJ8qeCs@c@ zT(KPlQ-o?+ZK{KTVb^pjW5P{$^NO``j=Ia3i`QVIHiJTJ`kmJn%%WnG2$I;@dsD1SMUTd`YbR$((C(1oB&lFFGh9G{+O z$H|ihxA0sj7R;;$06xw$O&u>C+t%XDW|m__G%xcKv-U6MOcuPAB9$jt4^|YA}ubhq6QgP#*!n{1;s4a;hY+ z{0666l~(V)ff4il3!D8KR96v5`?avk?xs8W!%1L|krF&}CGVA()7a}M_vz;0yq{Iy zwsGgsK478r)yR5qkr(vSLYr(f;-`0QwP_64(UCvBQT|v5;sYbQ+8z701g4e(^80{^uS;IyM z@_FvEC5#>WcP?!w?@xU^FXY~vFD15MK7rPNBayxUFdn_WT0a?1?*&M64!Oe5MQ)j8 z)!^z+2j>reAKecbj>g!-@UnF!zAM0**$-9i1mmXl(QI57ZoPgJH#cE-yUxyX%d&`; zqVqBA^lMMT{3TNtPfTp zZ%dkVHZJB@db5=IS-iyD#HY2o;V_K4IsmlK&hDMRC{Zmcy%p5yU$>qz-b7U-ND%?k zzzG#|jah^g`V0PLw2&ab_bdJVzYy&fRTuAJo63DcHEb9uIgV0*a1~Nc^X1TaAJu?b zKG|8CdO3qAK5WqWj!=`Nq5NIDUy3SfJOFd|O5o}XwrSC7JibfH|3M}y*qT$Mja8xK z5{u_Z3^HHLHByl-+kqN<;_klE=>EGV&}}6zh(AHglk^}b(b8)|EHoKTe-jQYMUB*J zleb*(R;4O z`Ydg9wbEVIXf{KGYrj7k8TjrTip7AD4*U?h&zUTkU?-~?kn`(d%Y>_r9iqNCts`8>&S>sOV6GC|U2H6^w|)1%U*Su-c%FX`+#(H%i%dXs z@a+vtL171OBf7EU+?=Lv@A);A4p!ep#yv$_WNy;atFAO$|ecI zo>MsTb*#`mPh|J5&OBk%0M7)+CIUPCR_@q*vEA&0zi-wrRu2c|l*uf~jrtMBlC-eh zfUu-Vamp5M3QU%)*H1f*(qFe@6ZRC^f`3_TuT~rLP2VHlkG3AJs3X0EtFn3xq&bz< z7x`7*7LKbVQ0ecdR<79k>DV3VPBJS@5+5tBLunHb4W<`BkGB;$Ycf4k>¬4vY5Z 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 Kdcn0j!T$#U-q;QR literal 11147 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 literal 3323 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

Z5-jM)RGwy(TXD zWFjT#LCXjc`uu%VVP??D;8%2I&KV`%0}9`ld2AhJ5@T9E3P_FB2WDRH zYg;@F)9*GcAJ=xqY@{LBN;~%|_{OyCwYc!r^z}36s`C}9d->CaQYlT5x7>5BzYJ&9 nApK{DQOCj2^xn4@1~xz=wB1dw3Zu!aUwY${=K4=`vEly(paqP! From 65f058f41dcc0674944a97d07ed5bb2cdb8ee03d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=93=D0=BE=D1=80?= =?UTF-8?q?=D0=BF=D0=B8=D0=BD=D1=96=D1=87?= Date: Sun, 1 Dec 2024 17:33:50 +0000 Subject: [PATCH 23/37] Translated using Weblate (Ukrainian) Currently translated at 100.0% (4 of 4 strings) Translation: wger Workout Manager/Play Store Translate-URL: https://hosted.weblate.org/projects/wger/play-store/uk/ --- fastlane/metadata/android/uk/video.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/uk/video.txt diff --git a/fastlane/metadata/android/uk/video.txt b/fastlane/metadata/android/uk/video.txt new file mode 100644 index 00000000..db1a5a09 --- /dev/null +++ b/fastlane/metadata/android/uk/video.txt @@ -0,0 +1 @@ +I From bd7e72bf88139b77b28109a3d4e83c73f7909d2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=93=D0=BE=D1=80?= =?UTF-8?q?=D0=BF=D0=B8=D0=BD=D1=96=D1=87?= Date: Sun, 1 Dec 2024 20:56:13 +0000 Subject: [PATCH 24/37] Translated using Weblate (Ukrainian) Currently translated at 100.0% (272 of 272 strings) Translation: wger Workout Manager/Mobile App Translate-URL: https://hosted.weblate.org/projects/wger/mobile/uk/ --- lib/l10n/app_uk.arb | 149 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 146 insertions(+), 3 deletions(-) diff --git a/lib/l10n/app_uk.arb b/lib/l10n/app_uk.arb index def766b3..4728f85d 100644 --- a/lib/l10n/app_uk.arb +++ b/lib/l10n/app_uk.arb @@ -303,11 +303,11 @@ "@addMeal": {}, "mealLogged": "Страву записано в щоденник", "@mealLogged": {}, - "logMeal": "Записати цю страву", + "logMeal": "Запис прийому їжі в щоденник харчування", "@logMeal": {}, "addIngredient": "Додати інгредієнт", "@addIngredient": {}, - "logIngredient": "Зберегти в щоденник харчування", + "logIngredient": "Занесіть інгредієнт до щоденника харчування", "@logIngredient": {}, "searchIngredient": "Пошук інгредієнта", "@searchIngredient": { @@ -751,5 +751,148 @@ "max_reps": "Максимальна кількість повторень", "@max_reps": { "description": "Generated entry for translation for server strings" - } + }, + "goalMacro": "Макроцілі", + "@goalMacro": { + "description": "The goal for macronutrients" + }, + "goalFiber": "Волокно гол", + "@goalFiber": {}, + "goalTypeBasic": "Базовий", + "@goalTypeBasic": { + "description": "added for localization of Class GoalType's filed basic" + }, + "goalTypeAdvanced": "Просунутий", + "@goalTypeAdvanced": { + "description": "added for localization of Class GoalType's filed advanced" + }, + "useMetric": "Використовуйте метричні одиниці вимірювання маси тіла", + "@useMetric": {}, + "settingsTitle": "налаштування", + "@settingsTitle": {}, + "deficit": "дефіцит", + "@deficit": { + "description": "Caloric deficit (either planned or unplanned)" + }, + "gValue": "{value} г", + "@gValue": { + "description": "A value in grams, e.g. 5 g", + "type": "text", + "placeholders": { + "value": {} + } + }, + "percentValue": "{value} %", + "@percentValue": { + "description": "A value in percent, e.g. 10 %", + "type": "text", + "placeholders": { + "value": {} + } + }, + "settingsExerciseCacheDescription": "Кеш вправ", + "@settingsExerciseCacheDescription": {}, + "chartAllTimeTitle": "{name} за весь час", + "@chartAllTimeTitle": { + "description": "All-time chart of 'name' (e.g. 'weight', 'body fat' etc.)", + "type": "text", + "placeholders": { + "name": {} + } + }, + "chart30DaysTitle": "{name} останні 30 днів", + "@chart30DaysTitle": { + "description": "last 30 days chart of 'name' (e.g. 'weight', 'body fat' etc.)", + "type": "text", + "placeholders": { + "name": {} + } + }, + "chartDuringPlanTitle": "{chartName} під час плану харчування {planName}", + "@chartDuringPlanTitle": { + "description": "chart of 'chartName' (e.g. 'weight', 'body fat' etc.) logged during plan", + "type": "text", + "placeholders": { + "chartName": {}, + "planName": {} + } + }, + "kcalValue": "{value} ккал", + "@kcalValue": { + "description": "A value in kcal, e.g. 500 kcal", + "type": "text", + "placeholders": { + "value": {} + } + }, + "log": "Журнал", + "@log": { + "description": "Log a specific meal (imperative form)" + }, + "settingsIngredientCacheDescription": "Кеш інгредієнтів", + "@settingsIngredientCacheDescription": {}, + "overallChangeWeight": "Загальна зміна", + "@overallChangeWeight": { + "description": "Overall change in weight, added for localization" + }, + "goalTypeMeals": "Від їжі", + "@goalTypeMeals": { + "description": "added for localization of Class GoalType's filed meals" + }, + "indicatorRaw": "сирий", + "@indicatorRaw": { + "description": "added for localization of Class Indicator's field text" + }, + "indicatorAvg": "середнє", + "@indicatorAvg": { + "description": "added for localization of Class Indicator's field text" + }, + "onlyLogging": "Слідкуйте лише за калоріями", + "@onlyLogging": {}, + "onlyLoggingHelpText": "Поставте прапорець, якщо ви хочете лише реєструвати свої калорії та не хочете встановлювати детальний план харчування з певними стравами", + "@onlyLoggingHelpText": {}, + "goalEnergy": "Енергетична мета", + "@goalEnergy": {}, + "goalProtein": "Білкова мета", + "@goalProtein": {}, + "goalCarbohydrates": "Мета вуглеводів", + "@goalCarbohydrates": {}, + "goalFat": "Товстий гол", + "@goalFat": {}, + "today": "Сьогодні", + "@today": {}, + "loggedToday": "Зареєстровано сьогодні", + "@loggedToday": {}, + "aboutDonateTitle": "Пожертвуйте", + "@aboutDonateTitle": {}, + "aboutDonateText": "Купіть нам каву, щоб допомогти проекту, оплатити витрати на сервер і підтримати нас", + "@aboutDonateText": {}, + "surplus": "надлишок", + "@surplus": { + "description": "Caloric surplus (either planned or unplanned)" + }, + "aboutMastodonText": "Слідкуйте за оновленнями та новинами про проект на Mastodon", + "@aboutMastodonText": { + "description": "Text for the mastodon section in the about dialog" + }, + "done": "Готово", + "@done": {}, + "noIngredientsDefined": "Інгредієнти ще не визначені", + "@noIngredientsDefined": {}, + "noMatchingExerciseFound": "Відповідних вправ не знайдено", + "@noMatchingExerciseFound": { + "description": "Message returned if no exercises match the searched string" + }, + "ingredientLogged": "Інгредієнт зареєстровано в щоденнику", + "@ingredientLogged": {}, + "selectMealToLog": "Виберіть страву, щоб записати в щоденник", + "@selectMealToLog": {}, + "aboutMastodonTitle": "Мастодонт", + "@aboutMastodonTitle": { + "description": "Title for mastodon section in the about dialog" + }, + "settingsCacheTitle": "Кеш", + "@settingsCacheTitle": {}, + "settingsCacheDeletedSnackbar": "Кеш успішно очищено", + "@settingsCacheDeletedSnackbar": {} } From 9304a8260a7d2dac0a19129f4f3b644aa9a5ca4a Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Thu, 5 Dec 2024 21:35:02 +0100 Subject: [PATCH 25/37] We don't have a promo video (yet) --- fastlane/metadata/android/uk/video.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/fastlane/metadata/android/uk/video.txt b/fastlane/metadata/android/uk/video.txt index db1a5a09..e69de29b 100644 --- a/fastlane/metadata/android/uk/video.txt +++ b/fastlane/metadata/android/uk/video.txt @@ -1 +0,0 @@ -I From 35bd7258c686a0463942c03e56590e5f2338aefe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Dec 2024 00:14:06 +0000 Subject: [PATCH 26/37] Bump flutter_zxing from 1.8.1 to 1.8.2 Bumps [flutter_zxing](https://github.com/khoren93/flutter_zxing) from 1.8.1 to 1.8.2. - [Changelog](https://github.com/khoren93/flutter_zxing/blob/main/CHANGELOG.md) - [Commits](https://github.com/khoren93/flutter_zxing/commits) --- updated-dependencies: - dependency-name: flutter_zxing dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 691b69dc..7cb5e5c4 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -563,10 +563,10 @@ packages: dependency: "direct main" description: name: flutter_zxing - sha256: "828c4826c2eb7668dcc80848b41b9a80437f7535aabc8c2062202c6070e4d4bb" + sha256: "5b2670f151a6d96643204ff3a781e073739c23a91ef5fc39742bf13fb8287b4c" url: "https://pub.dev" source: hosted - version: "1.8.1" + version: "1.8.2" font_awesome_flutter: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index c95b2973..ecea97ca 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -58,7 +58,7 @@ dependencies: multi_select_flutter: ^4.1.3 flutter_svg: ^2.0.14 fl_chart: ^0.69.2 - flutter_zxing: ^1.8.1 + flutter_zxing: ^1.8.2 drift: ^2.16.0 path: ^1.8.3 path_provider: ^2.1.5 From 5fb9a53ffa5d346f32b074a4b200801b304610e2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Dec 2024 00:13:31 +0000 Subject: [PATCH 27/37] Bump flutter_svg from 2.0.14 to 2.0.16 Bumps [flutter_svg](https://github.com/flutter/packages/tree/main/third_party/packages) from 2.0.14 to 2.0.16. - [Release notes](https://github.com/flutter/packages/releases) - [Commits](https://github.com/flutter/packages/commits/flutter_svg-v2.0.16/third_party/packages) --- updated-dependencies: - dependency-name: flutter_svg dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 7cb5e5c4..ecf47b7c 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -529,10 +529,10 @@ packages: dependency: "direct main" description: name: flutter_svg - sha256: "578bd8c508144fdaffd4f77b8ef2d8c523602275cd697cc3db284dbd762ef4ce" + sha256: "54900a1a1243f3c4a5506d853a2b5c2dbc38d5f27e52a52618a8054401431123" url: "https://pub.dev" source: hosted - version: "2.0.14" + version: "2.0.16" flutter_svg_icons: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index ecea97ca..c4ccf80e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -56,7 +56,7 @@ dependencies: flutter_staggered_grid_view: ^0.7.0 carousel_slider: ^5.0.0 multi_select_flutter: ^4.1.3 - flutter_svg: ^2.0.14 + flutter_svg: ^2.0.16 fl_chart: ^0.69.2 flutter_zxing: ^1.8.2 drift: ^2.16.0 From e0df0c4e9799a697ef17f98e26fd2d06d77ab996 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 9 Dec 2024 00:13:49 +0000 Subject: [PATCH 28/37] Bump sqlite3_flutter_libs from 0.5.26 to 0.5.27 Bumps [sqlite3_flutter_libs](https://github.com/simolus3/sqlite3.dart) from 0.5.26 to 0.5.27. - [Release notes](https://github.com/simolus3/sqlite3.dart/releases) - [Commits](https://github.com/simolus3/sqlite3.dart/compare/sqlite3_flutter_libs-0.5.26...sqlite3_flutter_libs-0.5.27) --- updated-dependencies: - dependency-name: sqlite3_flutter_libs dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index ecf47b7c..09ff5cd3 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1258,10 +1258,10 @@ packages: dependency: "direct main" description: name: sqlite3_flutter_libs - sha256: "7ae52b23366e5295005022e62fa093f64bfe190810223ea0ebf733a4cd140bce" + sha256: "636b0fe8a2de894e5455572f6cbbc458f4ffecfe9f860b79439e27041ea4f0b9" url: "https://pub.dev" source: hosted - version: "0.5.26" + version: "0.5.27" sqlparser: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index c4ccf80e..43670867 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -62,7 +62,7 @@ dependencies: drift: ^2.16.0 path: ^1.8.3 path_provider: ^2.1.5 - sqlite3_flutter_libs: ^0.5.20 + sqlite3_flutter_libs: ^0.5.27 get_it: ^8.0.2 flex_seed_scheme: ^3.4.1 flex_color_scheme: ^8.0.2 From d35ff240a7288535e4f695b8b139f90dadca35db Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Thu, 12 Dec 2024 19:28:40 +0100 Subject: [PATCH 29/37] Update/fix android configuration It seems some packages that have not been updated in some years are causing problems. android_metadata has been removed here, but flutter_barcode_scanner is still needed --- .metadata | 39 +++- android/app/build.gradle | 34 +--- android/build.gradle | 38 +++- .../gradle/wrapper/gradle-wrapper.properties | 3 +- android/settings.gradle | 4 +- ios/Podfile.lock | 4 +- lib/providers/auth.dart | 19 -- macos/Podfile.lock | 30 +-- pubspec.lock | 174 +++++++++--------- pubspec.yaml | 3 +- 10 files changed, 183 insertions(+), 165 deletions(-) diff --git a/.metadata b/.metadata index bcef94eb..0edb585d 100644 --- a/.metadata +++ b/.metadata @@ -4,7 +4,42 @@ # This file should be version controlled and should not be manually edited. version: - revision: bbfbf1770cca2da7c82e887e4e4af910034800b6 - channel: stable + revision: "8495dee1fd4aacbe9de707e7581203232f591b2f" + channel: "stable" project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f + base_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f + - platform: android + create_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f + base_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f + - platform: ios + create_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f + base_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f + - platform: linux + create_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f + base_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f + - platform: macos + create_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f + base_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f + - platform: web + create_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f + base_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f + - platform: windows + create_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f + base_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/android/app/build.gradle b/android/app/build.gradle index c4b2bc19..d12e201a 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -12,16 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - // Keys for the android play store def keystoreProperties = new Properties() @@ -32,33 +22,27 @@ if (keystorePropertiesFile.exists()) { android { + namespace = "de.wger.flutter" compileSdkVersion 34 ndkVersion "25.1.8937393" compileOptions { - sourceCompatibility JavaVersion.VERSION_17 - targetCompatibility JavaVersion.VERSION_17 + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = JavaVersion.VERSION_11 } - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - } - - lintOptions { - disable 'InvalidPackage' - } defaultConfig { // Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "de.wger.flutter" - minSdkVersion 21 - targetSdkVersion 34 - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName + minSdk = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName } signingConfigs { @@ -71,8 +55,6 @@ android { } buildTypes { release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. signingConfig signingConfigs.release } debug { diff --git a/android/build.gradle b/android/build.gradle index 9f74ebf5..ddb8ad0b 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -7,9 +7,13 @@ allprojects { rootProject.buildDir = '../build' -subprojects { - // Workaround for APK builds - https://github.com/flutter/flutter/issues/153281 +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} + +// Workaround for APK builds - https://github.com/flutter/flutter/issues/153281 +subprojects { afterEvaluate { project -> if (project.extensions.findByName("android") != null) { Integer pluginCompileSdk = project.android.compileSdk @@ -25,13 +29,39 @@ subprojects { + " to increase their compileSdk to the latest (otherwise try updating to the latest version)." ) project.android { - compileSdk 31 + compileSdk 34 } } } } +} - project.buildDir = "${rootProject.buildDir}/${project.name}" +// Workaround for " Could not create an instance of type com.android.build.api.variant.impl.LibraryVariantBuilderImpl." error +// Note that this instance seems to be caused by flutter_barcode_scanner, which hasn't been +// updated in three years, might be time to look for a different package +subprojects { + afterEvaluate { project -> + if (project.hasProperty('android')) { + project.android { + if (namespace == null) { + project.logger.error( + "Warning: project " + + project.name + + " has no namespace set, this will prevent compilation, " + + " setting one now to " + + project.group + + "\nIf there is not a new version of " + project.name + ", consider filing an issue against " + + project.name + ) + + namespace project.group + } + } + } + } +} + +subprojects { project.evaluationDependsOn(':app') } diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 4cf0c849..bd814c76 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Fri Jun 23 08:50:38 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip \ No newline at end of file diff --git a/android/settings.gradle b/android/settings.gradle index ef03c12b..634f40d9 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -18,8 +18,8 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "7.3.1" apply false - id "org.jetbrains.kotlin.android" version "1.7.10" apply false + id "com.android.application" version "8.2.2" apply false + id "org.jetbrains.kotlin.android" version "2.0.20" apply false } include ":app" diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 36cfa724..ada5682f 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -112,7 +112,7 @@ SPEC CHECKSUMS: package_info_plus: c0502532a26c7662a62a356cebe2692ec5fe4ec4 path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 pointer_interceptor_ios: 508241697ff0947f853c061945a8b822463947c1 - rive_common: 3a4c254c6e4db7e4b9e05daeb3d1f47ae4f7bf76 + rive_common: 4743dbfd2911c99066547a3c6454681e0fa907df shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 sqlite3: 0aa20658a9b238a3b1ff7175eb7bdd863b0ab4fd sqlite3_flutter_libs: b55ef23cfafea5318ae5081e0bf3fbbce8417c94 @@ -121,4 +121,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 4e8f8b2be68aeea4c0d5beb6ff1e79fface1d048 -COCOAPODS: 1.16.0 +COCOAPODS: 1.16.2 diff --git a/lib/providers/auth.dart b/lib/providers/auth.dart index 95443dd0..1bfbdca1 100644 --- a/lib/providers/auth.dart +++ b/lib/providers/auth.dart @@ -21,9 +21,7 @@ import 'dart:convert'; import 'dart:developer'; import 'dart:io'; -import 'package:android_metadata/android_metadata.dart'; import 'package:flutter/cupertino.dart'; -import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; import 'package:http/http.dart' as http; import 'package:package_info_plus/package_info_plus.dart'; @@ -55,23 +53,6 @@ class AuthProvider with ChangeNotifier { AuthProvider([http.Client? client, bool? checkMetadata]) { this.client = client ?? http.Client(); - - // TODO: this is a workaround since AndroidMetadata doesn't work while running tests - if (checkMetadata ?? true) { - try { - if (Platform.isAndroid) { - AndroidMetadata.metaDataAsMap.then((value) => metadata = value!); - } else if (Platform.isLinux || Platform.isMacOS) { - metadata = { - MANIFEST_KEY_CHECK_UPDATE: Platform.environment[MANIFEST_KEY_CHECK_UPDATE] ?? '', - }; - } - } on PlatformException { - throw Exception( - 'An error occurred reading the metadata from AndroidManifest', - ); - } catch (error) {} - } } /// flag to indicate that the application has successfully loaded all initial data diff --git a/macos/Podfile.lock b/macos/Podfile.lock index 35eea3fa..bf9c1cb4 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -14,20 +14,20 @@ PODS: - shared_preferences_foundation (0.0.1): - Flutter - FlutterMacOS - - "sqlite3 (3.46.1+1)": - - "sqlite3/common (= 3.46.1+1)" - - "sqlite3/common (3.46.1+1)" - - "sqlite3/dbstatvtab (3.46.1+1)": + - sqlite3 (3.47.1): + - sqlite3/common (= 3.47.1) + - sqlite3/common (3.47.1) + - sqlite3/dbstatvtab (3.47.1): - sqlite3/common - - "sqlite3/fts5 (3.46.1+1)": + - sqlite3/fts5 (3.47.1): - sqlite3/common - - "sqlite3/perf-threadsafe (3.46.1+1)": + - sqlite3/perf-threadsafe (3.47.1): - sqlite3/common - - "sqlite3/rtree (3.46.1+1)": + - sqlite3/rtree (3.47.1): - sqlite3/common - sqlite3_flutter_libs (0.0.1): - FlutterMacOS - - "sqlite3 (~> 3.46.0+1)" + - sqlite3 (~> 3.47.0) - sqlite3/dbstatvtab - sqlite3/fts5 - sqlite3/perf-threadsafe @@ -77,18 +77,18 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/video_player_avfoundation/darwin SPEC CHECKSUMS: - file_selector_macos: 54fdab7caa3ac3fc43c9fac4d7d8d231277f8cf2 + file_selector_macos: cc3858c981fe6889f364731200d6232dac1d812d flutter_zxing: ea030278aa2a051cd81a5b0053be9d0569d11c9a FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 - package_info_plus: d2f71247aab4b6521434f887276093acc70d214c + package_info_plus: 12f1c5c2cfe8727ca46cbd0b26677728972d9a5b path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 - rive_common: 0f0aadf670f0c6a7872dfe3e6186f112a5319108 + rive_common: 9580b9f1f08a8c85006083078e80479edf3db26a shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 - sqlite3: 0bb0e6389d824e40296f531b858a2a0b71c0d2fb - sqlite3_flutter_libs: 5ca46c1a04eddfbeeb5b16566164aa7ad1616e7b - url_launcher_macos: 5f437abeda8c85500ceb03f5c1938a8c5a705399 + sqlite3: 1e522f0938463e44b7faf50393b40bdc1e1e456d + sqlite3_flutter_libs: f0b7a85544d8bac7b8bac12eac7d05bcfdd786d0 + url_launcher_macos: c82c93949963e55b228a30115bd219499a6fe404 video_player_avfoundation: 7c6c11d8470e1675df7397027218274b6d2360b3 PODFILE CHECKSUM: 0d3963a09fc94f580682bd88480486da345dc3f0 -COCOAPODS: 1.15.2 +COCOAPODS: 1.16.2 diff --git a/pubspec.lock b/pubspec.lock index 09ff5cd3..b1f30e48 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,23 +5,23 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834 + sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab" url: "https://pub.dev" source: hosted - version: "72.0.0" + version: "76.0.0" _macros: dependency: transitive description: dart source: sdk - version: "0.3.2" + version: "0.3.3" analyzer: dependency: transitive description: name: analyzer - sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139 + sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e" url: "https://pub.dev" source: hosted - version: "6.7.0" + version: "6.11.0" analyzer_plugin: dependency: transitive description: @@ -30,14 +30,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.11.3" - android_metadata: - dependency: "direct main" - description: - name: android_metadata - sha256: "29d15dfd03ff67f84bf706d43f1ac087e82d529698e173133bb7cbc84a67d11d" - url: "https://pub.dev" - source: hosted - version: "0.2.1" archive: dependency: transitive description: @@ -154,10 +146,10 @@ packages: dependency: transitive description: name: camera_avfoundation - sha256: "0d04cec8715b59fb6dc60eefb47e69024f51233c570e475b886dc9290568bca7" + sha256: "2e4c568f70e406ccb87376bc06b53d2f5bebaab71e2fbcc1a950e31449381bcf" url: "https://pub.dev" source: hosted - version: "0.9.17+4" + version: "0.9.17+5" camera_platform_interface: dependency: transitive description: @@ -202,10 +194,10 @@ packages: dependency: transitive description: name: charcode - sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306 + sha256: fb0f1107cac15a5ea6ef0a6ef71a807b9e4267c713bb93e00e92d737cc8dbd8a url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.4.0" checked_yaml: dependency: transitive description: @@ -250,10 +242,10 @@ packages: dependency: "direct main" description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" convert: dependency: transitive description: @@ -314,10 +306,10 @@ packages: dependency: "direct dev" description: name: drift_dev - sha256: "488263d85d027333fc602eb7714125de317e8c7db064aa6c2f208a8f79139e7b" + sha256: f4ab5d6976b1e31551ceb82ff597a505bda7818ff4f7be08a1da9d55eb6e730c url: "https://pub.dev" source: hosted - version: "2.22.0" + version: "2.22.1" equatable: dependency: "direct main" description: @@ -354,10 +346,10 @@ packages: dependency: transitive description: name: file_selector_linux - sha256: "712ce7fab537ba532c8febdb1a8f167b32441e74acd68c3ccb2e36dcb52c4ab2" + sha256: "54cbbd957e1156d29548c7d9b9ec0c0ebb6de0a90452198683a7d23aed617a33" url: "https://pub.dev" source: hosted - version: "0.9.3" + version: "0.9.3+2" file_selector_macos: dependency: transitive description: @@ -664,10 +656,10 @@ packages: dependency: transitive description: name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + sha256: "76d306a1c3afb33fe82e2bbacad62a61f409b5634c915fceb0d799de1a913360" url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.1.1" image: dependency: transitive description: @@ -688,10 +680,10 @@ packages: dependency: transitive description: name: image_picker_android - sha256: "8faba09ba361d4b246dc0a17cb4289b3324c2b9f6db7b3d457ee69106a86bd32" + sha256: fa8141602fde3f7e2f81dbf043613eb44dfa325fa0bcf93c0f142c9f7a2c193e url: "https://pub.dev" source: hosted - version: "0.8.12+17" + version: "0.8.12+18" image_picker_for_web: dependency: transitive description: @@ -757,10 +749,10 @@ packages: dependency: transitive description: name: io - sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.5" js: dependency: transitive description: @@ -789,18 +781,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -813,10 +805,10 @@ packages: dependency: transitive description: name: lints - sha256: "3315600f3fb3b135be672bf4a178c55f274bebe368325ae18462c89ac1e3b413" + sha256: "4a16b3f03741e1252fda5de3ce712666d010ba2122f8e912c94f9f7b90e1a4c3" url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "5.1.0" list_counter: dependency: transitive description: @@ -837,10 +829,10 @@ packages: dependency: transitive description: name: macros - sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" + sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656" url: "https://pub.dev" source: hosted - version: "0.1.2-main.4" + version: "0.1.3-main.0" markdown: dependency: transitive description: @@ -925,10 +917,10 @@ packages: dependency: transitive description: name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + sha256: "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" package_info_plus: dependency: "direct main" description: @@ -957,10 +949,10 @@ packages: dependency: transitive description: name: path_parsing - sha256: "45f7d6bba1128761de5540f39d5ca000ea8a1f22f06b76b61094a60a2997bd0e" + sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca" url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.1.0" path_provider: dependency: "direct main" description: @@ -973,18 +965,18 @@ packages: dependency: transitive description: name: path_provider_android - sha256: c464428172cb986b758c6d1724c603097febb8fb855aa265aeecc9280c294d4a + sha256: "4adf4fd5423ec60a29506c76581bc05854c55e3a0b72d35bb28d661c9686edf2" url: "https://pub.dev" source: hosted - version: "2.2.12" + version: "2.2.15" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 + sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.4.1" path_provider_linux: dependency: transitive description: @@ -1093,10 +1085,10 @@ packages: dependency: transitive description: name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + sha256: "7b3cfbf654f3edd0c6298ecd5be782ce997ddf0e00531b9464b55245185bbbbd" url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.5" pubspec_parse: dependency: transitive description: @@ -1125,18 +1117,18 @@ packages: dependency: "direct main" description: name: rive - sha256: b32e1b2d57be094ba3aa353cb97f24beeebdc2fd71cff8ed351eaf4e555c3e24 + sha256: "2551a44fa766a7ed3f52aa2b94feda6d18d00edc25dee5f66e72e9b365bb6d6c" url: "https://pub.dev" source: hosted - version: "0.13.19" + version: "0.13.20" rive_common: dependency: transitive description: name: rive_common - sha256: "07b0d1f5bd139dd01d95cadf51fcd52b9dad9661a3b3fef734ff1ecb42dfbaaf" + sha256: "2ba42f80d37a4efd0696fb715787c4785f8a13361e8aea9227c50f1e78cf763a" url: "https://pub.dev" source: hosted - version: "0.4.14" + version: "0.4.15" shared_preferences: dependency: "direct main" description: @@ -1149,10 +1141,10 @@ packages: dependency: transitive description: name: shared_preferences_android - sha256: "3b9febd815c9ca29c9e3520d50ec32f49157711e143b7a4ca039eb87e8ade5ab" + sha256: "7f172d1b06de5da47b6264c2692ee2ead20bbbc246690427cdb4fc301cd0c549" url: "https://pub.dev" source: hosted - version: "2.3.3" + version: "2.3.4" shared_preferences_foundation: dependency: transitive description: @@ -1197,18 +1189,18 @@ packages: dependency: transitive description: name: shelf - sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 + sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 url: "https://pub.dev" source: hosted - version: "1.4.1" + version: "1.4.2" shelf_web_socket: dependency: transitive description: name: shelf_web_socket - sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" + sha256: cc36c297b52866d203dbf9332263c94becc2fe0ceaa9681d07b6ef9807023b67 url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "2.0.1" simple_gesture_detector: dependency: transitive description: @@ -1221,7 +1213,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_gen: dependency: transitive description: @@ -1250,10 +1242,10 @@ packages: dependency: transitive description: name: sqlite3 - sha256: bb174b3ec2527f9c5f680f73a89af8149dd99782fbb56ea88ad0807c5638f2ed + sha256: cb7f4e9dc1b52b1fa350f7b3d41c662e75fc3d399555fa4e5efcf267e9a4fbb5 url: "https://pub.dev" source: hosted - version: "2.4.7" + version: "2.5.0" sqlite3_flutter_libs: dependency: "direct main" description: @@ -1274,10 +1266,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" stream_channel: dependency: transitive description: @@ -1298,10 +1290,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" sync_http: dependency: transitive description: @@ -1330,18 +1322,18 @@ packages: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.3" timing: dependency: transitive description: name: timing - sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" + sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe" url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.0.2" typed_data: dependency: transitive description: @@ -1362,34 +1354,34 @@ packages: dependency: transitive description: name: url_launcher_android - sha256: "0dea215895a4d254401730ca0ba8204b29109a34a99fb06ae559a2b60988d2de" + sha256: "6fc2f56536ee873eeb867ad176ae15f304ccccc357848b351f6f0d8d4a40d193" url: "https://pub.dev" source: hosted - version: "6.3.13" + version: "6.3.14" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: e43b677296fadce447e987a2f519dcf5f6d1e527dc35d01ffab4fff5b8a7063e + sha256: "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626" url: "https://pub.dev" source: hosted - version: "6.3.1" + version: "6.3.2" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - sha256: e2b9622b4007f97f504cd64c0128309dfb978ae66adbe944125ed9e1750f06af + sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935" url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "3.2.1" url_launcher_macos: dependency: transitive description: name: url_launcher_macos - sha256: "769549c999acdb42b8bcfa7c43d72bf79a382ca7441ab18a808e101149daf672" + sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2" url: "https://pub.dev" source: hosted - version: "3.2.1" + version: "3.2.2" url_launcher_platform_interface: dependency: transitive description: @@ -1418,26 +1410,26 @@ packages: dependency: transitive description: name: vector_graphics - sha256: "773c9522d66d523e1c7b25dfb95cc91c26a1e17b107039cfe147285e92de7878" + sha256: "27d5fefe86fb9aace4a9f8375b56b3c292b64d8c04510df230f849850d912cb7" url: "https://pub.dev" source: hosted - version: "1.1.14" + version: "1.1.15" vector_graphics_codec: dependency: transitive description: name: vector_graphics_codec - sha256: c86987475f162fadff579e7320c7ddda04cd2fdeffbe1129227a85d9ac9e03da + sha256: "2430b973a4ca3c4dbc9999b62b8c719a160100dcbae5c819bae0cacce32c9cdb" url: "https://pub.dev" source: hosted - version: "1.1.11+1" + version: "1.1.12" vector_graphics_compiler: dependency: transitive description: name: vector_graphics_compiler - sha256: ab9ff38fc771e9ee1139320adbe3d18a60327370c218c60752068ebee4b49ab1 + sha256: "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad" url: "https://pub.dev" source: hosted - version: "1.1.15" + version: "1.1.16" vector_math: dependency: transitive description: @@ -1482,10 +1474,10 @@ packages: dependency: transitive description: name: video_player_avfoundation - sha256: cd5ab8a8bc0eab65ab0cea40304097edc46da574c8c1ecdee96f28cd8ef3792f + sha256: "33224c19775fd244be2d6e3dbd8e1826ab162877bd61123bf71890772119a2b7" url: "https://pub.dev" source: hosted - version: "2.6.2" + version: "2.6.5" video_player_platform_interface: dependency: transitive description: @@ -1506,10 +1498,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.3.0" watcher: dependency: transitive description: @@ -1546,18 +1538,18 @@ packages: dependency: transitive description: name: webdriver - sha256: "003d7da9519e1e5f329422b36c4dcdf18d7d2978d1ba099ea4e45ba490ed845e" + sha256: "3d773670966f02a646319410766d3b5e1037efb7f07cc68f844d5e06cd4d61c8" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.4" win32: dependency: transitive description: name: win32 - sha256: "10169d3934549017f0ae278ccb07f828f9d6ea21573bab0fb77b0e1ef0fce454" + sha256: "8b338d4486ab3fbc0ba0db9f9b4f5239b6697fcee427939a40e720cbb9ee0a69" url: "https://pub.dev" source: hosted - version: "5.7.2" + version: "5.9.0" xdg_directories: dependency: transitive description: @@ -1583,5 +1575,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.5.0 <4.0.0" + dart: ">=3.6.0-0 <4.0.0" flutter: ">=3.24.0" diff --git a/pubspec.yaml b/pubspec.yaml index 43670867..5550db4d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -32,7 +32,6 @@ dependencies: flutter_localizations: sdk: flutter - android_metadata: ^0.2.1 collection: ^1.17.0 cupertino_icons: ^1.0.8 equatable: ^2.0.7 @@ -47,7 +46,7 @@ dependencies: version: ^3.0.2 package_info_plus: ^8.1.1 provider: ^6.1.2 - rive: ^0.13.19 + rive: ^0.13.20 shared_preferences: ^2.3.3 table_calendar: ^3.0.8 url_launcher: ^6.3.1 From f407f2935b0de8e343d6219fd9d6dd8e8e9700ee Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Thu, 12 Dec 2024 19:34:44 +0100 Subject: [PATCH 30/37] Sort dependencies alphabetically --- pubspec.lock | 28 ++++++++++++++++++---------- pubspec.yaml | 48 ++++++++++++++++++++++++------------------------ 2 files changed, 42 insertions(+), 34 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index b1f30e48..5b2f27fa 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -34,10 +34,10 @@ packages: dependency: transitive description: name: archive - sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d + sha256: "08064924cbf0ab88280a0c3f60db9dd24fec693927e725ecb176f16c629d1cb8" url: "https://pub.dev" source: hosted - version: "3.6.1" + version: "4.0.1" args: dependency: transitive description: @@ -664,10 +664,10 @@ packages: dependency: transitive description: name: image - sha256: f31d52537dc417fdcde36088fdf11d191026fd5e4fae742491ebd40e5a8bea7d + sha256: "599d08e369969bdf83138f5b4e0a7e823d3f992f23b8a64dd626877c37013533" url: "https://pub.dev" source: hosted - version: "4.3.0" + version: "4.4.0" image_picker: dependency: "direct main" description: @@ -925,18 +925,18 @@ packages: dependency: "direct main" description: name: package_info_plus - sha256: da8d9ac8c4b1df253d1a328b7bf01ae77ef132833479ab40763334db13b91cce + sha256: "70c421fe9d9cc1a9a7f3b05ae56befd469fe4f8daa3b484823141a55442d858d" url: "https://pub.dev" source: hosted - version: "8.1.1" + version: "8.1.2" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface - sha256: ac1f4a4847f1ade8e6a87d1f39f5d7c67490738642e2542f559ec38c37489a66 + sha256: a5ef9986efc7bf772f2696183a3992615baa76c1ffb1189318dd8803778fb05b url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" path: dependency: "direct main" description: @@ -1065,6 +1065,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.5.1" + posix: + dependency: transitive + description: + name: posix + sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a + url: "https://pub.dev" + source: hosted + version: "6.0.1" process: dependency: transitive description: @@ -1306,10 +1314,10 @@ packages: dependency: "direct main" description: name: table_calendar - sha256: "4ca32b2fc919452c9974abd4c6ea611a63e33b9e4f0b8c38dba3ac1f4a6549d1" + sha256: b2896b7c86adf3a4d9c911d860120fe3dbe03c85db43b22fd61f14ee78cdbb63 url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "3.1.3" term_glyph: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 5550db4d..73af63dc 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -32,42 +32,42 @@ dependencies: flutter_localizations: sdk: flutter - collection: ^1.17.0 + carousel_slider: ^5.0.0 + clock: ^1.1.1 + collection: ^1.19.0 cupertino_icons: ^1.0.8 + drift: ^2.16.0 equatable: ^2.0.7 + fl_chart: ^0.69.2 + flex_color_scheme: ^8.0.2 + flex_seed_scheme: ^3.4.1 + flutter_barcode_scanner: ^2.0.0 flutter_calendar_carousel: ^2.4.4 flutter_html: ^3.0.0-beta.2 + flutter_staggered_grid_view: ^0.7.0 + flutter_svg: ^2.0.16 + flutter_svg_icons: ^0.0.1 flutter_typeahead: ^5.2.0 + flutter_zxing: ^1.8.2 font_awesome_flutter: ^10.8.0 + freezed_annotation: ^2.4.4 + get_it: ^8.0.2 http: ^1.2.2 image_picker: ^1.1.0 intl: ^0.19.0 json_annotation: ^4.8.1 - version: ^3.0.2 + multi_select_flutter: ^4.1.3 package_info_plus: ^8.1.1 + path: ^1.9.0 + path_provider: ^2.1.5 provider: ^6.1.2 rive: ^0.13.20 shared_preferences: ^2.3.3 + sqlite3_flutter_libs: ^0.5.27 table_calendar: ^3.0.8 url_launcher: ^6.3.1 - flutter_barcode_scanner: ^2.0.0 + version: ^3.0.2 video_player: ^2.9.2 - flutter_staggered_grid_view: ^0.7.0 - carousel_slider: ^5.0.0 - multi_select_flutter: ^4.1.3 - flutter_svg: ^2.0.16 - fl_chart: ^0.69.2 - flutter_zxing: ^1.8.2 - drift: ^2.16.0 - path: ^1.8.3 - path_provider: ^2.1.5 - sqlite3_flutter_libs: ^0.5.27 - get_it: ^8.0.2 - flex_seed_scheme: ^3.4.1 - flex_color_scheme: ^8.0.2 - freezed_annotation: ^2.4.4 - clock: ^1.1.1 - flutter_svg_icons: ^0.0.1 dependency_overrides: intl: ^0.19.0 @@ -78,14 +78,14 @@ dev_dependencies: integration_test: sdk: flutter build_runner: ^2.4.13 + cider: ^0.2.7 + drift_dev: ^2.22.0 + flutter_lints: ^5.0.0 + freezed: ^2.5.7 + golden_toolkit: ^0.15.0 json_serializable: ^6.9.0 mockito: ^5.4.4 network_image_mock: ^2.1.1 - flutter_lints: ^5.0.0 - cider: ^0.2.7 - drift_dev: ^2.22.0 - freezed: ^2.5.7 - golden_toolkit: ^0.15.0 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec From 0d43333aa498119743cec6be42dce1b711bef2e1 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Thu, 12 Dec 2024 20:11:03 +0100 Subject: [PATCH 31/37] Update widgets when the provider changes --- lib/screens/weight_screen.dart | 5 +++-- lib/widgets/measurements/charts.dart | 14 ++++++++------ lib/widgets/weight/weight_overview.dart | 16 ++++++++-------- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/lib/screens/weight_screen.dart b/lib/screens/weight_screen.dart index 5af357be..ff87fc6d 100644 --- a/lib/screens/weight_screen.dart +++ b/lib/screens/weight_screen.dart @@ -27,6 +27,7 @@ import 'package:wger/widgets/weight/weight_overview.dart'; class WeightScreen extends StatelessWidget { const WeightScreen(); + static const routeName = '/weight'; @override @@ -37,7 +38,7 @@ class WeightScreen extends StatelessWidget { appBar: EmptyAppBar(AppLocalizations.of(context).weight), floatingActionButton: FloatingActionButton( child: const Icon(Icons.add, color: Colors.white), - onPressed: () async { + onPressed: () { Navigator.pushNamed( context, FormScreen.routeName, @@ -50,7 +51,7 @@ class WeightScreen extends StatelessWidget { ), body: SingleChildScrollView( child: Consumer( - builder: (context, workoutProvider, child) => const WeightOverview(), + builder: (context, provider, child) => WeightOverview(provider), ), ), ); diff --git a/lib/widgets/measurements/charts.dart b/lib/widgets/measurements/charts.dart index 49b3a524..8e456127 100644 --- a/lib/widgets/measurements/charts.dart +++ b/lib/widgets/measurements/charts.dart @@ -26,20 +26,22 @@ class MeasurementOverallChangeWidget extends StatelessWidget { final MeasurementChartEntry _first; final MeasurementChartEntry _last; final String _unit; + const MeasurementOverallChangeWidget(this._first, this._last, this._unit); @override Widget build(BuildContext context) { final delta = _last.value - _first.value; - final prefix = delta > 0 - ? '+' - : delta < 0 - ? '-' - : ''; + String prefix = ''; + if (delta > 0) { + prefix = '+'; + } else if (delta < 0) { + prefix = '-'; + } // ignore: prefer_interpolation_to_compose_strings return Text(AppLocalizations.of(context).overallChangeWeight + - '$prefix ${delta.abs().toStringAsFixed(1)} $_unit'); + ' $prefix${delta.abs().toStringAsFixed(1)} $_unit'); } } diff --git a/lib/widgets/weight/weight_overview.dart b/lib/widgets/weight/weight_overview.dart index c094d1b9..93fedfd2 100644 --- a/lib/widgets/weight/weight_overview.dart +++ b/lib/widgets/weight/weight_overview.dart @@ -30,16 +30,16 @@ import 'package:wger/widgets/measurements/helpers.dart'; import 'package:wger/widgets/weight/forms.dart'; class WeightOverview extends StatelessWidget { - const WeightOverview(); + final BodyWeightProvider _provider; + + const WeightOverview(this._provider); @override Widget build(BuildContext context) { final profile = context.read().profile; - final weightProvider = Provider.of(context, listen: false); final plan = Provider.of(context, listen: false).currentPlan; - final entriesAll = - weightProvider.items.map((e) => MeasurementChartEntry(e.weight, e.date)).toList(); + final entriesAll = _provider.items.map((e) => MeasurementChartEntry(e.weight, e.date)).toList(); final entries7dAvg = moving7dAverage(entriesAll); final unit = weightUnit(profile!.isMetric, context); @@ -70,12 +70,12 @@ class WeightOverview extends StatelessWidget { SizedBox( height: 300, child: RefreshIndicator( - onRefresh: () => weightProvider.fetchAndSetEntries(), + onRefresh: () => _provider.fetchAndSetEntries(), child: ListView.builder( padding: const EdgeInsets.all(10.0), - itemCount: weightProvider.items.length, + itemCount: _provider.items.length, itemBuilder: (context, index) { - final currentEntry = weightProvider.items[index]; + final currentEntry = _provider.items[index]; return Card( child: ListTile( title: Text('${currentEntry.weight} ${weightUnit(profile.isMetric, context)}'), @@ -102,7 +102,7 @@ class WeightOverview extends StatelessWidget { child: Text(AppLocalizations.of(context).delete), onTap: () async { // Delete entry from DB - await weightProvider.deleteEntry(currentEntry.id!); + await _provider.deleteEntry(currentEntry.id!); // and inform the user if (context.mounted) { From a44c7588433307086ca0b29a6b12bb533d960b20 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Thu, 12 Dec 2024 21:05:01 +0100 Subject: [PATCH 32/37] Downgrade collection --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 73af63dc..71af277b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,7 +34,7 @@ dependencies: carousel_slider: ^5.0.0 clock: ^1.1.1 - collection: ^1.19.0 + collection: ^1.18.0 cupertino_icons: ^1.0.8 drift: ^2.16.0 equatable: ^2.0.7 From 6e8a3a712280f63f22c47ca9b4894bf8bf2ecbc3 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Thu, 12 Dec 2024 21:08:46 +0100 Subject: [PATCH 33/37] Bump flutter version --- .github/workflows/build-release.yml | 2 +- .github/workflows/ci.yml | 2 +- README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 41683212..16262558 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -26,7 +26,7 @@ jobs: uses: subosito/flutter-action@v2 with: channel: stable - flutter-version: 3.24.x + flutter-version: 3.27.x - name: Flutter info run: | diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b8cac3b0..53661b0f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,7 +20,7 @@ jobs: with: cache: true channel: 'stable' - flutter-version: '3.24.x' + flutter-version: '3.27.x' - run: dart --version - run: flutter --version diff --git a/README.md b/README.md index 46a331b6..b739d366 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ Alternatively, you can use the test server (the db is reset every day): Install Flutter and all its dependencies, and create a new virtual device: . -The app currently uses flutter 3.24 +The app currently uses flutter 3.27 ### 3 From 764f0c2739ff8337d7665adb81e02f87c7abf159 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Fri, 13 Dec 2024 12:49:14 +0100 Subject: [PATCH 34/37] Render only up to one decimal place Fixes #695 --- lib/widgets/measurements/charts.dart | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/lib/widgets/measurements/charts.dart b/lib/widgets/measurements/charts.dart index 8e456127..f92a959d 100644 --- a/lib/widgets/measurements/charts.dart +++ b/lib/widgets/measurements/charts.dart @@ -84,10 +84,7 @@ class _MeasurementChartWidgetFlState extends State { return LineTooltipItem( '$dateStr: ${touchedSpot.y.toStringAsFixed(1)} ${widget._unit}', - TextStyle( - color: touchedSpot.bar.color, - fontWeight: FontWeight.bold, - ), + TextStyle(color: touchedSpot.bar.color), ); }).toList(); }, @@ -160,7 +157,7 @@ class _MeasurementChartWidgetFlState extends State { return const Text(''); } - return Text('$value ${widget._unit}'); + return Text('${value.toStringAsFixed(1)} ${widget._unit}'); }, ), ), @@ -208,7 +205,7 @@ class MeasurementChartEntry { MeasurementChartEntry(this.value, this.date); } -// for each point, return the average of all the points in the 7 days preceeding it +// for each point, return the average of all the points in the 7 days preceding it List moving7dAverage(List vals) { var start = 0; var end = 0; From 8377e7a3ba614ce205eb2239f932fec9cfcdb42b Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Tue, 17 Dec 2024 11:44:46 +0100 Subject: [PATCH 35/37] Install libsqlite3-dev This is probably needed for the CI to run correctly --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 53661b0f..6d1e715b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,6 +25,9 @@ jobs: - run: dart --version - run: flutter --version + - name: Install sqlite3-dev + run: apt install libsqlite3-dev + - name: Install app dependencies run: flutter pub get From 2d6a2db73f7c2f09b82c5768fc187d9af0dc2a0b Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Tue, 17 Dec 2024 11:49:23 +0100 Subject: [PATCH 36/37] Get appropriate rights before installing the package... --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6d1e715b..76f1074e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,7 +26,7 @@ jobs: - run: flutter --version - name: Install sqlite3-dev - run: apt install libsqlite3-dev + run: sudo apt install libsqlite3-dev - name: Install app dependencies run: flutter pub get From 7afe947566590b68bd5379b59bd2091fc70494b2 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Tue, 17 Dec 2024 11:52:41 +0100 Subject: [PATCH 37/37] Replace deprecated withOpacity with withValues --- lib/widgets/add_exercise/preview_images.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/widgets/add_exercise/preview_images.dart b/lib/widgets/add_exercise/preview_images.dart index 894fe321..32cd2d23 100644 --- a/lib/widgets/add_exercise/preview_images.dart +++ b/lib/widgets/add_exercise/preview_images.dart @@ -2,8 +2,8 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; - import 'package:wger/providers/add_exercise.dart'; + import 'mixins/image_picker_mixin.dart'; class PreviewExerciseImages extends StatelessWidget with ExerciseImagePickerMixin { @@ -30,7 +30,7 @@ class PreviewExerciseImages extends StatelessWidget with ExerciseImagePickerMixi padding: const EdgeInsets.all(3.0), child: Container( decoration: BoxDecoration( - color: Colors.grey.withOpacity(0.5), + color: Colors.grey.withValues(alpha: 0.5), borderRadius: const BorderRadius.all(Radius.circular(20)), ), child: IconButton(