Commit Graph

199 Commits

Author SHA1 Message Date
Roland Geider
dce1b79683 Merge branch 'master' into feature/trophies
# Conflicts:
#	lib/providers/base_provider.dart
#	lib/providers/gym_state.dart
#	lib/providers/gym_state.g.dart
#	lib/widgets/routines/gym_mode/log_page.dart
#	test/core/settings_test.mocks.dart
#	test/exercises/contribute_exercise_image_test.mocks.dart
#	test/gallery/gallery_form_test.mocks.dart
#	test/gallery/gallery_screen_test.mocks.dart
#	test/measurements/measurement_provider_test.mocks.dart
#	test/nutrition/nutritional_plan_screen_test.mocks.dart
#	test/nutrition/nutritional_plans_screen_test.mocks.dart
#	test/routine/gym_mode/gym_mode_test.mocks.dart
#	test/routine/routine_screen_test.mocks.dart
#	test/routine/routines_provider_test.mocks.dart
#	test/routine/routines_screen_test.mocks.dart
#	test/user/provider_test.mocks.dart
#	test/weight/weight_provider_test.mocks.dart
#	test/widgets/routines/gym_mode/log_page_test.dart
2026-01-16 16:54:08 +01:00
Roland Geider
fb6a673503 Simplify code by adding new log provider
This makes the logic for copying or modifying the logs much easier. Also,
there were some user reports that the old logic sometimes behaved erratically
and old values were sometimes reverted.
2026-01-12 21:40:11 +01:00
Roland Geider
352a4b1c49 Also show the PR trophies in the regular log page 2026-01-10 16:40:58 +01:00
Roland Geider
52892db9b1 Allow passing the language to the fetch request
This allows us to use the trophy translations from the server.
2025-12-23 15:41:47 +01:00
Roland Geider
536f18805b Load context data for PR trophies
This allows us to show for which sets the user achieved new PRs
2025-12-21 20:40:20 +01:00
Roland Geider
6a2158a397 Reload the session page in the gym mode
This makes sure that we have the current state and don't try to create a new session
which already exists
2025-12-18 11:59:26 +01:00
Roland Geider
40837ad1b3 Add tests 2025-12-18 11:31:58 +01:00
Roland Geider
077dcaf742 Handle HTML errors in WgerHttpException
These need to be handled separately when the server encounters an error and
returns HTML instead of JSON.
2025-12-17 18:59:45 +01:00
Roland Geider
33111b79e9 Fix bug causing the "copy to log" to not work anymore 2025-12-16 13:24:10 +01:00
Roland Geider
4b04b2b89a Correctly handle state change in LogFormWidget
This was causing the logs from a previous exercise being displayed and saved
2025-12-14 22:08:22 +01:00
Roland Geider
06b32a2bd9 Better volume calculations, other cleanup 2025-12-04 12:14:57 +01:00
Roland Geider
d45fb604a2 Add test for the gym mode options 2025-12-02 23:00:43 +01:00
Roland Geider
ffc2f1a674 Allow some options for the user to control the timer between sets 2025-12-02 22:32:14 +01:00
Anupthor007
55259e7483 feat: add configurable sound & vibration when countdown finishes (Fixes #1012) 2025-12-02 20:45:49 +01:00
Roland Geider
910e662243 Correctly show exercise overviews for supersets 2025-12-02 17:21:12 +01:00
Roland Geider
556713319c Correctly calculate the total number of pages 2025-12-02 16:55:25 +01:00
Roland Geider
b291329350 Add workout stats screen to the screenshot / integration tests
Still need to decide if we want to keep the start page one, since it's
a bit... bare
2025-11-27 16:29:51 +01:00
Roland Geider
aeb01a517b Refactor widgets used in logs
We should try to reuse as many as possible in the end-of-gym-mode logs and in
the routine log page
2025-11-27 15:08:06 +01:00
Roland Geider
142799d870 Fix localization 2025-11-27 13:28:20 +01:00
Roland Geider
ecd0b6c6b4 Add overview page when a workout has been completed 2025-11-26 20:17:02 +01:00
Roland Geider
f2fae3d888 Handle case where the reps and weight forms are empty 2025-11-26 12:35:36 +01:00
Roland Geider
fcc0b683d4 Properly update the rir value when copying from old logs 2025-11-19 20:03:43 +01:00
Roland Geider
3119429a02 Cleanup, tests, etc 2025-11-17 14:36:47 +01:00
Roland Geider
067fa7455f Revert to showDialog
The modal sheet was causing problems when using the autocompleter,
there were overflows and even if we fixed that, there wasn't enough space
to comfortably use it
2025-11-16 15:57:07 +01:00
Roland Geider
bd727c949b When adding exercises only one is added 2025-11-16 15:50:23 +01:00
Roland Geider
925175b0e5 Handle case where no page can be found
Note that this shouldn't actually happen, we should find a proper solution
2025-11-16 15:19:51 +01:00
Roland Geider
689591195f Polish workout progression dialog
Exercise names are not repeated anymore (again) and we use a bottom sheet now
instead of a modal dialog
2025-11-16 15:16:09 +01:00
Roland Geider
d094c407c9 Remove dependency of SlotData
Now, the LogPage gets all it's info from the state.
2025-11-16 00:34:46 +01:00
Roland Geider
c26e3828f8 Allow adding additional exercises to the workout
While these are not real ad-hoc workouts, at least it's a first step
2025-11-15 23:44:42 +01:00
Roland Geider
a072692ddd Add smoke and golden test for gym progression tab 2025-11-15 18:40:43 +01:00
Roland Geider
033213abbb Allow opening the workout progress dialog from the progress indicator
This is easier to open with the thumbs and also makes logical sense. When
opening the workout menu from here, the default tab is the progress one, not
the overview.
2025-11-15 18:10:14 +01:00
Roland Geider
0bfb063552 Disable exercise swap button if set is fully logged 2025-11-15 17:39:14 +01:00
Roland Geider
ec8578d43d Add some tests and fix a small bug in uuid handling 2025-11-15 15:59:24 +01:00
Roland Geider
f1f37d3e03 Allow swapping exercises in the gym mode 2025-11-15 01:32:59 +01:00
Roland Geider
03cd945bfc Move the workout progression to the main navigation menu 2025-11-14 23:46:00 +01:00
Roland Geider
742d8dac88 Properly render the current progression of the workout 2025-11-14 21:39:53 +01:00
Roland Geider
66b18b6b3c Further refactoring the gym mode 2025-11-14 14:41:25 +01:00
Roland Geider
e62e5d630a Show current workout in gym mode 2025-11-13 17:25:04 +01:00
Roland Geider
9ea6674849 Add test for calculatePages 2025-11-11 23:56:19 +01:00
Roland Geider
5d37b55736 Localize gym mode setting options 2025-11-11 23:55:56 +01:00
Roland Geider
2e5384728d Allow clearing the times for workout sessions 2025-11-11 23:55:37 +01:00
Roland Geider
06cfa3a649 Move more logic to the gym mode provider
This makes the widgets in the gym mode smaller and we can remove
a lot of prop drilling that was necessary
2025-11-11 22:15:14 +01:00
Roland Geider
694615596f Allow the user to control the gym mode 2025-11-11 15:47:01 +01:00
Roland Geider
ae6db6ee07 Move to riverpod three
Needed to downgrade build_runner and mockito for now
2025-11-11 13:22:18 +01:00
Roland Geider
08a22e5ab0 Allow selecting start dates for routines in the future 2025-10-17 18:53:31 +02:00
Roland Geider
547a259df8 Rename parameter 2025-10-17 18:28:46 +02:00
Roland Geider
119bd4c115 Merge pull request #955 from GaecKo/feature/end_workout_button
Feature/end_workout_button in "jump to" section
2025-10-17 18:28:26 +02:00
Roland Geider
3a37c3fb1c Move form to its own widget
This is cleaner and will allow us to get better errors in case they happen,
see e.g. #936
2025-10-17 17:28:59 +02:00
Arthur De Neyer
0533e8e927 NavigationHeader: made totalPages parameter facultative 2025-10-17 17:09:29 +02:00
Arthur De Neyer
2822ba755e NavigationHeader constructor: optimized and reduced attributes 2025-10-17 16:51:09 +02:00