Commit Graph

362 Commits

Author SHA1 Message Date
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
f6f81318fc Add logging to the Exercise model 2025-09-12 14:03:18 +02:00
Roland Geider
1dc3776e7e Improve video error handling
Users now see a smaller error message in the exercise description, instead
of the big general popup.
2025-09-02 14:49:28 +02:00
Roland Geider
92295c54b8 Merge branch 'master' into fix/timezone-problems 2025-08-28 22:19:31 +02:00
Roland Geider
e63616a403 Recreate generated files 2025-08-25 19:55:26 +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
a4c103c6b4 Remove default rounding values
These only make sense when using automatic progression rules (and then, only with
increase steps with percentages). If no rounding values are set, the value will
be simply used as-is.
2025-05-14 11:35:58 +02:00
Roland Geider
d663bcd88a Move common logic to SessionForm
Refactor and polish a bit the form in the log overview.
2025-05-09 21:12:49 +02:00
Roland Geider
7f42b47f97 Actually set the RiR value in the logs 2025-04-27 16:10:41 +02:00
Roland Geider
1ecbfa88d1 Correctly set the start and end time to null, if this is what comes from the API 2025-04-18 00:40:05 +02:00
Roland Geider
bc0672d81b Correctly initialize the data in form from existing session
Also, add some simple tests for this
2025-04-17 17:30:01 +02:00
Roland Geider
88d66b336c Properly update the UI when deleting workout logs
The problem was that we were passing the exercises and session from the
calendar events, which wasn't being reloaded when the logs were deleted. Now
we only pass the selected date and fetch the logs from the routine.
2025-04-17 10:26:44 +02:00
Roland Geider
9055514dec Migrate models to work with freezed 3.0.0 2025-04-01 21:48:00 +02:00
Roland Geider
6742c8091a Return the actions enum directly, no need for a dict here 2025-04-01 21:39:45 +02:00
Roland Geider
e31c54365b Also convert the rpe to a number
This was causing some errors when loading routines that had a defined RiR
2025-03-29 14:32:39 +01:00
Roland Geider
cacb89f8b1 Replace WEIGHT_UNIT_KG_ID
No need to have two constants for the same thing
2025-03-28 17:21:41 +01:00
Roland Geider
74752505eb Change rir and rirTarget types from String to num
This is more consistent with the other fields and is now the same as the backend
2025-03-26 15:03:15 +01:00
Roland Geider
b681c264b3 Allow the session ID to be nullable
This will be filled in automatically by the backend
2025-03-19 10:19:54 +01:00
Roland Geider
d071d143df Update flutter to 3.29
The translations are not stored in a synthetic package anymore, but the
files are just copied to a specific folder so it can be more easily imported

Also, flutter_barcode_scanner was replaced by simple_barcode_scanner since
the first hasn't been updated in 3 years and was already causing problems
for some time
2025-03-18 17:28:19 +01:00
Roland Geider
567843aec8 Set the default value to fitInWeek to true
This is the same behaviour as in the web application is what most people
most like will be doing anyway.
2025-03-17 19:27:43 +01:00
Roland Geider
e26da371e6 Correctly calculate the current iteration 2025-03-14 13:37:11 +01:00
Roland Geider
6e01df2622 Use better type for requirements
(which are not editable on the flutter application anyway)
2025-03-13 14:45:35 +01:00
Roland Geider
f8e4304a01 Use better conversion function, the (max) rest time can be null 2025-03-13 14:42:48 +01:00
Roland Geider
325cc93865 Refresh the whole routine after modifying further objects.
This makes sure that all the structures are present and have the correct
content (dayData, etc.). Also, add more feedback to the user for some operations
that take a bit longer due to loading the whole routine.
2025-03-11 20:36:38 +01:00
Roland Geider
4f94a6a41e Make the repetition and weight units nullable as per the backend 2025-02-21 16:37:16 +01:00
Roland Geider
14a5d7285b Extract the day data for the current routine
instead of loading the same data from the server
2025-02-16 21:19:17 +01:00
Roland Geider
460b6e7125 Add smoke test for fetchAndSetRoutineFull 2025-02-02 22:38:05 +01:00
Roland Geider
2498183094 Rename further instances of "reps" to "repetitions" 2025-02-01 19:24:15 +01:00
Roland Geider
323b18320f Rename key to be more consistent 2025-02-01 15:34:00 +01:00
Roland Geider
3ef8b62d53 Update exercise info API paths 2025-02-01 15:29:14 +01:00
Roland Geider
5e389664b7 Make LogChartWidgetFl work again 2025-01-31 18:11:35 +01:00
Roland Geider
5058498c4f Allow passing all parameters to the WorkoutSession constructor 2025-01-31 16:24:56 +01:00
Roland Geider
3e6ee0b082 Update models due to changes in exercise api response changes 2025-01-30 21:48:44 +01:00
Roland Geider
4bd16f5c0d Remove logs from the routine
The logs are now in the session list and can be easily extracted if needed
2025-01-30 18:21:09 +01:00
Roland Geider
7c6fbebdf5 Show workout session information 2025-01-26 20:11:21 +01:00
Roland Geider
b4f8a59a70 Add the newly created session to the routine 2025-01-26 15:07:37 +01:00
Roland Geider
c0935506ed Load the session data from the new API as well
Also, edit or add a session in the gym mode
2025-01-25 21:50:30 +01:00
Roland Geider
13998ec3c0 Don't load the routine every time the log page are accessed 2025-01-25 20:07:19 +01:00
Roland Geider
202349c5bc Make workout log charts work again 2025-01-25 15:39:51 +01:00
Roland Geider
eff176f035 Merge branch 'master' into feature/flexible-routines
# Conflicts:
#	lib/main.dart
#	lib/models/exercises/exercise.dart
#	lib/models/exercises/exercise_api.freezed.dart
#	lib/models/workouts/day.g.dart
#	lib/models/workouts/session.g.dart
#	lib/models/workouts/workout_plan.g.dart
#	lib/providers/exercises.dart
#	lib/widgets/core/settings.dart
#	pubspec.lock
#	test/auth/auth_screen_test.mocks.dart
#	test/core/settings_test.mocks.dart
#	test/exercises/contribute_exercise_test.mocks.dart
#	test/gallery/gallery_form_test.mocks.dart
#	test/gallery/gallery_screen_test.mocks.dart
#	test/measurements/measurement_categories_screen_test.mocks.dart
#	test/measurements/measurement_provider_test.mocks.dart
#	test/nutrition/nutritional_meal_form_test.mocks.dart
#	test/nutrition/nutritional_plan_form_test.mocks.dart
#	test/nutrition/nutritional_plan_screen_test.mocks.dart
#	test/nutrition/nutritional_plans_screen_test.mocks.dart
#	test/other/base_provider_test.mocks.dart
#	test/user/provider_test.mocks.dart
#	test/weight/weight_provider_test.mocks.dart
#	test/weight/weight_screen_test.mocks.dart
#	test/workout/gym_mode_screen_test.mocks.dart
#	test/workout/repetition_unit_form_widget_test.mocks.dart
#	test/workout/routine_screen_test.mocks.dart
#	test/workout/routines_provider_test.mocks.dart
#	test/workout/routines_screen_test.mocks.dart
#	test/workout/weight_unit_form_widget_test.mocks.dart
#	test/workout/workout_day_form_test.mocks.dart
#	test/workout/workout_form_test.mocks.dart
#	test/workout/workout_set_form_test.mocks.dart
2025-01-24 15:05:28 +01:00
Roland Geider
9d9f276476 Merge branch 'fork/Sangharshdeveloper/feature-theme_customization#687'
# Conflicts:
#	pubspec.lock
2025-01-23 23:23:12 +01:00
Roland Geider
86f8b7ae35 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.
2025-01-23 23:22:50 +01:00
Roland Geider
eac2397396 Add workaround for #722 2025-01-22 19:29:17 +01:00
Roland Geider
a770c97573 Add smoke test for the routine edit form 2025-01-21 20:58:57 +01:00
Roland Geider
3a398d0f36 Simplify arguments for routine objects and add a smoke test 2025-01-18 19:37:33 +01:00
Roland Geider
757eb4b27d Almost everything is nullable in the Log 2025-01-18 16:57:28 +01:00
Roland Geider
9ab55a6c83 Save iteration and slot entry id to the logs 2025-01-18 16:46:08 +01:00
Roland Geider
f5ab51fd5b Repetitions are not integers anymore 2025-01-18 13:55:42 +01:00
Roland Geider
5d542c51d9 Use updated name of repetition in API response
Also use the same name locally for more consistency
2025-01-14 20:41:40 +01:00
Roland Geider
5a39c6c229 Rename some functions, a bit of cleanup 2025-01-10 15:52:26 +01:00