From ced268660b4167b7364c469bb52a708a9b7cd666 Mon Sep 17 00:00:00 2001 From: sangharshdeveloper Date: Sun, 12 Jan 2025 20:48:31 +0530 Subject: [PATCH 01/21] #687 enhancement theme-customization --- lib/main.dart | 3 ++- lib/providers/auth.dart | 29 +++++++++++++++++++++++++++++ lib/providers/user.dart | 1 + lib/widgets/core/settings.dart | 17 +++++++++++++++++ pubspec.lock | 2 +- 5 files changed, 50 insertions(+), 2 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index ac4abfe1..4a03a517 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -71,6 +71,7 @@ class MyApp extends StatelessWidget { const MyApp(); // This widget is the root of your application. @override Widget build(BuildContext context) { + return MultiProvider( providers: [ ChangeNotifierProvider(create: (ctx) => AuthProvider()), @@ -140,7 +141,7 @@ class MyApp extends StatelessWidget { darkTheme: wgerDarkTheme, highContrastTheme: wgerLightThemeHc, highContrastDarkTheme: wgerDarkThemeHc, - themeMode: ThemeMode.system, + themeMode: auth.themeMode, // Change theme based on provider's themeMode home: auth.isAuth ? const HomeTabsScreen() : FutureBuilder( diff --git a/lib/providers/auth.dart b/lib/providers/auth.dart index 1bfbdca1..a58b06d2 100644 --- a/lib/providers/auth.dart +++ b/lib/providers/auth.dart @@ -22,6 +22,7 @@ import 'dart:developer'; import 'dart:io'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; import 'package:http/http.dart' as http; import 'package:package_info_plus/package_info_plus.dart'; @@ -53,8 +54,15 @@ class AuthProvider with ChangeNotifier { AuthProvider([http.Client? client, bool? checkMetadata]) { this.client = client ?? http.Client(); + _loadThemeMode(); } + bool _isSwitched = false; + ThemeMode _themeMode = ThemeMode.light; + + bool get isSwitched => _isSwitched; + ThemeMode get themeMode => _themeMode; + /// flag to indicate that the application has successfully loaded all initial data bool dataInit = false; @@ -62,6 +70,27 @@ class AuthProvider with ChangeNotifier { return token != null; } + // Load theme mode from SharedPreferences + Future _loadThemeMode() async { + final prefs = await SharedPreferences.getInstance(); + final isDarkMode = prefs.getBool('isDarkMode') ?? false; // Default to false (light mode) + _themeMode = isDarkMode ? ThemeMode.dark : ThemeMode.light; + _isSwitched = isDarkMode; + notifyListeners(); // Notify listeners when theme is loaded + } + + // Change mode on switch button click + void toggleSwitch(bool value) async { + _isSwitched = value; + _themeMode = value ? ThemeMode.dark : ThemeMode.light; + + // Save to SharedPreferences + final prefs = await SharedPreferences.getInstance(); + await prefs.setBool('isDarkMode', _isSwitched); + + notifyListeners(); // Notify listeners when the theme is updated + } + /// Server application version Future setServerVersion() async { final response = await client.get(makeUri(serverUrl!, SERVER_VERSION_URL)); diff --git a/lib/providers/user.dart b/lib/providers/user.dart index cb547c49..7e1e8870 100644 --- a/lib/providers/user.dart +++ b/lib/providers/user.dart @@ -29,6 +29,7 @@ class UserProvider with ChangeNotifier { static const PROFILE_URL = 'userprofile'; static const VERIFY_EMAIL = 'verify-email'; + Profile? profile; /// Clear the current profile diff --git a/lib/widgets/core/settings.dart b/lib/widgets/core/settings.dart index 78c8dfa9..941a199d 100644 --- a/lib/widgets/core/settings.dart +++ b/lib/widgets/core/settings.dart @@ -20,8 +20,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:provider/provider.dart'; +import 'package:wger/providers/auth.dart'; import 'package:wger/providers/exercises.dart'; import 'package:wger/providers/nutrition.dart'; +import 'package:wger/providers/user.dart'; +import 'package:wger/theme/theme.dart'; + class SettingsPage extends StatelessWidget { static String routeName = '/SettingsPage'; @@ -32,6 +36,7 @@ class SettingsPage extends StatelessWidget { Widget build(BuildContext context) { final exerciseProvider = Provider.of(context, listen: false); final nutritionProvider = Provider.of(context, listen: false); + final switchProvider = Provider.of(context); return Scaffold( appBar: AppBar( @@ -75,6 +80,18 @@ class SettingsPage extends StatelessWidget { }, ), ), + ListTile( + title: Text('Dark Mode'), + trailing: Switch( + value: switchProvider.isSwitched, // Use the state from the provider + onChanged: (value) { + switchProvider.toggleSwitch(value); // Update the state when the switch is toggled + }, + activeColor: wgerPrimaryButtonColor, // Custom color when switch is on + inactiveThumbColor: wgerSecondaryColorLight, // Custom color when switch is off + inactiveTrackColor: wgerSecondaryColor, // Color of the track when the switch is off + ), + ), ], ), ); diff --git a/pubspec.lock b/pubspec.lock index e65a68f9..d21ed048 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1583,5 +1583,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.6.0-0 <4.0.0" + dart: ">=3.6.0 <4.0.0" flutter: ">=3.24.0" From 06ca72e0f864449f8105675f68cd3661b70a2348 Mon Sep 17 00:00:00 2001 From: sangharshdeveloper Date: Fri, 17 Jan 2025 22:19:54 +0530 Subject: [PATCH 02/21] #687 enhancement theme-customization --- AUTHORS.md | 1 + lib/l10n/app_en.arb | 1 + lib/main.dart | 2 +- lib/providers/auth.dart | 10 +++++----- lib/widgets/core/settings.dart | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/AUTHORS.md b/AUTHORS.md index e8e7ac60..d886c6d7 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -32,6 +32,7 @@ - sizzlesloth - - Arya Singh - - Xianglin Zeng - +- Sangharsh Sulke - ## Translators diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 33108f7d..1326f029 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -913,4 +913,5 @@ "@indicatorAvg": { "description": "added for localization of Class Indicator's field text" } + "dark_mode":"Dark Mode", } diff --git a/lib/main.dart b/lib/main.dart index 4a03a517..8c5b3428 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -141,7 +141,7 @@ class MyApp extends StatelessWidget { darkTheme: wgerDarkTheme, highContrastTheme: wgerLightThemeHc, highContrastDarkTheme: wgerDarkThemeHc, - themeMode: auth.themeMode, // Change theme based on provider's themeMode + themeMode: ThemeMode.system, home: auth.isAuth ? const HomeTabsScreen() : FutureBuilder( diff --git a/lib/providers/auth.dart b/lib/providers/auth.dart index a58b06d2..56a40317 100644 --- a/lib/providers/auth.dart +++ b/lib/providers/auth.dart @@ -57,10 +57,10 @@ class AuthProvider with ChangeNotifier { _loadThemeMode(); } - bool _isSwitched = false; + bool _isLightTheme = false; ThemeMode _themeMode = ThemeMode.light; - bool get isSwitched => _isSwitched; + bool get isSwitched => _isLightTheme; ThemeMode get themeMode => _themeMode; /// flag to indicate that the application has successfully loaded all initial data @@ -75,18 +75,18 @@ class AuthProvider with ChangeNotifier { final prefs = await SharedPreferences.getInstance(); final isDarkMode = prefs.getBool('isDarkMode') ?? false; // Default to false (light mode) _themeMode = isDarkMode ? ThemeMode.dark : ThemeMode.light; - _isSwitched = isDarkMode; + _isLightTheme = isDarkMode; notifyListeners(); // Notify listeners when theme is loaded } // Change mode on switch button click void toggleSwitch(bool value) async { - _isSwitched = value; + _isLightTheme = value; _themeMode = value ? ThemeMode.dark : ThemeMode.light; // Save to SharedPreferences final prefs = await SharedPreferences.getInstance(); - await prefs.setBool('isDarkMode', _isSwitched); + await prefs.setBool('isDarkMode', _isLightTheme); notifyListeners(); // Notify listeners when the theme is updated } diff --git a/lib/widgets/core/settings.dart b/lib/widgets/core/settings.dart index 941a199d..16eece4f 100644 --- a/lib/widgets/core/settings.dart +++ b/lib/widgets/core/settings.dart @@ -81,7 +81,7 @@ class SettingsPage extends StatelessWidget { ), ), ListTile( - title: Text('Dark Mode'), + title: Text(AppLocalizations.of(context).darkMode), trailing: Switch( value: switchProvider.isSwitched, // Use the state from the provider onChanged: (value) { From 8dc72b9fc4f8754b273ed421fd5a94c2116ead27 Mon Sep 17 00:00:00 2001 From: sangharshdeveloper Date: Fri, 17 Jan 2025 22:55:05 +0530 Subject: [PATCH 03/21] solved json fomatting error from app_en.arb --- lib/l10n/app_en.arb | 5 ++++- lib/main.dart | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 1326f029..c8ad0685 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -912,6 +912,9 @@ "indicatorAvg": "avg", "@indicatorAvg": { "description": "added for localization of Class Indicator's field text" + }, + "darkMode": "Dark Mode", + "@darkMode": { + "description": "added for localization for field text" } - "dark_mode":"Dark Mode", } diff --git a/lib/main.dart b/lib/main.dart index 8c5b3428..4334df32 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -71,7 +71,6 @@ class MyApp extends StatelessWidget { const MyApp(); // This widget is the root of your application. @override Widget build(BuildContext context) { - return MultiProvider( providers: [ ChangeNotifierProvider(create: (ctx) => AuthProvider()), @@ -141,7 +140,7 @@ class MyApp extends StatelessWidget { darkTheme: wgerDarkTheme, highContrastTheme: wgerLightThemeHc, highContrastDarkTheme: wgerDarkThemeHc, - themeMode: ThemeMode.system, + themeMode: auth.themeMode, ///ThemeMode.system, home: auth.isAuth ? const HomeTabsScreen() : FutureBuilder( From f77fbcaf3ecd754668ccbbef8fc14893722a8fae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 18 Jan 2025 11:00:39 +0000 Subject: [PATCH 04/21] Bump flex_color_scheme from 8.0.2 to 8.1.0 Bumps [flex_color_scheme](https://github.com/rydmike/flex_color_scheme) from 8.0.2 to 8.1.0. - [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.2...8.1.0) --- updated-dependencies: - dependency-name: flex_color_scheme 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 00a70bc0..a47da1c6 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -386,10 +386,10 @@ packages: dependency: "direct main" description: name: flex_color_scheme - sha256: "90f4fe67b9561ae8a4af117df65a8ce9988624025667c54e6d304e65cff77d52" + sha256: "09bea5d776f694c5a67f2229f2aa500cc7cce369322dc6500ab01cf9ad1b4e1a" url: "https://pub.dev" source: hosted - version: "8.0.2" + version: "8.1.0" flex_seed_scheme: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 9e6d1de7..7427ab39 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -39,7 +39,7 @@ dependencies: drift: ^2.16.0 equatable: ^2.0.7 fl_chart: ^0.69.2 - flex_color_scheme: ^8.0.2 + flex_color_scheme: ^8.1.0 flex_seed_scheme: ^3.5.0 flutter_barcode_scanner: ^2.0.0 flutter_calendar_carousel: ^2.4.4 From eac239739678466a9931595f2ce683177979a952 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Wed, 22 Jan 2025 19:29:17 +0100 Subject: [PATCH 05/21] Add workaround for #722 --- lib/models/exercises/exercise.dart | 12 +++++++++++- lib/providers/exercises.dart | 14 +++++++++++--- pubspec.lock | 2 +- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/lib/models/exercises/exercise.dart b/lib/models/exercises/exercise.dart index 2929dce9..4f1d95c4 100644 --- a/lib/models/exercises/exercise.dart +++ b/lib/models/exercises/exercise.dart @@ -16,6 +16,8 @@ * along with this program. If not, see . */ +import 'dart:developer'; + import 'package:equatable/equatable.dart'; import 'package:json_annotation/json_annotation.dart'; import 'package:wger/helpers/consts.dart'; @@ -160,7 +162,15 @@ class Exercise extends Equatable { equipment = baseData.equipment; category = baseData.category; translations = baseData.translations.map((e) { - e.language = languages.firstWhere((l) => l.id == e.languageId); + e.language = languages.firstWhere( + (l) => l.id == e.languageId, + + // workaround for https://github.com/wger-project/flutter/issues/722 + orElse: () { + log('Could not find language for translation ${e.languageId}'); + return Language(id: e.languageId, shortName: 'unknown', fullName: 'unknown'); + }, + ); return e; }).toList(); videos = baseData.videos; diff --git a/lib/providers/exercises.dart b/lib/providers/exercises.dart index dc13c823..6b63ebb4 100644 --- a/lib/providers/exercises.dart +++ b/lib/providers/exercises.dart @@ -298,9 +298,17 @@ class ExercisesProvider with ChangeNotifier { int exerciseId, ) async { Exercise exercise; - final exerciseDb = await (database.select(database.exercises) - ..where((e) => e.id.equals(exerciseId))) - .getSingleOrNull(); + + // TODO: this should be a .getSingleOrNull()!!! However, for some reason there + // can be duplicates in the db. Perhaps a race condition so that two + // entries are written at the same time or something? + final exerciseResult = + await (database.select(database.exercises)..where((e) => e.id.equals(exerciseId))).get(); + + ExerciseTable? exerciseDb; + if (exerciseResult.isNotEmpty) { + exerciseDb = exerciseResult.first; + } // Exercise is already known locally if (exerciseDb != null) { diff --git a/pubspec.lock b/pubspec.lock index a47da1c6..37c8b9ee 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1576,4 +1576,4 @@ packages: version: "3.1.2" sdks: dart: ">=3.6.0 <4.0.0" - flutter: ">=3.24.0" + flutter: ">=3.27.0" From 203d5752b8a1bb3be3188d2b43f4135b8b7e36c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Jan 2025 00:45:34 +0000 Subject: [PATCH 06/21] Bump flutter_svg from 2.0.16 to 2.0.17 Bumps [flutter_svg](https://github.com/flutter/packages/tree/main/third_party/packages) from 2.0.16 to 2.0.17. - [Release notes](https://github.com/flutter/packages/releases) - [Commits](https://github.com/flutter/packages/commits/flutter_svg-v2.0.17/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 37c8b9ee..bbfb78e1 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -513,10 +513,10 @@ packages: dependency: "direct main" description: name: flutter_svg - sha256: "54900a1a1243f3c4a5506d853a2b5c2dbc38d5f27e52a52618a8054401431123" + sha256: c200fd79c918a40c5cd50ea0877fa13f81bdaf6f0a5d3dbcc2a13e3285d6aa1b url: "https://pub.dev" source: hosted - version: "2.0.16" + version: "2.0.17" flutter_svg_icons: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 7427ab39..ba7a7346 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -45,7 +45,7 @@ dependencies: 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: ^2.0.17 flutter_svg_icons: ^0.0.1 flutter_typeahead: ^5.2.0 flutter_zxing: ^1.8.2 From 49af9abf8ef4a13ae74aaeff3fc9cb8a71c6783c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Jan 2025 00:45:23 +0000 Subject: [PATCH 07/21] Bump package_info_plus from 8.1.2 to 8.1.3 Bumps [package_info_plus](https://github.com/fluttercommunity/plus_plugins/tree/main/packages/package_info_plus) from 8.1.2 to 8.1.3. - [Release notes](https://github.com/fluttercommunity/plus_plugins/releases) - [Commits](https://github.com/fluttercommunity/plus_plugins/commits/package_info_plus-v8.1.3/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 bbfb78e1..f81d4c1d 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -917,10 +917,10 @@ packages: dependency: "direct main" description: name: package_info_plus - sha256: "70c421fe9d9cc1a9a7f3b05ae56befd469fe4f8daa3b484823141a55442d858d" + sha256: "739e0a5c3c4055152520fa321d0645ee98e932718b4c8efeeb51451968fe0790" url: "https://pub.dev" source: hosted - version: "8.1.2" + version: "8.1.3" package_info_plus_platform_interface: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index ba7a7346..9dbe3693 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -57,7 +57,7 @@ dependencies: intl: ^0.19.0 json_annotation: ^4.8.1 multi_select_flutter: ^4.1.3 - package_info_plus: ^8.1.1 + package_info_plus: ^8.1.3 path: ^1.9.0 path_provider: ^2.1.5 provider: ^6.1.2 From 31814d4465b7d10b3fb8022fb6087735816e2c2b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Jan 2025 00:45:18 +0000 Subject: [PATCH 08/21] Bump sqlite3_flutter_libs from 0.5.28 to 0.5.29 Bumps [sqlite3_flutter_libs](https://github.com/simolus3/sqlite3.dart) from 0.5.28 to 0.5.29. - [Release notes](https://github.com/simolus3/sqlite3.dart/releases) - [Commits](https://github.com/simolus3/sqlite3.dart/compare/sqlite3_flutter_libs-0.5.28...sqlite3_flutter_libs-0.5.29) --- 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 f81d4c1d..1c594461 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1250,10 +1250,10 @@ packages: dependency: "direct main" description: name: sqlite3_flutter_libs - sha256: "73016db8419f019e807b7a5e5fbf2a7bd45c165fed403b8e7681230f3a102785" + sha256: "50a7e3f294c741d3142eed0ff228e38498334e11e0ccb9d73e0496e005949e44" url: "https://pub.dev" source: hosted - version: "0.5.28" + version: "0.5.29" sqlparser: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 9dbe3693..35326a64 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -63,7 +63,7 @@ dependencies: provider: ^6.1.2 rive: ^0.13.20 shared_preferences: ^2.3.5 - sqlite3_flutter_libs: ^0.5.28 + sqlite3_flutter_libs: ^0.5.29 table_calendar: ^3.0.8 url_launcher: ^6.3.1 version: ^3.0.2 From f4b32dfc8efad7f57ddf56b84b7f1a1e635974b7 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: Fri, 6 Dec 2024 08:52:50 +0000 Subject: [PATCH 09/21] 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(+) diff --git a/fastlane/metadata/android/uk/video.txt b/fastlane/metadata/android/uk/video.txt index e69de29b..db1a5a09 100644 --- a/fastlane/metadata/android/uk/video.txt +++ b/fastlane/metadata/android/uk/video.txt @@ -0,0 +1 @@ +I From 015f786c051cd99b8adcff5b60f9a6216246779c Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Thu, 12 Dec 2024 19:57:41 +0000 Subject: [PATCH 10/21] Translated using Weblate (Ukrainian) Currently translated at 75.0% (3 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 deletion(-) delete mode 100644 fastlane/metadata/android/uk/video.txt diff --git a/fastlane/metadata/android/uk/video.txt b/fastlane/metadata/android/uk/video.txt deleted file mode 100644 index db1a5a09..00000000 --- a/fastlane/metadata/android/uk/video.txt +++ /dev/null @@ -1 +0,0 @@ -I From bb0adde3a3e10cc25d319b3b0150efc82597e905 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: Thu, 12 Dec 2024 20:44:07 +0000 Subject: [PATCH 11/21] 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 609225e19e8df2789c1b18aea2731b1ec2039f1a Mon Sep 17 00:00:00 2001 From: Ricardo Lima Date: Fri, 27 Dec 2024 20:23:52 +0000 Subject: [PATCH 12/21] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (272 of 272 strings) Translation: wger Workout Manager/Mobile App Translate-URL: https://hosted.weblate.org/projects/wger/mobile/pt_BR/ --- lib/l10n/app_pt_BR.arb | 275 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 272 insertions(+), 3 deletions(-) diff --git a/lib/l10n/app_pt_BR.arb b/lib/l10n/app_pt_BR.arb index 578c6868..fc809f30 100644 --- a/lib/l10n/app_pt_BR.arb +++ b/lib/l10n/app_pt_BR.arb @@ -99,7 +99,7 @@ "@comment": { "description": "Comment, additional information" }, - "logIngredient": "Salvar no diário nutricional", + "logIngredient": "Salvar ingrediente no diário nutricional", "@logIngredient": {}, "equipment": "Equipamento", "@equipment": { @@ -225,7 +225,7 @@ "@enterValue": { "description": "Error message when the user hasn't entered a value on a required field" }, - "logMeal": "Registrar esta refeição", + "logMeal": "Registrar refeição para diário de nutrição", "@logMeal": {}, "newEntry": "Nova entrada", "@newEntry": { @@ -685,5 +685,274 @@ "ingredientLogged": "Ingrediente registrado no diário", "@ingredientLogged": {}, "noIngredientsDefined": "Nenhum ingrediente definido ainda", - "@noIngredientsDefined": {} + "@noIngredientsDefined": {}, + "bench": "Banco", + "@bench": { + "description": "Generated entry for translation for server strings" + }, + "goalFiber": "Meta de fibras", + "@goalFiber": {}, + "overallChangeWeight": "Mudança geral", + "@overallChangeWeight": { + "description": "Overall change in weight, added for localization" + }, + "goalTypeMeals": "De refeições", + "@goalTypeMeals": { + "description": "added for localization of Class GoalType's filed meals" + }, + "goalTypeBasic": "Básico", + "@goalTypeBasic": { + "description": "added for localization of Class GoalType's filed basic" + }, + "goalTypeAdvanced": "Avançado", + "@goalTypeAdvanced": { + "description": "added for localization of Class GoalType's filed advanced" + }, + "indicatorRaw": "bruto", + "@indicatorRaw": { + "description": "added for localization of Class Indicator's field text" + }, + "indicatorAvg": "média", + "@indicatorAvg": { + "description": "added for localization of Class Indicator's field text" + }, + "seconds": "Segundos", + "@seconds": { + "description": "Generated entry for translation for server strings" + }, + "textPromptTitle": "Pronto para iniciar?", + "@textPromptTitle": {}, + "textPromptSubheading": "Aperte o botão de ação para começar", + "@textPromptSubheading": {}, + "chest": "Peito", + "@chest": { + "description": "Generated entry for translation for server strings" + }, + "max_reps": "Repetições Máximas", + "@max_reps": { + "description": "Generated entry for translation for server strings" + }, + "pull_up_bar": "Barra de Pull-up", + "@pull_up_bar": { + "description": "Generated entry for translation for server strings" + }, + "quads": "Quadríceps", + "@quads": { + "description": "Generated entry for translation for server strings" + }, + "goalFat": "Meta de gordura", + "@goalFat": {}, + "body_weight": "Peso Corporal", + "@body_weight": { + "description": "Generated entry for translation for server strings" + }, + "kilometers": "Quilômetros", + "@kilometers": { + "description": "Generated entry for translation for server strings" + }, + "kilometers_per_hour": "Quilômetros por hora", + "@kilometers_per_hour": { + "description": "Generated entry for translation for server strings" + }, + "miles_per_hour": "Milhas por hora", + "@miles_per_hour": { + "description": "Generated entry for translation for server strings" + }, + "minutes": "Minutos", + "@minutes": { + "description": "Generated entry for translation for server strings" + }, + "sz_bar": "Barra Curvada", + "@sz_bar": { + "description": "Generated entry for translation for server strings" + }, + "goalProtein": "Meta de proteína", + "@goalProtein": {}, + "goalEnergy": "Meta energética", + "@goalEnergy": {}, + "today": "Hoje", + "@today": {}, + "arms": "Braços", + "@arms": { + "description": "Generated entry for translation for server strings" + }, + "calves": "Panturrilha", + "@calves": { + "description": "Generated entry for translation for server strings" + }, + "triceps": "Tríceps", + "@triceps": { + "description": "Generated entry for translation for server strings" + }, + "goalCarbohydrates": "Meta de carbohidratos", + "@goalCarbohydrates": {}, + "onlyLoggingHelpText": "Marque a caixa se você apenas quiser registrar suas calorias e não quer configurar um plano nutricional detalhado com refeições específicas", + "@onlyLoggingHelpText": {}, + "kcalValue": "{value} kcal", + "@kcalValue": { + "description": "A value in kcal, e.g. 500 kcal", + "type": "text", + "placeholders": { + "value": {} + } + }, + "percentValue": "{value} %", + "@percentValue": { + "description": "A value in percent, e.g. 10 %", + "type": "text", + "placeholders": { + "value": {} + } + }, + "goalMacro": "Macro Objetivos", + "@goalMacro": { + "description": "The goal for macronutrients" + }, + "selectMealToLog": "Selecione uma refeição para registrar no diário", + "@selectMealToLog": {}, + "loggedToday": "Registrado hoje", + "@loggedToday": {}, + "surplus": "excedente", + "@surplus": { + "description": "Caloric surplus (either planned or unplanned)" + }, + "deficit": "déficit", + "@deficit": { + "description": "Caloric deficit (either planned or unplanned)" + }, + "gValue": "{value} g", + "@gValue": { + "description": "A value in grams, e.g. 5 g", + "type": "text", + "placeholders": { + "value": {} + } + }, + "abs": "Abdômen", + "@abs": { + "description": "Generated entry for translation for server strings" + }, + "back": "Costas", + "@back": { + "description": "Generated entry for translation for server strings" + }, + "barbell": "Barra", + "@barbell": { + "description": "Generated entry for translation for server strings" + }, + "cardio": "Cardio", + "@cardio": { + "description": "Generated entry for translation for server strings" + }, + "dumbbell": "Haltere", + "@dumbbell": { + "description": "Generated entry for translation for server strings" + }, + "glutes": "Glúteos", + "@glutes": { + "description": "Generated entry for translation for server strings" + }, + "gym_mat": "Tapete", + "@gym_mat": { + "description": "Generated entry for translation for server strings" + }, + "hamstrings": "Tendões", + "@hamstrings": { + "description": "Generated entry for translation for server strings" + }, + "kettlebell": "Kettlebell", + "@kettlebell": { + "description": "Generated entry for translation for server strings" + }, + "lats": "Dorsal", + "@lats": { + "description": "Generated entry for translation for server strings" + }, + "legs": "Pernas", + "@legs": { + "description": "Generated entry for translation for server strings" + }, + "lower_back": "Lombar", + "@lower_back": { + "description": "Generated entry for translation for server strings" + }, + "plates": "Anilhas", + "@plates": { + "description": "Generated entry for translation for server strings" + }, + "repetitions": "Repetições", + "@repetitions": { + "description": "Generated entry for translation for server strings" + }, + "shoulders": "Ombros", + "@shoulders": { + "description": "Generated entry for translation for server strings" + }, + "until_failure": "Até a falha", + "@until_failure": { + "description": "Generated entry for translation for server strings" + }, + "kg": "kg", + "@kg": { + "description": "Generated entry for translation for server strings" + }, + "none__bodyweight_exercise_": "nenhum (exercício com peso corporal)", + "@none__bodyweight_exercise_": { + "description": "Generated entry for translation for server strings" + }, + "lb": "lb", + "@lb": { + "description": "Generated entry for translation for server strings" + }, + "chartAllTimeTitle": "{name} total", + "@chartAllTimeTitle": { + "description": "All-time chart of 'name' (e.g. 'weight', 'body fat' etc.)", + "type": "text", + "placeholders": { + "name": {} + } + }, + "chart30DaysTitle": "{name} últimos 30 dias", + "@chart30DaysTitle": { + "description": "last 30 days chart of 'name' (e.g. 'weight', 'body fat' etc.)", + "type": "text", + "placeholders": { + "name": {} + } + }, + "chartDuringPlanTitle": "{chartName} durante plano nutricional {planName}", + "@chartDuringPlanTitle": { + "description": "chart of 'chartName' (e.g. 'weight', 'body fat' etc.) logged during plan", + "type": "text", + "placeholders": { + "chartName": {}, + "planName": {} + } + }, + "settingsIngredientCacheDescription": "Cache de Ingredientes", + "@settingsIngredientCacheDescription": {}, + "cacheWarning": "Devido ao cache pode demorar algum tempo até que mudanças estejam visíveis na aplicação.", + "@cacheWarning": {}, + "swiss_ball": "Bola Suíça", + "@swiss_ball": { + "description": "Generated entry for translation for server strings" + }, + "log": "Registro", + "@log": { + "description": "Log a specific meal (imperative form)" + }, + "done": "Feito", + "@done": {}, + "incline_bench": "Banco inclinado", + "@incline_bench": { + "description": "Generated entry for translation for server strings" + }, + "miles": "Milhas", + "@miles": { + "description": "Generated entry for translation for server strings" + }, + "biceps": "Bíceps", + "@biceps": { + "description": "Generated entry for translation for server strings" + } } From f8c427e616c99ad1700845c4898a560e99096ba4 Mon Sep 17 00:00:00 2001 From: Christijan Date: Sat, 18 Jan 2025 11:07:19 +0100 Subject: [PATCH 13/21] Added translation using Weblate (Dutch) --- lib/l10n/app_nl.arb | 1 + 1 file changed, 1 insertion(+) create mode 100644 lib/l10n/app_nl.arb diff --git a/lib/l10n/app_nl.arb b/lib/l10n/app_nl.arb new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/lib/l10n/app_nl.arb @@ -0,0 +1 @@ +{} From e79da5de550738f8194821de9150eb9621097fff Mon Sep 17 00:00:00 2001 From: Edson Wolf Date: Sun, 19 Jan 2025 20:06:29 +0000 Subject: [PATCH 14/21] Translated using Weblate (Portuguese) Currently translated at 96.6% (263 of 272 strings) Translation: wger Workout Manager/Mobile App Translate-URL: https://hosted.weblate.org/projects/wger/mobile/pt/ --- lib/l10n/app_pt.arb | 89 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 87 insertions(+), 2 deletions(-) diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb index 0658c4d2..6c74228c 100644 --- a/lib/l10n/app_pt.arb +++ b/lib/l10n/app_pt.arb @@ -165,7 +165,7 @@ "@planned": { "description": "Header for the column of 'planned' nutritional values, i.e. what should be eaten" }, - "weekAverage": "média dos 7 dias", + "weekAverage": "Média dos 7 dias", "@weekAverage": { "description": "Header for the column of '7 day average' nutritional values, i.e. what was logged last week" }, @@ -783,5 +783,90 @@ "aboutDonateTitle": "Doar", "@aboutDonateTitle": {}, "aboutDonateText": "Nos compre um café para ajudar o projeto, pagar os custos do servidor e nos manter energizados", - "@aboutDonateText": {} + "@aboutDonateText": {}, + "onlyLogging": "Só controlar calorias", + "@onlyLogging": {}, + "goalEnergy": "Meta energética", + "@goalEnergy": {}, + "goalProtein": "Meta proteica", + "@goalProtein": {}, + "goalCarbohydrates": "Meta de carboidratos", + "@goalCarbohydrates": {}, + "goalFat": "Meta de gordura", + "@goalFat": {}, + "today": "Hoje", + "@today": {}, + "kcalValue": "{value} kcal", + "@kcalValue": { + "description": "A value in kcal, e.g. 500 kcal", + "type": "text", + "placeholders": { + "value": {} + } + }, + "gValue": "{value} g", + "@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": {} + } + }, + "noIngredientsDefined": "Sem ingredientes definido ainda", + "@noIngredientsDefined": {}, + "ingredientLogged": "Ingrediente ativo registrado diariamente", + "@ingredientLogged": {}, + "onlyLoggingHelpText": "Marque a caixa se você desejar apenas o seu registo de calorias e não quer a configuração de um detalhado plano nutricional com refeições", + "@onlyLoggingHelpText": {}, + "goalMacro": "Macro objetivos", + "@goalMacro": { + "description": "The goal for macronutrients" + }, + "selectMealToLog": "Selecione uma refeição para entrar no diário", + "@selectMealToLog": {}, + "goalFiber": "Meta de fibra", + "@goalFiber": {}, + "deficit": "Défice", + "@deficit": { + "description": "Caloric deficit (either planned or unplanned)" + }, + "surplus": "Excedente", + "@surplus": { + "description": "Caloric surplus (either planned or unplanned)" + }, + "chart30DaysTitle": "{name} Ultimos 30 dias", + "@chart30DaysTitle": { + "description": "last 30 days chart of 'name' (e.g. 'weight', 'body fat' etc.)", + "type": "text", + "placeholders": { + "name": {} + } + }, + "chartDuringPlanTitle": "{chartName} Durante o plano nutricional {planName}", + "@chartDuringPlanTitle": { + "description": "chart of 'chartName' (e.g. 'weight', 'body fat' etc.) logged during plan", + "type": "text", + "placeholders": { + "chartName": {}, + "planName": {} + } + }, + "loggedToday": "Registrado hoje", + "@loggedToday": {}, + "chartAllTimeTitle": "{name} de todo o tempo", + "@chartAllTimeTitle": { + "description": "All-time chart of 'name' (e.g. 'weight', 'body fat' etc.)", + "type": "text", + "placeholders": { + "name": {} + } + } } From fcd29b749479b4370328e66d1cc6f4a3ef11beef Mon Sep 17 00:00:00 2001 From: Edson Wolf Date: Sun, 19 Jan 2025 19:06:00 +0000 Subject: [PATCH 15/21] Translated using Weblate (Portuguese) Currently translated at 75.0% (3 of 4 strings) Translation: wger Workout Manager/Play Store Translate-URL: https://hosted.weblate.org/projects/wger/play-store/pt/ --- .../metadata/android/pt/full_description.txt | 39 +++++++++++++++++++ .../metadata/android/pt/short_description.txt | 1 + 2 files changed, 40 insertions(+) create mode 100644 fastlane/metadata/android/pt/full_description.txt create mode 100644 fastlane/metadata/android/pt/short_description.txt diff --git a/fastlane/metadata/android/pt/full_description.txt b/fastlane/metadata/android/pt/full_description.txt new file mode 100644 index 00000000..c4f33071 --- /dev/null +++ b/fastlane/metadata/android/pt/full_description.txt @@ -0,0 +1,39 @@ +Feito de amantes do fitness para amantes do fitness – Pata ter a sua saúde organizada com WGER, o Gerente de Treino! + +Você já encontrou o seu #1 aplicação de fitness e ama criar suas próprias rotinas de treinos? Não importa que tipo de esportivo você é – todos nós temos algo em comum: gostamos de manter o controle de nossos dados de saúde <3 + +Portanto, não o julgamos por ainda gerenciar sua jornada de condicionamento físico com seu prático livro de registro de exercícios, mas bem-vindo a 2025! + +Desenvolvemos um aplicativo rastreador de saúde e fitness digital 100% gratuito para você, dimensionado para os recursos mais relevantes para facilitar sua vida. Comece, continue treinando e comemore seu progresso! + +wger é um projeto Open Source. é tudo sobre: +* Seu Corpo +* Seus Treinos +* Seu Progresso +* Seus Dados + +Seu Corpo: +Não há necessidade de pesquisar no google os ingredientes de suas guloseimas favoritas – Escolha suas refeições diárias entre mais de 78.000 produtos e veja os valores nutricionais. Adicione refeições ao plano nutricional e mantenha uma visão geral de sua dieta no calendário. + +* Seus Treinos +Você sabe o que é melhor para o seu corpo. Crie seus próprios treinos a partir de uma variedade crescente de 200 exercícios diferentes. Em seguida, use o modo ginásio para guiá-lo através do treinamento enquanto você registra seus pesos com um toque. + +* Seu Progresso +Nunca perca de vista seus objetivos. Acompanhe seu peso e mantenha suas estatísticas. + +* Seus Dados +wger é o seu diário de fitness personalizado, mas você possui seus dados. Use a API REST para acessar e fazer coisas incríveis com ela. +Atenção: Este aplicativo é gratuito, não é baseado em financiamentos adicionais e não pedimos que você doe dinheiro. Mais do que isso, é um projeto comunitário que cresce constantemente. Portanto, esteja preparado para novos recursos a qualquer momento! + +#OpenSource-o que isso significa? + +Open Source significa que todo o código fonte deste aplicativo e do servidor com o qual ele fala é gratuito e está disponível para qualquer pessoa: + + * Você quer executar em seu próprio servidor para você ou seu ginásio local? Vá em frente! +* Sente falta de um recurso e quer implementá-lo? Comece agora! +* Deseja verificar se nada está sendo enviado para qualquer lugar? Você pode! + +Junte-se à nossa comunidade e faça parte de entusiastas do Esporte e geeks de TI de todo o mundo. Continuamos trabalhando para ajustar e otimizar o aplicativo personalizado às nossas necessidades. Adoramos sua contribuição, então sinta-se à vontade para participar a qualquer momento e contribuir com seus desejos e ideias! + +- > Encontre o código fonte em https://github.com/wger-project +-> Tire suas dúvidas ou apenas diga olá em nosso servidor discord https://discord.gg/rPWFv6W diff --git a/fastlane/metadata/android/pt/short_description.txt b/fastlane/metadata/android/pt/short_description.txt new file mode 100644 index 00000000..6fda9e48 --- /dev/null +++ b/fastlane/metadata/android/pt/short_description.txt @@ -0,0 +1 @@ +Ttreino, nutrição e controle de peso From 827274735719e97375eca739d30ed1b7df498864 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Wed, 22 Jan 2025 21:42:16 +0100 Subject: [PATCH 16/21] Update Gemfile --- Gemfile | 4 ++++ Gemfile.lock | 51 +++++++++++++++++++++++++++++---------------------- 2 files changed, 33 insertions(+), 22 deletions(-) diff --git a/Gemfile b/Gemfile index 2ccf2ecb..73fd0e0c 100644 --- a/Gemfile +++ b/Gemfile @@ -1,5 +1,9 @@ source "https://rubygems.org" gem "fastlane" +gem 'logger' +gem 'mutex_m' +gem 'abbrev' + plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile') eval_gemfile(plugins_path) if File.exist?(plugins_path) diff --git a/Gemfile.lock b/Gemfile.lock index 3b1f941c..f8cc1530 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,25 +5,26 @@ GEM base64 nkf rexml + abbrev (0.1.2) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) artifactory (3.0.17) atomos (0.1.3) aws-eventstream (1.3.0) - aws-partitions (1.1003.0) - aws-sdk-core (3.212.0) + aws-partitions (1.1042.0) + aws-sdk-core (3.216.1) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.95.0) - aws-sdk-core (~> 3, >= 3.210.0) + aws-sdk-kms (1.97.0) + aws-sdk-core (~> 3, >= 3.216.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.170.0) - aws-sdk-core (~> 3, >= 3.210.0) + aws-sdk-s3 (1.178.0) + aws-sdk-core (~> 3, >= 3.216.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) - aws-sigv4 (1.10.1) + aws-sigv4 (1.11.0) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) base64 (0.2.0) @@ -58,8 +59,8 @@ GEM faraday-em_synchrony (1.0.0) faraday-excon (1.1.0) faraday-httpclient (1.0.1) - faraday-multipart (1.0.4) - multipart-post (~> 2) + faraday-multipart (1.1.0) + multipart-post (~> 2.0) faraday-net_http (1.0.2) faraday-net_http_persistent (1.2.0) faraday-patron (1.0.0) @@ -67,8 +68,8 @@ GEM faraday-retry (1.0.3) faraday_middleware (1.2.1) faraday (~> 1.0) - fastimage (2.3.1) - fastlane (2.225.0) + fastimage (2.4.0) + fastlane (2.226.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) @@ -108,7 +109,7 @@ GEM tty-spinner (>= 0.8.0, < 1.0.0) word_wrap (~> 1.0.0) xcodeproj (>= 1.13.0, < 2.0.0) - xcpretty (~> 0.3.0) + xcpretty (~> 0.4.0) xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) fastlane-plugin-versioning (0.7.0) fastlane-sirp (1.0.0) @@ -151,23 +152,25 @@ GEM os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) highline (2.0.3) - http-cookie (1.0.7) + http-cookie (1.0.8) domain_name (~> 0.5) httpclient (2.8.3) jmespath (1.6.2) - json (2.8.1) - jwt (2.9.3) + json (2.9.1) + jwt (2.10.1) base64 + logger (1.6.5) mini_magick (4.13.2) mini_mime (1.1.5) multi_json (1.15.0) multipart-post (2.4.1) + mutex_m (0.3.0) nanaimo (0.4.0) naturally (2.2.1) nkf (0.2.0) optparse (0.6.0) os (1.1.4) - plist (3.7.1) + plist (3.7.2) public_suffix (6.0.1) rake (13.2.1) representable (3.2.0) @@ -175,10 +178,10 @@ GEM trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) retriable (3.1.2) - rexml (3.3.9) - rouge (2.0.7) + rexml (3.4.0) + rouge (3.28.0) ruby2_keywords (0.0.5) - rubyzip (2.3.2) + rubyzip (2.4.1) security (0.1.5) signet (0.19.0) addressable (~> 2.8) @@ -207,8 +210,8 @@ GEM colored2 (~> 3.1) nanaimo (~> 0.4.0) rexml (>= 3.3.6, < 4.0) - xcpretty (0.3.0) - rouge (~> 2.0.7) + xcpretty (0.4.0) + rouge (~> 3.28.0) xcpretty-travis-formatter (1.0.1) xcpretty (~> 0.2, >= 0.0.7) @@ -216,11 +219,15 @@ PLATFORMS arm64-darwin-21 arm64-darwin-22 arm64-darwin-23 + arm64-darwin-24 x86_64-linux DEPENDENCIES + abbrev fastlane fastlane-plugin-versioning + logger + mutex_m BUNDLED WITH - 2.2.32 + 2.6.3 From 98a02058c98bdfeecadd8518dcc13f1da9be1231 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Wed, 22 Jan 2025 21:47:39 +0100 Subject: [PATCH 17/21] Remove duplicate translation and video link --- .../metadata/android/pt/full_description.txt | 39 ------------------- .../metadata/android/pt/short_description.txt | 1 - fastlane/metadata/android/uk/video.txt | 2 +- 3 files changed, 1 insertion(+), 41 deletions(-) delete mode 100644 fastlane/metadata/android/pt/full_description.txt delete mode 100644 fastlane/metadata/android/pt/short_description.txt diff --git a/fastlane/metadata/android/pt/full_description.txt b/fastlane/metadata/android/pt/full_description.txt deleted file mode 100644 index c4f33071..00000000 --- a/fastlane/metadata/android/pt/full_description.txt +++ /dev/null @@ -1,39 +0,0 @@ -Feito de amantes do fitness para amantes do fitness – Pata ter a sua saúde organizada com WGER, o Gerente de Treino! - -Você já encontrou o seu #1 aplicação de fitness e ama criar suas próprias rotinas de treinos? Não importa que tipo de esportivo você é – todos nós temos algo em comum: gostamos de manter o controle de nossos dados de saúde <3 - -Portanto, não o julgamos por ainda gerenciar sua jornada de condicionamento físico com seu prático livro de registro de exercícios, mas bem-vindo a 2025! - -Desenvolvemos um aplicativo rastreador de saúde e fitness digital 100% gratuito para você, dimensionado para os recursos mais relevantes para facilitar sua vida. Comece, continue treinando e comemore seu progresso! - -wger é um projeto Open Source. é tudo sobre: -* Seu Corpo -* Seus Treinos -* Seu Progresso -* Seus Dados - -Seu Corpo: -Não há necessidade de pesquisar no google os ingredientes de suas guloseimas favoritas – Escolha suas refeições diárias entre mais de 78.000 produtos e veja os valores nutricionais. Adicione refeições ao plano nutricional e mantenha uma visão geral de sua dieta no calendário. - -* Seus Treinos -Você sabe o que é melhor para o seu corpo. Crie seus próprios treinos a partir de uma variedade crescente de 200 exercícios diferentes. Em seguida, use o modo ginásio para guiá-lo através do treinamento enquanto você registra seus pesos com um toque. - -* Seu Progresso -Nunca perca de vista seus objetivos. Acompanhe seu peso e mantenha suas estatísticas. - -* Seus Dados -wger é o seu diário de fitness personalizado, mas você possui seus dados. Use a API REST para acessar e fazer coisas incríveis com ela. -Atenção: Este aplicativo é gratuito, não é baseado em financiamentos adicionais e não pedimos que você doe dinheiro. Mais do que isso, é um projeto comunitário que cresce constantemente. Portanto, esteja preparado para novos recursos a qualquer momento! - -#OpenSource-o que isso significa? - -Open Source significa que todo o código fonte deste aplicativo e do servidor com o qual ele fala é gratuito e está disponível para qualquer pessoa: - - * Você quer executar em seu próprio servidor para você ou seu ginásio local? Vá em frente! -* Sente falta de um recurso e quer implementá-lo? Comece agora! -* Deseja verificar se nada está sendo enviado para qualquer lugar? Você pode! - -Junte-se à nossa comunidade e faça parte de entusiastas do Esporte e geeks de TI de todo o mundo. Continuamos trabalhando para ajustar e otimizar o aplicativo personalizado às nossas necessidades. Adoramos sua contribuição, então sinta-se à vontade para participar a qualquer momento e contribuir com seus desejos e ideias! - -- > Encontre o código fonte em https://github.com/wger-project --> Tire suas dúvidas ou apenas diga olá em nosso servidor discord https://discord.gg/rPWFv6W diff --git a/fastlane/metadata/android/pt/short_description.txt b/fastlane/metadata/android/pt/short_description.txt deleted file mode 100644 index 6fda9e48..00000000 --- a/fastlane/metadata/android/pt/short_description.txt +++ /dev/null @@ -1 +0,0 @@ -Ttreino, nutrição e controle de peso diff --git a/fastlane/metadata/android/uk/video.txt b/fastlane/metadata/android/uk/video.txt index db1a5a09..8b137891 100644 --- a/fastlane/metadata/android/uk/video.txt +++ b/fastlane/metadata/android/uk/video.txt @@ -1 +1 @@ -I + From 2639fbf29e796f38bd5bad4adfe1c8c9238e9d49 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Thu, 23 Jan 2025 19:36:37 +0100 Subject: [PATCH 18/21] Update flatpak description to use only allowed markup --- flatpak/de.wger.flutter.metainfo.xml | 42 ++++++++++++---------------- 1 file changed, 18 insertions(+), 24 deletions(-) diff --git a/flatpak/de.wger.flutter.metainfo.xml b/flatpak/de.wger.flutter.metainfo.xml index 2ae67f65..fbcca043 100755 --- a/flatpak/de.wger.flutter.metainfo.xml +++ b/flatpak/de.wger.flutter.metainfo.xml @@ -8,32 +8,26 @@ fitness goals.

+

Workout Management

    -
  • - 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
    • -
    +
  • 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
From 86f8b7ae35546cc449d04fb39d3bd1878f59c955 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Thu, 23 Jan 2025 23:22:50 +0100 Subject: [PATCH 19/21] Add a third option to the theme mode This allows the user to use the system settings as well, and not always force light or dark mode in the app. Also move the logic to the UserProvider and do some light refactoring. --- .../exercises/exercise_database.g.dart | 480 +++++++----------- .../ingredients/ingredients_database.g.dart | 111 ++-- lib/helpers/consts.dart | 1 + lib/l10n/app_en.arb | 8 +- lib/main.dart | 82 +-- lib/models/body_weight/weight_entry.g.dart | 3 +- lib/models/exercises/category.g.dart | 3 +- lib/models/exercises/exercise.g.dart | 24 +- .../exercises/exercise_api.freezed.dart | 204 +++----- lib/models/exercises/exercise_api.g.dart | 39 +- lib/models/exercises/image.g.dart | 3 +- .../exercises/ingredient_api.freezed.dart | 108 ++-- lib/models/exercises/ingredient_api.g.dart | 15 +- lib/models/exercises/translation.g.dart | 7 +- .../measurements/measurement_category.g.dart | 4 +- .../measurements/measurement_entry.g.dart | 3 +- lib/models/nutrition/ingredient.g.dart | 3 +- lib/models/nutrition/ingredient_image.g.dart | 3 +- .../nutrition/ingredient_weight_unit.g.dart | 6 +- lib/models/nutrition/log.g.dart | 9 +- lib/models/nutrition/nutritional_plan.g.dart | 3 +- lib/models/nutrition/weight_unit.g.dart | 3 +- lib/models/user/profile.g.dart | 8 +- lib/models/workouts/day.g.dart | 3 +- lib/models/workouts/repetition_unit.g.dart | 3 +- lib/models/workouts/session.g.dart | 12 +- lib/models/workouts/weight_unit.g.dart | 3 +- lib/models/workouts/workout_plan.g.dart | 3 +- lib/providers/auth.dart | 28 - lib/providers/user.dart | 38 +- lib/widgets/core/settings.dart | 51 +- lib/widgets/measurements/helpers.dart | 10 +- pubspec.lock | 2 +- pubspec.yaml | 1 + test/auth/auth_screen_test.mocks.dart | 9 +- test/core/settings_test.dart | 18 +- test/core/settings_test.mocks.dart | 207 ++++++-- .../contribute_exercise_test.mocks.dart | 38 +- test/gallery/gallery_form_test.mocks.dart | 12 +- test/gallery/gallery_screen_test.mocks.dart | 12 +- ...surement_categories_screen_test.mocks.dart | 12 +- .../measurement_provider_test.mocks.dart | 12 +- .../nutritional_meal_form_test.mocks.dart | 39 +- .../nutritional_plan_form_test.mocks.dart | 39 +- .../nutritional_plan_screen_test.mocks.dart | 30 +- .../nutritional_plans_screen_test.mocks.dart | 30 +- test/other/base_provider_test.mocks.dart | 9 +- test/user/provider_test.dart | 4 + test/user/provider_test.mocks.dart | 12 +- test/weight/weight_provider_test.mocks.dart | 12 +- test/weight/weight_screen_test.dart | 15 +- test/weight/weight_screen_test.mocks.dart | 95 ++-- test/workout/gym_mode_screen_test.mocks.dart | 48 +- ...epetition_unit_form_widget_test.mocks.dart | 39 +- .../weight_unit_form_widget_test.mocks.dart | 15 +- test/workout/workout_day_form_test.mocks.dart | 39 +- test/workout/workout_form_test.mocks.dart | 39 +- .../workout_plan_screen_test.mocks.dart | 12 +- .../workout_plans_screen_test.mocks.dart | 12 +- test/workout/workout_provider_test.mocks.dart | 12 +- test/workout/workout_set_form_test.mocks.dart | 84 +-- 61 files changed, 952 insertions(+), 1237 deletions(-) diff --git a/lib/database/exercises/exercise_database.g.dart b/lib/database/exercises/exercise_database.g.dart index 158c41e4..d9b894fc 100644 --- a/lib/database/exercises/exercise_database.g.dart +++ b/lib/database/exercises/exercise_database.g.dart @@ -3,30 +3,25 @@ part of 'exercise_database.dart'; // ignore_for_file: type=lint -class $ExercisesTable extends Exercises - with TableInfo<$ExercisesTable, ExerciseTable> { +class $ExercisesTable extends Exercises with TableInfo<$ExercisesTable, ExerciseTable> { @override final GeneratedDatabase attachedDatabase; final String? _alias; $ExercisesTable(this.attachedDatabase, [this._alias]); static const VerificationMeta _idMeta = const VerificationMeta('id'); @override - late final GeneratedColumn id = GeneratedColumn( - 'id', aliasedName, false, + late final GeneratedColumn id = GeneratedColumn('id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true); static const VerificationMeta _dataMeta = const VerificationMeta('data'); @override - late final GeneratedColumn data = GeneratedColumn( - 'data', aliasedName, false, + late final GeneratedColumn data = GeneratedColumn('data', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true); - static const VerificationMeta _lastUpdateMeta = - const VerificationMeta('lastUpdate'); + static const VerificationMeta _lastUpdateMeta = const VerificationMeta('lastUpdate'); @override late final GeneratedColumn lastUpdate = GeneratedColumn( 'last_update', aliasedName, false, type: DriftSqlType.dateTime, requiredDuringInsert: true); - static const VerificationMeta _lastFetchedMeta = - const VerificationMeta('lastFetched'); + static const VerificationMeta _lastFetchedMeta = const VerificationMeta('lastFetched'); @override late final GeneratedColumn lastFetched = GeneratedColumn( 'last_fetched', aliasedName, false, @@ -49,24 +44,19 @@ class $ExercisesTable extends Exercises context.missing(_idMeta); } if (data.containsKey('data')) { - context.handle( - _dataMeta, this.data.isAcceptableOrUnknown(data['data']!, _dataMeta)); + context.handle(_dataMeta, this.data.isAcceptableOrUnknown(data['data']!, _dataMeta)); } else if (isInserting) { context.missing(_dataMeta); } if (data.containsKey('last_update')) { context.handle( - _lastUpdateMeta, - lastUpdate.isAcceptableOrUnknown( - data['last_update']!, _lastUpdateMeta)); + _lastUpdateMeta, lastUpdate.isAcceptableOrUnknown(data['last_update']!, _lastUpdateMeta)); } else if (isInserting) { context.missing(_lastUpdateMeta); } if (data.containsKey('last_fetched')) { - context.handle( - _lastFetchedMeta, - lastFetched.isAcceptableOrUnknown( - data['last_fetched']!, _lastFetchedMeta)); + context.handle(_lastFetchedMeta, + lastFetched.isAcceptableOrUnknown(data['last_fetched']!, _lastFetchedMeta)); } else if (isInserting) { context.missing(_lastFetchedMeta); } @@ -79,10 +69,8 @@ class $ExercisesTable extends Exercises ExerciseTable map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return ExerciseTable( - id: attachedDatabase.typeMapping - .read(DriftSqlType.int, data['${effectivePrefix}id'])!, - data: attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}data'])!, + id: attachedDatabase.typeMapping.read(DriftSqlType.int, data['${effectivePrefix}id'])!, + data: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}data'])!, lastUpdate: attachedDatabase.typeMapping .read(DriftSqlType.dateTime, data['${effectivePrefix}last_update'])!, lastFetched: attachedDatabase.typeMapping @@ -106,10 +94,7 @@ class ExerciseTable extends DataClass implements Insertable { /// ourselves a lot of requests if we don't check too often final DateTime lastFetched; const ExerciseTable( - {required this.id, - required this.data, - required this.lastUpdate, - required this.lastFetched}); + {required this.id, required this.data, required this.lastUpdate, required this.lastFetched}); @override Map toColumns(bool nullToAbsent) { final map = {}; @@ -129,8 +114,7 @@ class ExerciseTable extends DataClass implements Insertable { ); } - factory ExerciseTable.fromJson(Map json, - {ValueSerializer? serializer}) { + factory ExerciseTable.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return ExerciseTable( id: serializer.fromJson(json['id']), @@ -150,11 +134,7 @@ class ExerciseTable extends DataClass implements Insertable { }; } - ExerciseTable copyWith( - {int? id, - String? data, - DateTime? lastUpdate, - DateTime? lastFetched}) => + ExerciseTable copyWith({int? id, String? data, DateTime? lastUpdate, DateTime? lastFetched}) => ExerciseTable( id: id ?? this.id, data: data ?? this.data, @@ -165,10 +145,8 @@ class ExerciseTable extends DataClass implements Insertable { return ExerciseTable( id: data.id.present ? data.id.value : this.id, data: data.data.present ? data.data.value : this.data, - lastUpdate: - data.lastUpdate.present ? data.lastUpdate.value : this.lastUpdate, - lastFetched: - data.lastFetched.present ? data.lastFetched.value : this.lastFetched, + lastUpdate: data.lastUpdate.present ? data.lastUpdate.value : this.lastUpdate, + lastFetched: data.lastFetched.present ? data.lastFetched.value : this.lastFetched, ); } @@ -290,15 +268,14 @@ class $MusclesTable extends Muscles with TableInfo<$MusclesTable, MuscleTable> { $MusclesTable(this.attachedDatabase, [this._alias]); static const VerificationMeta _idMeta = const VerificationMeta('id'); @override - late final GeneratedColumn id = GeneratedColumn( - 'id', aliasedName, false, + late final GeneratedColumn id = GeneratedColumn('id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true); static const VerificationMeta _dataMeta = const VerificationMeta('data'); @override - late final GeneratedColumnWithTypeConverter data = - GeneratedColumn('data', aliasedName, false, - type: DriftSqlType.string, requiredDuringInsert: true) - .withConverter($MusclesTable.$converterdata); + late final GeneratedColumnWithTypeConverter data = GeneratedColumn( + 'data', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true) + .withConverter($MusclesTable.$converterdata); @override List get $columns => [id, data]; @override @@ -326,10 +303,9 @@ class $MusclesTable extends Muscles with TableInfo<$MusclesTable, MuscleTable> { MuscleTable map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return MuscleTable( - id: attachedDatabase.typeMapping - .read(DriftSqlType.int, data['${effectivePrefix}id'])!, - data: $MusclesTable.$converterdata.fromSql(attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}data'])!), + id: attachedDatabase.typeMapping.read(DriftSqlType.int, data['${effectivePrefix}id'])!, + data: $MusclesTable.$converterdata.fromSql( + attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}data'])!), ); } @@ -362,8 +338,7 @@ class MuscleTable extends DataClass implements Insertable { ); } - factory MuscleTable.fromJson(Map json, - {ValueSerializer? serializer}) { + factory MuscleTable.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return MuscleTable( id: serializer.fromJson(json['id']), @@ -434,8 +409,7 @@ class MusclesCompanion extends UpdateCompanion { }); } - MusclesCompanion copyWith( - {Value? id, Value? data, Value? rowid}) { + MusclesCompanion copyWith({Value? id, Value? data, Value? rowid}) { return MusclesCompanion( id: id ?? this.id, data: data ?? this.data, @@ -450,8 +424,7 @@ class MusclesCompanion extends UpdateCompanion { map['id'] = Variable(id.value); } if (data.present) { - map['data'] = - Variable($MusclesTable.$converterdata.toSql(data.value)); + map['data'] = Variable($MusclesTable.$converterdata.toSql(data.value)); } if (rowid.present) { map['rowid'] = Variable(rowid.value); @@ -470,23 +443,21 @@ class MusclesCompanion extends UpdateCompanion { } } -class $EquipmentsTable extends Equipments - with TableInfo<$EquipmentsTable, EquipmentTable> { +class $EquipmentsTable extends Equipments with TableInfo<$EquipmentsTable, EquipmentTable> { @override final GeneratedDatabase attachedDatabase; final String? _alias; $EquipmentsTable(this.attachedDatabase, [this._alias]); static const VerificationMeta _idMeta = const VerificationMeta('id'); @override - late final GeneratedColumn id = GeneratedColumn( - 'id', aliasedName, false, + late final GeneratedColumn id = GeneratedColumn('id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true); static const VerificationMeta _dataMeta = const VerificationMeta('data'); @override - late final GeneratedColumnWithTypeConverter data = - GeneratedColumn('data', aliasedName, false, - type: DriftSqlType.string, requiredDuringInsert: true) - .withConverter($EquipmentsTable.$converterdata); + late final GeneratedColumnWithTypeConverter data = GeneratedColumn( + 'data', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true) + .withConverter($EquipmentsTable.$converterdata); @override List get $columns => [id, data]; @override @@ -514,10 +485,9 @@ class $EquipmentsTable extends Equipments EquipmentTable map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return EquipmentTable( - id: attachedDatabase.typeMapping - .read(DriftSqlType.int, data['${effectivePrefix}id'])!, - data: $EquipmentsTable.$converterdata.fromSql(attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}data'])!), + id: attachedDatabase.typeMapping.read(DriftSqlType.int, data['${effectivePrefix}id'])!, + data: $EquipmentsTable.$converterdata.fromSql( + attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}data'])!), ); } @@ -526,8 +496,7 @@ class $EquipmentsTable extends Equipments return $EquipmentsTable(attachedDatabase, alias); } - static TypeConverter $converterdata = - const EquipmentConverter(); + static TypeConverter $converterdata = const EquipmentConverter(); } class EquipmentTable extends DataClass implements Insertable { @@ -539,8 +508,7 @@ class EquipmentTable extends DataClass implements Insertable { final map = {}; map['id'] = Variable(id); { - map['data'] = - Variable($EquipmentsTable.$converterdata.toSql(data)); + map['data'] = Variable($EquipmentsTable.$converterdata.toSql(data)); } return map; } @@ -552,8 +520,7 @@ class EquipmentTable extends DataClass implements Insertable { ); } - factory EquipmentTable.fromJson(Map json, - {ValueSerializer? serializer}) { + factory EquipmentTable.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return EquipmentTable( id: serializer.fromJson(json['id']), @@ -594,9 +561,7 @@ class EquipmentTable extends DataClass implements Insertable { @override bool operator ==(Object other) => identical(this, other) || - (other is EquipmentTable && - other.id == this.id && - other.data == this.data); + (other is EquipmentTable && other.id == this.id && other.data == this.data); } class EquipmentsCompanion extends UpdateCompanion { @@ -626,8 +591,7 @@ class EquipmentsCompanion extends UpdateCompanion { }); } - EquipmentsCompanion copyWith( - {Value? id, Value? data, Value? rowid}) { + EquipmentsCompanion copyWith({Value? id, Value? data, Value? rowid}) { return EquipmentsCompanion( id: id ?? this.id, data: data ?? this.data, @@ -642,8 +606,7 @@ class EquipmentsCompanion extends UpdateCompanion { map['id'] = Variable(id.value); } if (data.present) { - map['data'] = - Variable($EquipmentsTable.$converterdata.toSql(data.value)); + map['data'] = Variable($EquipmentsTable.$converterdata.toSql(data.value)); } if (rowid.present) { map['rowid'] = Variable(rowid.value); @@ -662,16 +625,14 @@ class EquipmentsCompanion extends UpdateCompanion { } } -class $CategoriesTable extends Categories - with TableInfo<$CategoriesTable, CategoryTable> { +class $CategoriesTable extends Categories with TableInfo<$CategoriesTable, CategoryTable> { @override final GeneratedDatabase attachedDatabase; final String? _alias; $CategoriesTable(this.attachedDatabase, [this._alias]); static const VerificationMeta _idMeta = const VerificationMeta('id'); @override - late final GeneratedColumn id = GeneratedColumn( - 'id', aliasedName, false, + late final GeneratedColumn id = GeneratedColumn('id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true); static const VerificationMeta _dataMeta = const VerificationMeta('data'); @override @@ -706,10 +667,9 @@ class $CategoriesTable extends Categories CategoryTable map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return CategoryTable( - id: attachedDatabase.typeMapping - .read(DriftSqlType.int, data['${effectivePrefix}id'])!, - data: $CategoriesTable.$converterdata.fromSql(attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}data'])!), + id: attachedDatabase.typeMapping.read(DriftSqlType.int, data['${effectivePrefix}id'])!, + data: $CategoriesTable.$converterdata.fromSql( + attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}data'])!), ); } @@ -718,8 +678,7 @@ class $CategoriesTable extends Categories return $CategoriesTable(attachedDatabase, alias); } - static TypeConverter $converterdata = - const ExerciseCategoryConverter(); + static TypeConverter $converterdata = const ExerciseCategoryConverter(); } class CategoryTable extends DataClass implements Insertable { @@ -731,8 +690,7 @@ class CategoryTable extends DataClass implements Insertable { final map = {}; map['id'] = Variable(id); { - map['data'] = - Variable($CategoriesTable.$converterdata.toSql(data)); + map['data'] = Variable($CategoriesTable.$converterdata.toSql(data)); } return map; } @@ -744,8 +702,7 @@ class CategoryTable extends DataClass implements Insertable { ); } - factory CategoryTable.fromJson(Map json, - {ValueSerializer? serializer}) { + factory CategoryTable.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return CategoryTable( id: serializer.fromJson(json['id']), @@ -786,9 +743,7 @@ class CategoryTable extends DataClass implements Insertable { @override bool operator ==(Object other) => identical(this, other) || - (other is CategoryTable && - other.id == this.id && - other.data == this.data); + (other is CategoryTable && other.id == this.id && other.data == this.data); } class CategoriesCompanion extends UpdateCompanion { @@ -818,8 +773,7 @@ class CategoriesCompanion extends UpdateCompanion { }); } - CategoriesCompanion copyWith( - {Value? id, Value? data, Value? rowid}) { + CategoriesCompanion copyWith({Value? id, Value? data, Value? rowid}) { return CategoriesCompanion( id: id ?? this.id, data: data ?? this.data, @@ -834,8 +788,7 @@ class CategoriesCompanion extends UpdateCompanion { map['id'] = Variable(id.value); } if (data.present) { - map['data'] = - Variable($CategoriesTable.$converterdata.toSql(data.value)); + map['data'] = Variable($CategoriesTable.$converterdata.toSql(data.value)); } if (rowid.present) { map['rowid'] = Variable(rowid.value); @@ -854,23 +807,21 @@ class CategoriesCompanion extends UpdateCompanion { } } -class $LanguagesTable extends Languages - with TableInfo<$LanguagesTable, LanguagesTable> { +class $LanguagesTable extends Languages with TableInfo<$LanguagesTable, LanguagesTable> { @override final GeneratedDatabase attachedDatabase; final String? _alias; $LanguagesTable(this.attachedDatabase, [this._alias]); static const VerificationMeta _idMeta = const VerificationMeta('id'); @override - late final GeneratedColumn id = GeneratedColumn( - 'id', aliasedName, false, + late final GeneratedColumn id = GeneratedColumn('id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true); static const VerificationMeta _dataMeta = const VerificationMeta('data'); @override - late final GeneratedColumnWithTypeConverter data = - GeneratedColumn('data', aliasedName, false, - type: DriftSqlType.string, requiredDuringInsert: true) - .withConverter($LanguagesTable.$converterdata); + late final GeneratedColumnWithTypeConverter data = GeneratedColumn( + 'data', aliasedName, false, + type: DriftSqlType.string, requiredDuringInsert: true) + .withConverter($LanguagesTable.$converterdata); @override List get $columns => [id, data]; @override @@ -898,10 +849,9 @@ class $LanguagesTable extends Languages LanguagesTable map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return LanguagesTable( - id: attachedDatabase.typeMapping - .read(DriftSqlType.int, data['${effectivePrefix}id'])!, - data: $LanguagesTable.$converterdata.fromSql(attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}data'])!), + id: attachedDatabase.typeMapping.read(DriftSqlType.int, data['${effectivePrefix}id'])!, + data: $LanguagesTable.$converterdata.fromSql( + attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}data'])!), ); } @@ -910,8 +860,7 @@ class $LanguagesTable extends Languages return $LanguagesTable(attachedDatabase, alias); } - static TypeConverter $converterdata = - const LanguageConverter(); + static TypeConverter $converterdata = const LanguageConverter(); } class LanguagesTable extends DataClass implements Insertable { @@ -923,8 +872,7 @@ class LanguagesTable extends DataClass implements Insertable { final map = {}; map['id'] = Variable(id); { - map['data'] = - Variable($LanguagesTable.$converterdata.toSql(data)); + map['data'] = Variable($LanguagesTable.$converterdata.toSql(data)); } return map; } @@ -936,8 +884,7 @@ class LanguagesTable extends DataClass implements Insertable { ); } - factory LanguagesTable.fromJson(Map json, - {ValueSerializer? serializer}) { + factory LanguagesTable.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return LanguagesTable( id: serializer.fromJson(json['id']), @@ -978,9 +925,7 @@ class LanguagesTable extends DataClass implements Insertable { @override bool operator ==(Object other) => identical(this, other) || - (other is LanguagesTable && - other.id == this.id && - other.data == this.data); + (other is LanguagesTable && other.id == this.id && other.data == this.data); } class LanguagesCompanion extends UpdateCompanion { @@ -1010,8 +955,7 @@ class LanguagesCompanion extends UpdateCompanion { }); } - LanguagesCompanion copyWith( - {Value? id, Value? data, Value? rowid}) { + LanguagesCompanion copyWith({Value? id, Value? data, Value? rowid}) { return LanguagesCompanion( id: id ?? this.id, data: data ?? this.data, @@ -1026,8 +970,7 @@ class LanguagesCompanion extends UpdateCompanion { map['id'] = Variable(id.value); } if (data.present) { - map['data'] = - Variable($LanguagesTable.$converterdata.toSql(data.value)); + map['data'] = Variable($LanguagesTable.$converterdata.toSql(data.value)); } if (rowid.present) { map['rowid'] = Variable(rowid.value); @@ -1077,8 +1020,7 @@ typedef $$ExercisesTableUpdateCompanionBuilder = ExercisesCompanion Function({ Value rowid, }); -class $$ExercisesTableFilterComposer - extends Composer<_$ExerciseDatabase, $ExercisesTable> { +class $$ExercisesTableFilterComposer extends Composer<_$ExerciseDatabase, $ExercisesTable> { $$ExercisesTableFilterComposer({ required super.$db, required super.$table, @@ -1086,21 +1028,20 @@ class $$ExercisesTableFilterComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnFilters get id => $composableBuilder( - column: $table.id, builder: (column) => ColumnFilters(column)); + ColumnFilters get id => + $composableBuilder(column: $table.id, builder: (column) => ColumnFilters(column)); - ColumnFilters get data => $composableBuilder( - column: $table.data, builder: (column) => ColumnFilters(column)); + ColumnFilters get data => + $composableBuilder(column: $table.data, builder: (column) => ColumnFilters(column)); - ColumnFilters get lastUpdate => $composableBuilder( - column: $table.lastUpdate, builder: (column) => ColumnFilters(column)); + ColumnFilters get lastUpdate => + $composableBuilder(column: $table.lastUpdate, builder: (column) => ColumnFilters(column)); - ColumnFilters get lastFetched => $composableBuilder( - column: $table.lastFetched, builder: (column) => ColumnFilters(column)); + ColumnFilters get lastFetched => + $composableBuilder(column: $table.lastFetched, builder: (column) => ColumnFilters(column)); } -class $$ExercisesTableOrderingComposer - extends Composer<_$ExerciseDatabase, $ExercisesTable> { +class $$ExercisesTableOrderingComposer extends Composer<_$ExerciseDatabase, $ExercisesTable> { $$ExercisesTableOrderingComposer({ required super.$db, required super.$table, @@ -1108,21 +1049,20 @@ class $$ExercisesTableOrderingComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnOrderings get id => $composableBuilder( - column: $table.id, builder: (column) => ColumnOrderings(column)); + ColumnOrderings get id => + $composableBuilder(column: $table.id, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get data => $composableBuilder( - column: $table.data, builder: (column) => ColumnOrderings(column)); + ColumnOrderings get data => + $composableBuilder(column: $table.data, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get lastUpdate => $composableBuilder( - column: $table.lastUpdate, builder: (column) => ColumnOrderings(column)); + ColumnOrderings get lastUpdate => + $composableBuilder(column: $table.lastUpdate, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get lastFetched => $composableBuilder( - column: $table.lastFetched, builder: (column) => ColumnOrderings(column)); + ColumnOrderings get lastFetched => + $composableBuilder(column: $table.lastFetched, builder: (column) => ColumnOrderings(column)); } -class $$ExercisesTableAnnotationComposer - extends Composer<_$ExerciseDatabase, $ExercisesTable> { +class $$ExercisesTableAnnotationComposer extends Composer<_$ExerciseDatabase, $ExercisesTable> { $$ExercisesTableAnnotationComposer({ required super.$db, required super.$table, @@ -1130,17 +1070,16 @@ class $$ExercisesTableAnnotationComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - GeneratedColumn get id => - $composableBuilder(column: $table.id, builder: (column) => column); + GeneratedColumn get id => $composableBuilder(column: $table.id, builder: (column) => column); GeneratedColumn get data => $composableBuilder(column: $table.data, builder: (column) => column); - GeneratedColumn get lastUpdate => $composableBuilder( - column: $table.lastUpdate, builder: (column) => column); + GeneratedColumn get lastUpdate => + $composableBuilder(column: $table.lastUpdate, builder: (column) => column); - GeneratedColumn get lastFetched => $composableBuilder( - column: $table.lastFetched, builder: (column) => column); + GeneratedColumn get lastFetched => + $composableBuilder(column: $table.lastFetched, builder: (column) => column); } class $$ExercisesTableTableManager extends RootTableManager< @@ -1152,20 +1091,15 @@ class $$ExercisesTableTableManager extends RootTableManager< $$ExercisesTableAnnotationComposer, $$ExercisesTableCreateCompanionBuilder, $$ExercisesTableUpdateCompanionBuilder, - ( - ExerciseTable, - BaseReferences<_$ExerciseDatabase, $ExercisesTable, ExerciseTable> - ), + (ExerciseTable, BaseReferences<_$ExerciseDatabase, $ExercisesTable, ExerciseTable>), ExerciseTable, PrefetchHooks Function()> { $$ExercisesTableTableManager(_$ExerciseDatabase db, $ExercisesTable table) : super(TableManagerState( db: db, table: table, - createFilteringComposer: () => - $$ExercisesTableFilterComposer($db: db, $table: table), - createOrderingComposer: () => - $$ExercisesTableOrderingComposer($db: db, $table: table), + createFilteringComposer: () => $$ExercisesTableFilterComposer($db: db, $table: table), + createOrderingComposer: () => $$ExercisesTableOrderingComposer($db: db, $table: table), createComputedFieldComposer: () => $$ExercisesTableAnnotationComposer($db: db, $table: table), updateCompanionCallback: ({ @@ -1196,9 +1130,8 @@ class $$ExercisesTableTableManager extends RootTableManager< lastFetched: lastFetched, rowid: rowid, ), - withReferenceMapper: (p0) => p0 - .map((e) => (e.readTable(table), BaseReferences(db, table, e))) - .toList(), + withReferenceMapper: (p0) => + p0.map((e) => (e.readTable(table), BaseReferences(db, table, e))).toList(), prefetchHooksCallback: null, )); } @@ -1212,10 +1145,7 @@ typedef $$ExercisesTableProcessedTableManager = ProcessedTableManager< $$ExercisesTableAnnotationComposer, $$ExercisesTableCreateCompanionBuilder, $$ExercisesTableUpdateCompanionBuilder, - ( - ExerciseTable, - BaseReferences<_$ExerciseDatabase, $ExercisesTable, ExerciseTable> - ), + (ExerciseTable, BaseReferences<_$ExerciseDatabase, $ExercisesTable, ExerciseTable>), ExerciseTable, PrefetchHooks Function()>; typedef $$MusclesTableCreateCompanionBuilder = MusclesCompanion Function({ @@ -1229,8 +1159,7 @@ typedef $$MusclesTableUpdateCompanionBuilder = MusclesCompanion Function({ Value rowid, }); -class $$MusclesTableFilterComposer - extends Composer<_$ExerciseDatabase, $MusclesTable> { +class $$MusclesTableFilterComposer extends Composer<_$ExerciseDatabase, $MusclesTable> { $$MusclesTableFilterComposer({ required super.$db, required super.$table, @@ -1238,17 +1167,14 @@ class $$MusclesTableFilterComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnFilters get id => $composableBuilder( - column: $table.id, builder: (column) => ColumnFilters(column)); + ColumnFilters get id => + $composableBuilder(column: $table.id, builder: (column) => ColumnFilters(column)); - ColumnWithTypeConverterFilters get data => - $composableBuilder( - column: $table.data, - builder: (column) => ColumnWithTypeConverterFilters(column)); + ColumnWithTypeConverterFilters get data => $composableBuilder( + column: $table.data, builder: (column) => ColumnWithTypeConverterFilters(column)); } -class $$MusclesTableOrderingComposer - extends Composer<_$ExerciseDatabase, $MusclesTable> { +class $$MusclesTableOrderingComposer extends Composer<_$ExerciseDatabase, $MusclesTable> { $$MusclesTableOrderingComposer({ required super.$db, required super.$table, @@ -1256,15 +1182,14 @@ class $$MusclesTableOrderingComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnOrderings get id => $composableBuilder( - column: $table.id, builder: (column) => ColumnOrderings(column)); + ColumnOrderings get id => + $composableBuilder(column: $table.id, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get data => $composableBuilder( - column: $table.data, builder: (column) => ColumnOrderings(column)); + ColumnOrderings get data => + $composableBuilder(column: $table.data, builder: (column) => ColumnOrderings(column)); } -class $$MusclesTableAnnotationComposer - extends Composer<_$ExerciseDatabase, $MusclesTable> { +class $$MusclesTableAnnotationComposer extends Composer<_$ExerciseDatabase, $MusclesTable> { $$MusclesTableAnnotationComposer({ required super.$db, required super.$table, @@ -1272,8 +1197,7 @@ class $$MusclesTableAnnotationComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - GeneratedColumn get id => - $composableBuilder(column: $table.id, builder: (column) => column); + GeneratedColumn get id => $composableBuilder(column: $table.id, builder: (column) => column); GeneratedColumnWithTypeConverter get data => $composableBuilder(column: $table.data, builder: (column) => column); @@ -1288,20 +1212,15 @@ class $$MusclesTableTableManager extends RootTableManager< $$MusclesTableAnnotationComposer, $$MusclesTableCreateCompanionBuilder, $$MusclesTableUpdateCompanionBuilder, - ( - MuscleTable, - BaseReferences<_$ExerciseDatabase, $MusclesTable, MuscleTable> - ), + (MuscleTable, BaseReferences<_$ExerciseDatabase, $MusclesTable, MuscleTable>), MuscleTable, PrefetchHooks Function()> { $$MusclesTableTableManager(_$ExerciseDatabase db, $MusclesTable table) : super(TableManagerState( db: db, table: table, - createFilteringComposer: () => - $$MusclesTableFilterComposer($db: db, $table: table), - createOrderingComposer: () => - $$MusclesTableOrderingComposer($db: db, $table: table), + createFilteringComposer: () => $$MusclesTableFilterComposer($db: db, $table: table), + createOrderingComposer: () => $$MusclesTableOrderingComposer($db: db, $table: table), createComputedFieldComposer: () => $$MusclesTableAnnotationComposer($db: db, $table: table), updateCompanionCallback: ({ @@ -1324,9 +1243,8 @@ class $$MusclesTableTableManager extends RootTableManager< data: data, rowid: rowid, ), - withReferenceMapper: (p0) => p0 - .map((e) => (e.readTable(table), BaseReferences(db, table, e))) - .toList(), + withReferenceMapper: (p0) => + p0.map((e) => (e.readTable(table), BaseReferences(db, table, e))).toList(), prefetchHooksCallback: null, )); } @@ -1340,10 +1258,7 @@ typedef $$MusclesTableProcessedTableManager = ProcessedTableManager< $$MusclesTableAnnotationComposer, $$MusclesTableCreateCompanionBuilder, $$MusclesTableUpdateCompanionBuilder, - ( - MuscleTable, - BaseReferences<_$ExerciseDatabase, $MusclesTable, MuscleTable> - ), + (MuscleTable, BaseReferences<_$ExerciseDatabase, $MusclesTable, MuscleTable>), MuscleTable, PrefetchHooks Function()>; typedef $$EquipmentsTableCreateCompanionBuilder = EquipmentsCompanion Function({ @@ -1357,8 +1272,7 @@ typedef $$EquipmentsTableUpdateCompanionBuilder = EquipmentsCompanion Function({ Value rowid, }); -class $$EquipmentsTableFilterComposer - extends Composer<_$ExerciseDatabase, $EquipmentsTable> { +class $$EquipmentsTableFilterComposer extends Composer<_$ExerciseDatabase, $EquipmentsTable> { $$EquipmentsTableFilterComposer({ required super.$db, required super.$table, @@ -1366,17 +1280,14 @@ class $$EquipmentsTableFilterComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnFilters get id => $composableBuilder( - column: $table.id, builder: (column) => ColumnFilters(column)); + ColumnFilters get id => + $composableBuilder(column: $table.id, builder: (column) => ColumnFilters(column)); - ColumnWithTypeConverterFilters get data => - $composableBuilder( - column: $table.data, - builder: (column) => ColumnWithTypeConverterFilters(column)); + ColumnWithTypeConverterFilters get data => $composableBuilder( + column: $table.data, builder: (column) => ColumnWithTypeConverterFilters(column)); } -class $$EquipmentsTableOrderingComposer - extends Composer<_$ExerciseDatabase, $EquipmentsTable> { +class $$EquipmentsTableOrderingComposer extends Composer<_$ExerciseDatabase, $EquipmentsTable> { $$EquipmentsTableOrderingComposer({ required super.$db, required super.$table, @@ -1384,15 +1295,14 @@ class $$EquipmentsTableOrderingComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnOrderings get id => $composableBuilder( - column: $table.id, builder: (column) => ColumnOrderings(column)); + ColumnOrderings get id => + $composableBuilder(column: $table.id, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get data => $composableBuilder( - column: $table.data, builder: (column) => ColumnOrderings(column)); + ColumnOrderings get data => + $composableBuilder(column: $table.data, builder: (column) => ColumnOrderings(column)); } -class $$EquipmentsTableAnnotationComposer - extends Composer<_$ExerciseDatabase, $EquipmentsTable> { +class $$EquipmentsTableAnnotationComposer extends Composer<_$ExerciseDatabase, $EquipmentsTable> { $$EquipmentsTableAnnotationComposer({ required super.$db, required super.$table, @@ -1400,8 +1310,7 @@ class $$EquipmentsTableAnnotationComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - GeneratedColumn get id => - $composableBuilder(column: $table.id, builder: (column) => column); + GeneratedColumn get id => $composableBuilder(column: $table.id, builder: (column) => column); GeneratedColumnWithTypeConverter get data => $composableBuilder(column: $table.data, builder: (column) => column); @@ -1416,20 +1325,15 @@ class $$EquipmentsTableTableManager extends RootTableManager< $$EquipmentsTableAnnotationComposer, $$EquipmentsTableCreateCompanionBuilder, $$EquipmentsTableUpdateCompanionBuilder, - ( - EquipmentTable, - BaseReferences<_$ExerciseDatabase, $EquipmentsTable, EquipmentTable> - ), + (EquipmentTable, BaseReferences<_$ExerciseDatabase, $EquipmentsTable, EquipmentTable>), EquipmentTable, PrefetchHooks Function()> { $$EquipmentsTableTableManager(_$ExerciseDatabase db, $EquipmentsTable table) : super(TableManagerState( db: db, table: table, - createFilteringComposer: () => - $$EquipmentsTableFilterComposer($db: db, $table: table), - createOrderingComposer: () => - $$EquipmentsTableOrderingComposer($db: db, $table: table), + createFilteringComposer: () => $$EquipmentsTableFilterComposer($db: db, $table: table), + createOrderingComposer: () => $$EquipmentsTableOrderingComposer($db: db, $table: table), createComputedFieldComposer: () => $$EquipmentsTableAnnotationComposer($db: db, $table: table), updateCompanionCallback: ({ @@ -1452,9 +1356,8 @@ class $$EquipmentsTableTableManager extends RootTableManager< data: data, rowid: rowid, ), - withReferenceMapper: (p0) => p0 - .map((e) => (e.readTable(table), BaseReferences(db, table, e))) - .toList(), + withReferenceMapper: (p0) => + p0.map((e) => (e.readTable(table), BaseReferences(db, table, e))).toList(), prefetchHooksCallback: null, )); } @@ -1468,10 +1371,7 @@ typedef $$EquipmentsTableProcessedTableManager = ProcessedTableManager< $$EquipmentsTableAnnotationComposer, $$EquipmentsTableCreateCompanionBuilder, $$EquipmentsTableUpdateCompanionBuilder, - ( - EquipmentTable, - BaseReferences<_$ExerciseDatabase, $EquipmentsTable, EquipmentTable> - ), + (EquipmentTable, BaseReferences<_$ExerciseDatabase, $EquipmentsTable, EquipmentTable>), EquipmentTable, PrefetchHooks Function()>; typedef $$CategoriesTableCreateCompanionBuilder = CategoriesCompanion Function({ @@ -1485,8 +1385,7 @@ typedef $$CategoriesTableUpdateCompanionBuilder = CategoriesCompanion Function({ Value rowid, }); -class $$CategoriesTableFilterComposer - extends Composer<_$ExerciseDatabase, $CategoriesTable> { +class $$CategoriesTableFilterComposer extends Composer<_$ExerciseDatabase, $CategoriesTable> { $$CategoriesTableFilterComposer({ required super.$db, required super.$table, @@ -1494,17 +1393,15 @@ class $$CategoriesTableFilterComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnFilters get id => $composableBuilder( - column: $table.id, builder: (column) => ColumnFilters(column)); + ColumnFilters get id => + $composableBuilder(column: $table.id, builder: (column) => ColumnFilters(column)); - ColumnWithTypeConverterFilters - get data => $composableBuilder( - column: $table.data, - builder: (column) => ColumnWithTypeConverterFilters(column)); + ColumnWithTypeConverterFilters get data => + $composableBuilder( + column: $table.data, builder: (column) => ColumnWithTypeConverterFilters(column)); } -class $$CategoriesTableOrderingComposer - extends Composer<_$ExerciseDatabase, $CategoriesTable> { +class $$CategoriesTableOrderingComposer extends Composer<_$ExerciseDatabase, $CategoriesTable> { $$CategoriesTableOrderingComposer({ required super.$db, required super.$table, @@ -1512,15 +1409,14 @@ class $$CategoriesTableOrderingComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnOrderings get id => $composableBuilder( - column: $table.id, builder: (column) => ColumnOrderings(column)); + ColumnOrderings get id => + $composableBuilder(column: $table.id, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get data => $composableBuilder( - column: $table.data, builder: (column) => ColumnOrderings(column)); + ColumnOrderings get data => + $composableBuilder(column: $table.data, builder: (column) => ColumnOrderings(column)); } -class $$CategoriesTableAnnotationComposer - extends Composer<_$ExerciseDatabase, $CategoriesTable> { +class $$CategoriesTableAnnotationComposer extends Composer<_$ExerciseDatabase, $CategoriesTable> { $$CategoriesTableAnnotationComposer({ required super.$db, required super.$table, @@ -1528,8 +1424,7 @@ class $$CategoriesTableAnnotationComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - GeneratedColumn get id => - $composableBuilder(column: $table.id, builder: (column) => column); + GeneratedColumn get id => $composableBuilder(column: $table.id, builder: (column) => column); GeneratedColumnWithTypeConverter get data => $composableBuilder(column: $table.data, builder: (column) => column); @@ -1544,20 +1439,15 @@ class $$CategoriesTableTableManager extends RootTableManager< $$CategoriesTableAnnotationComposer, $$CategoriesTableCreateCompanionBuilder, $$CategoriesTableUpdateCompanionBuilder, - ( - CategoryTable, - BaseReferences<_$ExerciseDatabase, $CategoriesTable, CategoryTable> - ), + (CategoryTable, BaseReferences<_$ExerciseDatabase, $CategoriesTable, CategoryTable>), CategoryTable, PrefetchHooks Function()> { $$CategoriesTableTableManager(_$ExerciseDatabase db, $CategoriesTable table) : super(TableManagerState( db: db, table: table, - createFilteringComposer: () => - $$CategoriesTableFilterComposer($db: db, $table: table), - createOrderingComposer: () => - $$CategoriesTableOrderingComposer($db: db, $table: table), + createFilteringComposer: () => $$CategoriesTableFilterComposer($db: db, $table: table), + createOrderingComposer: () => $$CategoriesTableOrderingComposer($db: db, $table: table), createComputedFieldComposer: () => $$CategoriesTableAnnotationComposer($db: db, $table: table), updateCompanionCallback: ({ @@ -1580,9 +1470,8 @@ class $$CategoriesTableTableManager extends RootTableManager< data: data, rowid: rowid, ), - withReferenceMapper: (p0) => p0 - .map((e) => (e.readTable(table), BaseReferences(db, table, e))) - .toList(), + withReferenceMapper: (p0) => + p0.map((e) => (e.readTable(table), BaseReferences(db, table, e))).toList(), prefetchHooksCallback: null, )); } @@ -1596,10 +1485,7 @@ typedef $$CategoriesTableProcessedTableManager = ProcessedTableManager< $$CategoriesTableAnnotationComposer, $$CategoriesTableCreateCompanionBuilder, $$CategoriesTableUpdateCompanionBuilder, - ( - CategoryTable, - BaseReferences<_$ExerciseDatabase, $CategoriesTable, CategoryTable> - ), + (CategoryTable, BaseReferences<_$ExerciseDatabase, $CategoriesTable, CategoryTable>), CategoryTable, PrefetchHooks Function()>; typedef $$LanguagesTableCreateCompanionBuilder = LanguagesCompanion Function({ @@ -1613,8 +1499,7 @@ typedef $$LanguagesTableUpdateCompanionBuilder = LanguagesCompanion Function({ Value rowid, }); -class $$LanguagesTableFilterComposer - extends Composer<_$ExerciseDatabase, $LanguagesTable> { +class $$LanguagesTableFilterComposer extends Composer<_$ExerciseDatabase, $LanguagesTable> { $$LanguagesTableFilterComposer({ required super.$db, required super.$table, @@ -1622,17 +1507,14 @@ class $$LanguagesTableFilterComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnFilters get id => $composableBuilder( - column: $table.id, builder: (column) => ColumnFilters(column)); + ColumnFilters get id => + $composableBuilder(column: $table.id, builder: (column) => ColumnFilters(column)); - ColumnWithTypeConverterFilters get data => - $composableBuilder( - column: $table.data, - builder: (column) => ColumnWithTypeConverterFilters(column)); + ColumnWithTypeConverterFilters get data => $composableBuilder( + column: $table.data, builder: (column) => ColumnWithTypeConverterFilters(column)); } -class $$LanguagesTableOrderingComposer - extends Composer<_$ExerciseDatabase, $LanguagesTable> { +class $$LanguagesTableOrderingComposer extends Composer<_$ExerciseDatabase, $LanguagesTable> { $$LanguagesTableOrderingComposer({ required super.$db, required super.$table, @@ -1640,15 +1522,14 @@ class $$LanguagesTableOrderingComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnOrderings get id => $composableBuilder( - column: $table.id, builder: (column) => ColumnOrderings(column)); + ColumnOrderings get id => + $composableBuilder(column: $table.id, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get data => $composableBuilder( - column: $table.data, builder: (column) => ColumnOrderings(column)); + ColumnOrderings get data => + $composableBuilder(column: $table.data, builder: (column) => ColumnOrderings(column)); } -class $$LanguagesTableAnnotationComposer - extends Composer<_$ExerciseDatabase, $LanguagesTable> { +class $$LanguagesTableAnnotationComposer extends Composer<_$ExerciseDatabase, $LanguagesTable> { $$LanguagesTableAnnotationComposer({ required super.$db, required super.$table, @@ -1656,8 +1537,7 @@ class $$LanguagesTableAnnotationComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - GeneratedColumn get id => - $composableBuilder(column: $table.id, builder: (column) => column); + GeneratedColumn get id => $composableBuilder(column: $table.id, builder: (column) => column); GeneratedColumnWithTypeConverter get data => $composableBuilder(column: $table.data, builder: (column) => column); @@ -1672,20 +1552,15 @@ class $$LanguagesTableTableManager extends RootTableManager< $$LanguagesTableAnnotationComposer, $$LanguagesTableCreateCompanionBuilder, $$LanguagesTableUpdateCompanionBuilder, - ( - LanguagesTable, - BaseReferences<_$ExerciseDatabase, $LanguagesTable, LanguagesTable> - ), + (LanguagesTable, BaseReferences<_$ExerciseDatabase, $LanguagesTable, LanguagesTable>), LanguagesTable, PrefetchHooks Function()> { $$LanguagesTableTableManager(_$ExerciseDatabase db, $LanguagesTable table) : super(TableManagerState( db: db, table: table, - createFilteringComposer: () => - $$LanguagesTableFilterComposer($db: db, $table: table), - createOrderingComposer: () => - $$LanguagesTableOrderingComposer($db: db, $table: table), + createFilteringComposer: () => $$LanguagesTableFilterComposer($db: db, $table: table), + createOrderingComposer: () => $$LanguagesTableOrderingComposer($db: db, $table: table), createComputedFieldComposer: () => $$LanguagesTableAnnotationComposer($db: db, $table: table), updateCompanionCallback: ({ @@ -1708,9 +1583,8 @@ class $$LanguagesTableTableManager extends RootTableManager< data: data, rowid: rowid, ), - withReferenceMapper: (p0) => p0 - .map((e) => (e.readTable(table), BaseReferences(db, table, e))) - .toList(), + withReferenceMapper: (p0) => + p0.map((e) => (e.readTable(table), BaseReferences(db, table, e))).toList(), prefetchHooksCallback: null, )); } @@ -1724,24 +1598,18 @@ typedef $$LanguagesTableProcessedTableManager = ProcessedTableManager< $$LanguagesTableAnnotationComposer, $$LanguagesTableCreateCompanionBuilder, $$LanguagesTableUpdateCompanionBuilder, - ( - LanguagesTable, - BaseReferences<_$ExerciseDatabase, $LanguagesTable, LanguagesTable> - ), + (LanguagesTable, BaseReferences<_$ExerciseDatabase, $LanguagesTable, LanguagesTable>), LanguagesTable, PrefetchHooks Function()>; class $ExerciseDatabaseManager { final _$ExerciseDatabase _db; $ExerciseDatabaseManager(this._db); - $$ExercisesTableTableManager get exercises => - $$ExercisesTableTableManager(_db, _db.exercises); - $$MusclesTableTableManager get muscles => - $$MusclesTableTableManager(_db, _db.muscles); + $$ExercisesTableTableManager get exercises => $$ExercisesTableTableManager(_db, _db.exercises); + $$MusclesTableTableManager get muscles => $$MusclesTableTableManager(_db, _db.muscles); $$EquipmentsTableTableManager get equipments => $$EquipmentsTableTableManager(_db, _db.equipments); $$CategoriesTableTableManager get categories => $$CategoriesTableTableManager(_db, _db.categories); - $$LanguagesTableTableManager get languages => - $$LanguagesTableTableManager(_db, _db.languages); + $$LanguagesTableTableManager get languages => $$LanguagesTableTableManager(_db, _db.languages); } diff --git a/lib/database/ingredients/ingredients_database.g.dart b/lib/database/ingredients/ingredients_database.g.dart index 4723b653..63633c83 100644 --- a/lib/database/ingredients/ingredients_database.g.dart +++ b/lib/database/ingredients/ingredients_database.g.dart @@ -3,24 +3,20 @@ part of 'ingredients_database.dart'; // ignore_for_file: type=lint -class $IngredientsTable extends Ingredients - with TableInfo<$IngredientsTable, IngredientTable> { +class $IngredientsTable extends Ingredients with TableInfo<$IngredientsTable, IngredientTable> { @override final GeneratedDatabase attachedDatabase; final String? _alias; $IngredientsTable(this.attachedDatabase, [this._alias]); static const VerificationMeta _idMeta = const VerificationMeta('id'); @override - late final GeneratedColumn id = GeneratedColumn( - 'id', aliasedName, false, + late final GeneratedColumn id = GeneratedColumn('id', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true); static const VerificationMeta _dataMeta = const VerificationMeta('data'); @override - late final GeneratedColumn data = GeneratedColumn( - 'data', aliasedName, false, + late final GeneratedColumn data = GeneratedColumn('data', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true); - static const VerificationMeta _lastFetchedMeta = - const VerificationMeta('lastFetched'); + static const VerificationMeta _lastFetchedMeta = const VerificationMeta('lastFetched'); @override late final GeneratedColumn lastFetched = GeneratedColumn( 'last_fetched', aliasedName, false, @@ -43,16 +39,13 @@ class $IngredientsTable extends Ingredients context.missing(_idMeta); } if (data.containsKey('data')) { - context.handle( - _dataMeta, this.data.isAcceptableOrUnknown(data['data']!, _dataMeta)); + context.handle(_dataMeta, this.data.isAcceptableOrUnknown(data['data']!, _dataMeta)); } else if (isInserting) { context.missing(_dataMeta); } if (data.containsKey('last_fetched')) { - context.handle( - _lastFetchedMeta, - lastFetched.isAcceptableOrUnknown( - data['last_fetched']!, _lastFetchedMeta)); + context.handle(_lastFetchedMeta, + lastFetched.isAcceptableOrUnknown(data['last_fetched']!, _lastFetchedMeta)); } else if (isInserting) { context.missing(_lastFetchedMeta); } @@ -65,10 +58,8 @@ class $IngredientsTable extends Ingredients IngredientTable map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return IngredientTable( - id: attachedDatabase.typeMapping - .read(DriftSqlType.int, data['${effectivePrefix}id'])!, - data: attachedDatabase.typeMapping - .read(DriftSqlType.string, data['${effectivePrefix}data'])!, + id: attachedDatabase.typeMapping.read(DriftSqlType.int, data['${effectivePrefix}id'])!, + data: attachedDatabase.typeMapping.read(DriftSqlType.string, data['${effectivePrefix}data'])!, lastFetched: attachedDatabase.typeMapping .read(DriftSqlType.dateTime, data['${effectivePrefix}last_fetched'])!, ); @@ -86,8 +77,7 @@ class IngredientTable extends DataClass implements Insertable { /// The date when the ingredient was last fetched from the server final DateTime lastFetched; - const IngredientTable( - {required this.id, required this.data, required this.lastFetched}); + const IngredientTable({required this.id, required this.data, required this.lastFetched}); @override Map toColumns(bool nullToAbsent) { final map = {}; @@ -105,8 +95,7 @@ class IngredientTable extends DataClass implements Insertable { ); } - factory IngredientTable.fromJson(Map json, - {ValueSerializer? serializer}) { + factory IngredientTable.fromJson(Map json, {ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return IngredientTable( id: serializer.fromJson(json['id']), @@ -124,8 +113,7 @@ class IngredientTable extends DataClass implements Insertable { }; } - IngredientTable copyWith({int? id, String? data, DateTime? lastFetched}) => - IngredientTable( + IngredientTable copyWith({int? id, String? data, DateTime? lastFetched}) => IngredientTable( id: id ?? this.id, data: data ?? this.data, lastFetched: lastFetched ?? this.lastFetched, @@ -134,8 +122,7 @@ class IngredientTable extends DataClass implements Insertable { return IngredientTable( id: data.id.present ? data.id.value : this.id, data: data.data.present ? data.data.value : this.data, - lastFetched: - data.lastFetched.present ? data.lastFetched.value : this.lastFetched, + lastFetched: data.lastFetched.present ? data.lastFetched.value : this.lastFetched, ); } @@ -194,10 +181,7 @@ class IngredientsCompanion extends UpdateCompanion { } IngredientsCompanion copyWith( - {Value? id, - Value? data, - Value? lastFetched, - Value? rowid}) { + {Value? id, Value? data, Value? lastFetched, Value? rowid}) { return IngredientsCompanion( id: id ?? this.id, data: data ?? this.data, @@ -247,23 +231,20 @@ abstract class _$IngredientDatabase extends GeneratedDatabase { List get allSchemaEntities => [ingredients]; } -typedef $$IngredientsTableCreateCompanionBuilder = IngredientsCompanion - Function({ +typedef $$IngredientsTableCreateCompanionBuilder = IngredientsCompanion Function({ required int id, required String data, required DateTime lastFetched, Value rowid, }); -typedef $$IngredientsTableUpdateCompanionBuilder = IngredientsCompanion - Function({ +typedef $$IngredientsTableUpdateCompanionBuilder = IngredientsCompanion Function({ Value id, Value data, Value lastFetched, Value rowid, }); -class $$IngredientsTableFilterComposer - extends Composer<_$IngredientDatabase, $IngredientsTable> { +class $$IngredientsTableFilterComposer extends Composer<_$IngredientDatabase, $IngredientsTable> { $$IngredientsTableFilterComposer({ required super.$db, required super.$table, @@ -271,18 +252,17 @@ class $$IngredientsTableFilterComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnFilters get id => $composableBuilder( - column: $table.id, builder: (column) => ColumnFilters(column)); + ColumnFilters get id => + $composableBuilder(column: $table.id, builder: (column) => ColumnFilters(column)); - ColumnFilters get data => $composableBuilder( - column: $table.data, builder: (column) => ColumnFilters(column)); + ColumnFilters get data => + $composableBuilder(column: $table.data, builder: (column) => ColumnFilters(column)); - ColumnFilters get lastFetched => $composableBuilder( - column: $table.lastFetched, builder: (column) => ColumnFilters(column)); + ColumnFilters get lastFetched => + $composableBuilder(column: $table.lastFetched, builder: (column) => ColumnFilters(column)); } -class $$IngredientsTableOrderingComposer - extends Composer<_$IngredientDatabase, $IngredientsTable> { +class $$IngredientsTableOrderingComposer extends Composer<_$IngredientDatabase, $IngredientsTable> { $$IngredientsTableOrderingComposer({ required super.$db, required super.$table, @@ -290,14 +270,14 @@ class $$IngredientsTableOrderingComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - ColumnOrderings get id => $composableBuilder( - column: $table.id, builder: (column) => ColumnOrderings(column)); + ColumnOrderings get id => + $composableBuilder(column: $table.id, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get data => $composableBuilder( - column: $table.data, builder: (column) => ColumnOrderings(column)); + ColumnOrderings get data => + $composableBuilder(column: $table.data, builder: (column) => ColumnOrderings(column)); - ColumnOrderings get lastFetched => $composableBuilder( - column: $table.lastFetched, builder: (column) => ColumnOrderings(column)); + ColumnOrderings get lastFetched => + $composableBuilder(column: $table.lastFetched, builder: (column) => ColumnOrderings(column)); } class $$IngredientsTableAnnotationComposer @@ -309,14 +289,13 @@ class $$IngredientsTableAnnotationComposer super.$addJoinBuilderToRootComposer, super.$removeJoinBuilderFromRootComposer, }); - GeneratedColumn get id => - $composableBuilder(column: $table.id, builder: (column) => column); + GeneratedColumn get id => $composableBuilder(column: $table.id, builder: (column) => column); GeneratedColumn get data => $composableBuilder(column: $table.data, builder: (column) => column); - GeneratedColumn get lastFetched => $composableBuilder( - column: $table.lastFetched, builder: (column) => column); + GeneratedColumn get lastFetched => + $composableBuilder(column: $table.lastFetched, builder: (column) => column); } class $$IngredientsTableTableManager extends RootTableManager< @@ -328,21 +307,15 @@ class $$IngredientsTableTableManager extends RootTableManager< $$IngredientsTableAnnotationComposer, $$IngredientsTableCreateCompanionBuilder, $$IngredientsTableUpdateCompanionBuilder, - ( - IngredientTable, - BaseReferences<_$IngredientDatabase, $IngredientsTable, IngredientTable> - ), + (IngredientTable, BaseReferences<_$IngredientDatabase, $IngredientsTable, IngredientTable>), IngredientTable, PrefetchHooks Function()> { - $$IngredientsTableTableManager( - _$IngredientDatabase db, $IngredientsTable table) + $$IngredientsTableTableManager(_$IngredientDatabase db, $IngredientsTable table) : super(TableManagerState( db: db, table: table, - createFilteringComposer: () => - $$IngredientsTableFilterComposer($db: db, $table: table), - createOrderingComposer: () => - $$IngredientsTableOrderingComposer($db: db, $table: table), + createFilteringComposer: () => $$IngredientsTableFilterComposer($db: db, $table: table), + createOrderingComposer: () => $$IngredientsTableOrderingComposer($db: db, $table: table), createComputedFieldComposer: () => $$IngredientsTableAnnotationComposer($db: db, $table: table), updateCompanionCallback: ({ @@ -369,9 +342,8 @@ class $$IngredientsTableTableManager extends RootTableManager< lastFetched: lastFetched, rowid: rowid, ), - withReferenceMapper: (p0) => p0 - .map((e) => (e.readTable(table), BaseReferences(db, table, e))) - .toList(), + withReferenceMapper: (p0) => + p0.map((e) => (e.readTable(table), BaseReferences(db, table, e))).toList(), prefetchHooksCallback: null, )); } @@ -385,10 +357,7 @@ typedef $$IngredientsTableProcessedTableManager = ProcessedTableManager< $$IngredientsTableAnnotationComposer, $$IngredientsTableCreateCompanionBuilder, $$IngredientsTableUpdateCompanionBuilder, - ( - IngredientTable, - BaseReferences<_$IngredientDatabase, $IngredientsTable, IngredientTable> - ), + (IngredientTable, BaseReferences<_$IngredientDatabase, $IngredientsTable, IngredientTable>), IngredientTable, PrefetchHooks Function()>; diff --git a/lib/helpers/consts.dart b/lib/helpers/consts.dart index 562c4a33..919112cd 100644 --- a/lib/helpers/consts.dart +++ b/lib/helpers/consts.dart @@ -62,6 +62,7 @@ const PREFS_LAST_UPDATED_LANGUAGES = 'lastUpdatedLanguages'; const PREFS_INGREDIENTS = 'ingredientData'; const PREFS_WORKOUT_UNITS = 'workoutUnits'; const PREFS_USER = 'userData'; +const PREFS_USER_DARK_THEME = 'userDarkMode'; const PREFS_LAST_SERVER = 'lastServer'; const DEFAULT_ANIMATION_DURATION = Duration(milliseconds: 200); diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index c8ad0685..4ea1e223 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -913,8 +913,8 @@ "@indicatorAvg": { "description": "added for localization of Class Indicator's field text" }, - "darkMode": "Dark Mode", - "@darkMode": { - "description": "added for localization for field text" - } + "themeMode": "Theme mode", + "darkMode": "Always dark mode", + "lightMode": "Always light mode", + "systemMode": "System settings" } diff --git a/lib/main.dart b/lib/main.dart index 4334df32..c331f46a 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -134,46 +134,48 @@ class MyApp extends StatelessWidget { ), ], child: Consumer( - builder: (ctx, auth, _) => MaterialApp( - title: 'wger', - theme: wgerLightTheme, - darkTheme: wgerDarkTheme, - highContrastTheme: wgerLightThemeHc, - highContrastDarkTheme: wgerDarkThemeHc, - themeMode: auth.themeMode, ///ThemeMode.system, - home: auth.isAuth - ? const HomeTabsScreen() - : FutureBuilder( - future: auth.tryAutoLogin(), - builder: (ctx, authResultSnapshot) => - authResultSnapshot.connectionState == ConnectionState.waiting - ? const SplashScreen() - : const AuthScreen(), - ), - routes: { - DashboardScreen.routeName: (ctx) => const DashboardScreen(), - FormScreen.routeName: (ctx) => const FormScreen(), - GalleryScreen.routeName: (ctx) => const GalleryScreen(), - GymModeScreen.routeName: (ctx) => const GymModeScreen(), - HomeTabsScreen.routeName: (ctx) => const HomeTabsScreen(), - MeasurementCategoriesScreen.routeName: (ctx) => const MeasurementCategoriesScreen(), - MeasurementEntriesScreen.routeName: (ctx) => const MeasurementEntriesScreen(), - NutritionalPlansScreen.routeName: (ctx) => const NutritionalPlansScreen(), - NutritionalDiaryScreen.routeName: (ctx) => const NutritionalDiaryScreen(), - NutritionalPlanScreen.routeName: (ctx) => const NutritionalPlanScreen(), - LogMealsScreen.routeName: (ctx) => const LogMealsScreen(), - LogMealScreen.routeName: (ctx) => const LogMealScreen(), - WeightScreen.routeName: (ctx) => const WeightScreen(), - WorkoutPlanScreen.routeName: (ctx) => const WorkoutPlanScreen(), - WorkoutPlansScreen.routeName: (ctx) => const WorkoutPlansScreen(), - ExercisesScreen.routeName: (ctx) => const ExercisesScreen(), - ExerciseDetailScreen.routeName: (ctx) => const ExerciseDetailScreen(), - AddExerciseScreen.routeName: (ctx) => const AddExerciseScreen(), - AboutPage.routeName: (ctx) => const AboutPage(), - SettingsPage.routeName: (ctx) => const SettingsPage(), - }, - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, + builder: (ctx, auth, _) => Consumer( + builder: (ctx, user, _) => MaterialApp( + title: 'wger', + theme: wgerLightTheme, + darkTheme: wgerDarkTheme, + highContrastTheme: wgerLightThemeHc, + highContrastDarkTheme: wgerDarkThemeHc, + themeMode: user.themeMode, + home: auth.isAuth + ? const HomeTabsScreen() + : FutureBuilder( + future: auth.tryAutoLogin(), + builder: (ctx, authResultSnapshot) => + authResultSnapshot.connectionState == ConnectionState.waiting + ? const SplashScreen() + : const AuthScreen(), + ), + routes: { + DashboardScreen.routeName: (ctx) => const DashboardScreen(), + FormScreen.routeName: (ctx) => const FormScreen(), + GalleryScreen.routeName: (ctx) => const GalleryScreen(), + GymModeScreen.routeName: (ctx) => const GymModeScreen(), + HomeTabsScreen.routeName: (ctx) => const HomeTabsScreen(), + MeasurementCategoriesScreen.routeName: (ctx) => const MeasurementCategoriesScreen(), + MeasurementEntriesScreen.routeName: (ctx) => const MeasurementEntriesScreen(), + NutritionalPlansScreen.routeName: (ctx) => const NutritionalPlansScreen(), + NutritionalDiaryScreen.routeName: (ctx) => const NutritionalDiaryScreen(), + NutritionalPlanScreen.routeName: (ctx) => const NutritionalPlanScreen(), + LogMealsScreen.routeName: (ctx) => const LogMealsScreen(), + LogMealScreen.routeName: (ctx) => const LogMealScreen(), + WeightScreen.routeName: (ctx) => const WeightScreen(), + WorkoutPlanScreen.routeName: (ctx) => const WorkoutPlanScreen(), + WorkoutPlansScreen.routeName: (ctx) => const WorkoutPlansScreen(), + ExercisesScreen.routeName: (ctx) => const ExercisesScreen(), + ExerciseDetailScreen.routeName: (ctx) => const ExerciseDetailScreen(), + AddExerciseScreen.routeName: (ctx) => const AddExerciseScreen(), + AboutPage.routeName: (ctx) => const AboutPage(), + SettingsPage.routeName: (ctx) => const SettingsPage(), + }, + localizationsDelegates: AppLocalizations.localizationsDelegates, + supportedLocales: AppLocalizations.supportedLocales, + ), ), ), ); diff --git a/lib/models/body_weight/weight_entry.g.dart b/lib/models/body_weight/weight_entry.g.dart index e4ebbbdc..4120aaac 100644 --- a/lib/models/body_weight/weight_entry.g.dart +++ b/lib/models/body_weight/weight_entry.g.dart @@ -18,8 +18,7 @@ WeightEntry _$WeightEntryFromJson(Map json) { ); } -Map _$WeightEntryToJson(WeightEntry instance) => - { +Map _$WeightEntryToJson(WeightEntry instance) => { 'id': instance.id, 'weight': numToString(instance.weight), 'date': toDate(instance.date), diff --git a/lib/models/exercises/category.g.dart b/lib/models/exercises/category.g.dart index 911e6db1..098a0489 100644 --- a/lib/models/exercises/category.g.dart +++ b/lib/models/exercises/category.g.dart @@ -17,8 +17,7 @@ ExerciseCategory _$ExerciseCategoryFromJson(Map json) { ); } -Map _$ExerciseCategoryToJson(ExerciseCategory instance) => - { +Map _$ExerciseCategoryToJson(ExerciseCategory instance) => { 'id': instance.id, 'name': instance.name, }; diff --git a/lib/models/exercises/exercise.g.dart b/lib/models/exercises/exercise.g.dart index 0b985ab2..5c9fcd4a 100644 --- a/lib/models/exercises/exercise.g.dart +++ b/lib/models/exercises/exercise.g.dart @@ -25,12 +25,8 @@ Exercise _$ExerciseFromJson(Map json) { return Exercise( id: (json['id'] as num?)?.toInt(), uuid: json['uuid'] as String?, - created: json['created'] == null - ? null - : DateTime.parse(json['created'] as String), - lastUpdate: json['last_update'] == null - ? null - : DateTime.parse(json['last_update'] as String), + created: json['created'] == null ? null : DateTime.parse(json['created'] as String), + lastUpdate: json['last_update'] == null ? null : DateTime.parse(json['last_update'] as String), lastUpdateGlobal: json['last_update_global'] == null ? null : DateTime.parse(json['last_update_global'] as String), @@ -43,15 +39,10 @@ Exercise _$ExerciseFromJson(Map json) { : ExerciseCategory.fromJson(json['categories'] as Map), ) ..categoryId = (json['category'] as num).toInt() - ..musclesIds = (json['muscles'] as List) - .map((e) => (e as num).toInt()) - .toList() - ..musclesSecondaryIds = (json['muscles_secondary'] as List) - .map((e) => (e as num).toInt()) - .toList() - ..equipmentIds = (json['equipment'] as List) - .map((e) => (e as num).toInt()) - .toList(); + ..musclesIds = (json['muscles'] as List).map((e) => (e as num).toInt()).toList() + ..musclesSecondaryIds = + (json['muscles_secondary'] as List).map((e) => (e as num).toInt()).toList() + ..equipmentIds = (json['equipment'] as List).map((e) => (e as num).toInt()).toList(); } Map _$ExerciseToJson(Exercise instance) => { @@ -65,7 +56,6 @@ Map _$ExerciseToJson(Exercise instance) => { 'categories': instance.category?.toJson(), 'muscles': instance.musclesIds, 'muscles_secondary': instance.musclesSecondaryIds, - 'musclesSecondary': - instance.musclesSecondary.map((e) => e.toJson()).toList(), + 'musclesSecondary': instance.musclesSecondary.map((e) => e.toJson()).toList(), 'equipment': instance.equipmentIds, }; diff --git a/lib/models/exercises/exercise_api.freezed.dart b/lib/models/exercises/exercise_api.freezed.dart index 7d3c3129..35787a1f 100644 --- a/lib/models/exercises/exercise_api.freezed.dart +++ b/lib/models/exercises/exercise_api.freezed.dart @@ -21,14 +21,11 @@ ExerciseApiData _$ExerciseApiDataFromJson(Map json) { /// @nodoc mixin _$ExerciseApiData { int get id => throw _privateConstructorUsedError; - String get uuid => - throw _privateConstructorUsedError; // ignore: invalid_annotation_target + String get uuid => throw _privateConstructorUsedError; // ignore: invalid_annotation_target @JsonKey(name: 'variations') - int? get variationId => - throw _privateConstructorUsedError; // ignore: invalid_annotation_target + int? get variationId => throw _privateConstructorUsedError; // ignore: invalid_annotation_target @JsonKey(name: 'created') - DateTime get created => - throw _privateConstructorUsedError; // ignore: invalid_annotation_target + DateTime get created => throw _privateConstructorUsedError; // ignore: invalid_annotation_target @JsonKey(name: 'last_update') DateTime get lastUpdate => throw _privateConstructorUsedError; // ignore: invalid_annotation_target @@ -45,8 +42,7 @@ mixin _$ExerciseApiData { @JsonKey(name: 'exercises') List get translations => throw _privateConstructorUsedError; List get images => throw _privateConstructorUsedError; - List