Commit Graph

490 Commits

Author SHA1 Message Date
Roland Geider
54b40696da Postmerge fixes 2025-10-19 15:23:17 +02:00
Roland Geider
98f2fb0096 Merge branch 'master' into powersync
# Conflicts:
#	Gemfile.lock
#	android/settings.gradle
#	fastlane/report.xml
#	integration_test/1_dashboard.dart
#	integration_test/2_workout.dart
#	integration_test/3_gym_mode.dart
#	integration_test/5_nutritional_plan.dart
#	integration_test/6_weight.dart
#	lib/helpers/i18n.dart
#	lib/helpers/ui.dart
#	lib/main.dart
#	lib/models/nutrition/meal.g.dart
#	lib/models/nutrition/nutritional_plan.dart
#	lib/providers/auth.dart
#	lib/providers/nutrition.dart
#	lib/screens/add_exercise_screen.dart
#	lib/screens/auth_screen.dart
#	lib/screens/dashboard.dart
#	lib/screens/exercises_screen.dart
#	lib/screens/home_tabs_screen.dart
#	lib/screens/log_meal_screen.dart
#	lib/screens/log_meals_screen.dart
#	lib/screens/nutritional_plan_screen.dart
#	lib/screens/routine_list_screen.dart
#	lib/screens/workout_plan_screen.dart
#	lib/widgets/add_exercise/steps/step1basics.dart
#	lib/widgets/add_exercise/steps/step5images.dart
#	lib/widgets/add_exercise/steps/step_2_variations.dart
#	lib/widgets/add_exercise/steps/step_3_description.dart
#	lib/widgets/add_exercise/steps/step_4_translations.dart
#	lib/widgets/core/about.dart
#	lib/widgets/core/settings.dart
#	lib/widgets/dashboard/calendar.dart
#	lib/widgets/dashboard/widgets.dart
#	lib/widgets/exercises/exercises.dart
#	lib/widgets/gallery/overview.dart
#	lib/widgets/measurements/categories_card.dart
#	lib/widgets/measurements/charts.dart
#	lib/widgets/measurements/entries.dart
#	lib/widgets/measurements/forms.dart
#	lib/widgets/measurements/helpers.dart
#	lib/widgets/nutrition/charts.dart
#	lib/widgets/nutrition/forms.dart
#	lib/widgets/nutrition/helpers.dart
#	lib/widgets/nutrition/meal.dart
#	lib/widgets/nutrition/nutritional_diary_table.dart
#	lib/widgets/nutrition/nutritional_plan_detail.dart
#	lib/widgets/nutrition/nutritional_plans_list.dart
#	lib/widgets/nutrition/widgets.dart
#	lib/widgets/routines/charts.dart
#	lib/widgets/routines/workout_logs.dart
#	lib/widgets/weight/forms.dart
#	lib/widgets/weight/weight_overview.dart
#	lib/widgets/workouts/app_bar.dart
#	lib/widgets/workouts/day.dart
#	lib/widgets/workouts/forms.dart
#	lib/widgets/workouts/gym_mode.dart
#	lib/widgets/workouts/workout_plan_detail.dart
#	lib/widgets/workouts/workout_plans_list.dart
#	linux/flutter/generated_plugin_registrant.cc
#	linux/flutter/generated_plugins.cmake
#	pubspec.lock
#	pubspec.yaml
#	test/auth/auth_screen_test.dart
#	test/core/settings_test.dart
#	test/core/settings_test.mocks.dart
#	test/nutrition/nutritional_meal_form_test.mocks.dart
#	test/nutrition/nutritional_meal_item_form_test.dart
#	test/nutrition/nutritional_plan_form_test.mocks.dart
#	test/nutrition/nutritional_plan_screen_test.dart
#	test/nutrition/nutritional_plans_screen_test.dart
#	test/routine/repetition_unit_form_widget_test.dart
#	test/routine/routine_screen_test.dart
#	test/routine/routines_screen_test.dart
#	test/routine/weight_unit_form_widget_test.dart
#	test/workout/gym_mode_screen_test.dart
#	test/workout/workout_day_form_test.dart
#	test/workout/workout_form_test.dart
#	test/workout/workout_set_form_test.dart
2025-10-19 14:48:15 +02:00
Roland Geider
93a11a16e4 Recreate generated files and reformat the repo
Seems the default dart formatting rules changed recently, and this was causing
huge diffs in branches
2025-10-09 17:39:02 +02:00
Roland Geider
4b9afa5c98 Actually send the correct image fields to the server 2025-10-08 14:34:23 +02:00
Roland Geider
c63057fe35 Reuse AddExerciseTextArea in the image form 2025-10-08 14:05:50 +02:00
Roland Geider
1a78011a7d Refactor image handling in the exercise submission process
Now the images are kept in a single list, instead of having two for
the files themselves and the metadata.
2025-10-08 12:45:37 +02:00
Roland Geider
136d0e0825 Extract some logic to their own widgets 2025-10-06 12:43:05 +02:00
Roland Geider
fa7f670e9f Some light cleanup 2025-10-06 12:31:12 +02:00
Branislav Nohaj
6f5777fbcb Simplify image upload and improve logging
Remove unnecessary response validation, replace print statements
with proper Logger module, and clean up debug output.
2025-10-04 16:13:22 +02:00
Branislav Nohaj
7bc8463406 dar format was performed 2025-10-04 11:13:10 +02:00
Branislav Nohaj
ed8e9ec744 Added option in mobile app to add more info about image 2025-10-04 10:22:01 +02:00
Roland Geider
a10b7eb9f7 Pass parameter to create new variation and link exercises 2025-09-28 15:03:28 +02:00
Roland Geider
960abc9bec Merge branch 'master' into feature/exercise-submission 2025-09-28 14:38:22 +02:00
Roland Geider
530efd366e Some renaming 2025-09-24 12:31:28 +02:00
Roland Geider
84c29eb209 Use the regular ingredient endpoint, instead of the special search one 2025-09-24 01:35:03 +02:00
Roland Geider
a7ee4ff5b3 Merge pull request #855 from wger-project/nutrition-plan-stats
Nutrition plan stats
2025-09-22 16:19:04 +02:00
Roland Geider
ba34570a3d Add image upload methods
We use the "manual" way as it was before, since there were some problems
making this work and most of the errors were happening during the exercise
creation itself.
2025-09-19 22:27:04 +02:00
Roland Geider
9ea8362d20 Show an overview with the new exercise data before saving
Also, correctly parse all validation errors that might be returned by the server
2025-09-19 16:59:18 +02:00
Roland Geider
711d7c0aba Update exercise submission model and related files
This now uses the combined endpoint, which creates the different objects
itself within a transaction, ensuring that no orphans can be created.
2025-09-18 21:57:27 +02:00
Roland Geider
798406eaa9 Make routineId nullable in session and related files
Sessions can be added ad-hoc, without needing to be part of any specific
routine.
2025-09-16 14:47:47 +02:00
Roland Geider
9b3957fe35 Use "clock" for mocking dates and datetimes
This should make the tests a bit more robust, specially in CI since these
tended to fail depending on how long and when the tests run. Also, rework
a bit the way the start and end dates in sessions were being handled and
initialised
2025-09-16 14:45:16 +02:00
Roland Geider
6cc96310c5 Simplify currentPlan 2025-09-12 14:37:32 +02:00
Roland Geider
0fd2af030d Merge branch 'refs/heads/master' into nutrition-plan-stats 2025-09-12 14:05:38 +02:00
Roland Geider
48d314f2a0 Use bigger pagination sizes when loading workout sessions 2025-09-07 15:26:08 +02:00
Roland Geider
d85ee13ed9 Give users more control over the exercise cache
This allows users to manually refresh the cache and load all exercises
from the server.
2025-09-06 15:05:52 +02:00
Roland Geider
c89ccb630c Use max pagination size when loading data
This is a workaround for #867, but not a real solution
2025-09-06 00:50:00 +02:00
Roland Geider
4330e51f86 Retrieve the current routine dynamically
This behaviour is now the same as the nutritional plans.
2025-09-05 22:47:27 +02:00
Roland Geider
ac043baa68 Merge branch 'master' into nutrition-plan-stats
# Conflicts:
#	lib/models/nutrition/nutritional_plan.g.dart
#	lib/widgets/measurements/charts.dart
#	lib/widgets/measurements/entries.dart
#	lib/widgets/weight/weight_overview.dart
2025-09-03 15:25:17 +02:00
Roland Geider
92295c54b8 Merge branch 'master' into fix/timezone-problems 2025-08-28 22:19:31 +02:00
Roland Geider
a853e45107 Optimize fetching exercises from the server
This might be the reason behind wger-project/wger#2028 since depending on the routine
the server could get hammered with requests and one (or other unrelated ones) fail.
Even if this is not the case, being a bit more reserved here is still a good idea.
2025-08-27 18:52:54 +02:00
Roland Geider
ec57388ed9 Make database final 2025-08-27 17:04:08 +02:00
Roland Geider
c4aff2f1cf Use correct API endpoint... 2025-08-25 19:55:26 +02:00
Dieter Plaetinck
29f6c87122 show charts for all nutritional plans + more elegant filtering 2025-06-28 18:36:30 +02:00
Dieter Plaetinck
a0e2659e60 dart format --line-length=100 . 2025-06-27 23:37:56 +02:00
Dieter Plaetinck
d1cfce7526 adjust older code for 'current plan' and showing weight during plan 2025-06-27 22:44:49 +02:00
Roland Geider
8ae889a1ea Improve decimal input handling
We now use TextInputType.numberWithOptions(decimal: true) which seems to have
a more consistent behaviour under android and iOS. Also, we now use NumberFormat
to parse the inputs according to the user's locale.
2025-06-27 13:24:53 +02:00
Roland Geider
4bcc268896 Add bar weight and color options to the plate calculator provider 2025-05-27 16:56:12 +02:00
Roland Geider
70fba34f0c Better handling of time zones
We now send the current time zone to the server when serializing datetime objects.
This was causing entries to be saved some hours wrong or depending on the time, on
a different day.
2025-05-26 11:13:53 +02:00
Roland Geider
cce0b94edc Cleanup 2025-05-23 18:44:29 +02:00
Roland Geider
f5decaf6a5 Add some tests 2025-05-23 18:08:19 +02:00
Roland Geider
0d36fe4bc3 Polish the add plate widget 2025-05-23 17:41:08 +02:00
Roland Geider
5a8df8936e Move provider to riverpod 2025-05-23 11:52:46 +02:00
Roland Geider
ac13381bcf Some refactoring 2025-05-23 11:06:37 +02:00
Roland Geider
9934209b7c Merge branch 'master' into fork/AyushJagaty/plate-46-calc
# Conflicts:
#	AUTHORS.md
#	ios/Podfile.lock
#	lib/main.dart
#	lib/providers/user.dart
#	lib/widgets/workouts/gym_mode.dart
#	test/nutrition/goldens/nutritional_plan_1_default_view.png
#	test/nutrition/goldens/nutritional_plan_2_one_meal_with_ingredients.png
#	test/nutrition/goldens/nutritional_plan_3_both_meals_with_ingredients.png
#	test/routine/gym_mode_screen_test.dart
2025-05-22 15:27:39 +02:00
Roland Geider
0fd2154a20 Merge pull request #815 from Shininess8816/mealDateTime
Allow the logging on meals with date times #789
2025-05-16 18:35:02 +02:00
Roland Geider
0d49030c60 Merge branch 'master' into fork/eyJhb/api-token
# Conflicts:
#	lib/screens/auth_screen.dart
#	test/nutrition/nutritional_plan_screen_test.mocks.dart
#	test/nutrition/nutritional_plans_screen_test.mocks.dart
#	test/workout/day_form_test.mocks.dart
#	test/workout/gym_mode_session_screen_test.mocks.dart
#	test/workout/repetition_unit_form_widget_test.mocks.dart
#	test/workout/routine_edit_screen_test.mocks.dart
#	test/workout/routine_edit_test.mocks.dart
#	test/workout/routine_form_test.mocks.dart
#	test/workout/routine_logs_screen_test.mocks.dart
#	test/workout/slot_entry_form_test.mocks.dart
#	test/workout/weight_unit_form_widget_test.mocks.dart
2025-05-11 18:04:09 +02:00
Roland Geider
0863b44fe6 Merge branch 'master' into feature/better-error-handling
# Conflicts:
#	lib/screens/home_tabs_screen.dart
#	test/workout/day_form_test.mocks.dart
#	test/workout/gym_mode_session_screen_test.mocks.dart
#	test/workout/repetition_unit_form_widget_test.mocks.dart
#	test/workout/routine_edit_screen_test.mocks.dart
#	test/workout/routine_edit_test.mocks.dart
#	test/workout/routine_form_test.mocks.dart
#	test/workout/routine_logs_screen_test.mocks.dart
#	test/workout/slot_entry_form_test.mocks.dart
#	test/workout/weight_unit_form_widget_test.mocks.dart
2025-05-09 14:11:17 +02:00
burny0202
0942739200 Allow the logging on meals with date times #789 2025-05-08 21:43:07 +01:00
Roland Geider
5e22d69bb1 Improve error handling and logging
Now we process and catch all errors that might happen in the application, instead
of silently ignoring them. These errors are shown in a better error dialog, that
shows the details to the user and allows to create an issue on GitHub with the
error and traceback data already filled in.
2025-05-07 18:19:15 +02:00
Roland Geider
9ebaf58fea Refactor routine handling for the dashboard widgets
This makes sure that edits to the routine (such as changing the order
of the days, etc.) are properly reflected in the dashboard.
2025-05-03 15:39:46 +02:00