Commit Graph

533 Commits

Author SHA1 Message Date
Roland Geider
c2f138cf9f Increase timeout durations for API requests 2026-01-30 13:50:35 +01:00
Roland Geider
92aee1228e Properly filter hidden widgets 🙄 2026-01-19 16:39:06 +01:00
Roland Geider
1d2bcc62dd Set the current date when copying a new log in the gym mode... 🙄
Closes #1084
2026-01-19 12:17:27 +01:00
Roland Geider
f5a591a3b7 Add trophies to configurable dashboard lists 2026-01-17 14:01:17 +01:00
Roland Geider
36bf6aa8fc Merge branch 'master' into feature/trophies
# Conflicts:
#	lib/main.dart
#	lib/screens/dashboard.dart
2026-01-17 13:50:18 +01:00
Roland Geider
b81331609a Also allow changing the order of the dashboard widgets
This makes the behaviour more consistent and allows users to remove widgets
they won't be using, like the trophies
2026-01-17 13:43:28 +01:00
Roland Geider
5574f74a2f Move dashboard visibility settings to own screen
This seems cleaner and can be opened from other places
2026-01-17 12:50:07 +01:00
Roland Geider
3664da4f78 Merge branch 'master' into fork/dhituval/issue852/hide-diet-plan 2026-01-16 23:06:11 +01:00
Roland Geider
ec153c51df i18n and other cleanup 2026-01-16 17:33:28 +01:00
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
381d28d044 Slightly refactor the fetch session data part in the calendar.
In general, it doesn't make much sense that the sessions are the only data points
that are loaded live every time, all the others are simply read from the respective
providers. Hopefully all this can be removed when (if) we move to using a local sqlite
db with powersync.
2026-01-16 15:40:27 +01:00
Roland Geider
6620a83baa Improve html error detection
In case the header is not correctly set, try to detect html error messages
from the content itself
2026-01-14 14:59:07 +01:00
Roland Geider
574ef3d0b5 Add simple retry logic to the base provider's fetch method
This should take care of simple transient errors, or other network hiccups
that might happen on the user's device.
2026-01-14 13:59:41 +01:00
Roland Geider
4782c72934 Recreate generated files 2026-01-13 16:26:17 +01:00
Roland Geider
cbdc4a0c56 Increase page size for languages, no need to use pagination for this
Categories and muscles will probably never get so big, but it doesn't do any
harm doing it as well.
2026-01-12 21:59:52 +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
0774571fbc Fix test 2025-12-20 21:34:33 +01:00
Roland Geider
36a3e7ef4a Add overview page for the trophies 2025-12-20 21:25:18 +01:00
Roland Geider
b9fd061d33 Add dashboard widget and rework the provider 2025-12-20 02:06:08 +01:00
Roland Geider
5d39ae5088 Start adding support for trophies 2025-12-20 00:55:33 +01:00
Roland Geider
d187324a25 Properly handle null values
Basically all the fields can be nullable, so we need to set them if
we want to avoid LateInitialisation errors.
2025-12-18 10:58:40 +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
dhituval
60f902fe14 Merge branch 'master' into issue852/hide-diet-plan 2025-12-08 14:00:39 -05:00
Diya Hituvalli
c0d04cbb11 allow the users to hide / show all widgets in the home screen 2025-12-08 13:57:42 -05:00
Roland Geider
06b32a2bd9 Better volume calculations, other cleanup 2025-12-04 12:14:57 +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
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
5f61af3b66 Update generated files 2025-11-20 23:01:20 +01:00
Diya Hituvalli
9e24714cbd Add user preference in settings to hide diet plan if not used 2025-11-19 14:32:02 -05:00
Roland Geider
9f66815e10 Merge branch 'master' into feature/gym-mode
# Conflicts:
#	lib/widgets/routines/gym_mode/navigation.dart
#	pubspec.lock
#	test/exercises/contribute_exercise_image_test.mocks.dart
#	test/exercises/contribute_exercise_test.mocks.dart
#	test/nutrition/nutritional_meal_form_test.mocks.dart
#	test/nutrition/nutritional_plan_form_test.mocks.dart
2025-11-19 19:18:45 +01:00
lenka369
27c80ed550 prevent duplicate ingredients in cache 2025-11-18 23:34:12 +01:00
Roland Geider
3119429a02 Cleanup, tests, etc 2025-11-17 14:36:47 +01:00
Roland Geider
9bb417bd3f Don't recalculate the pages if it's not needed
This keeps the progression saved as well as any changed exercises
2025-11-16 15:48:15 +01:00
lenka369
aaa91a4591 Update mock files 2025-11-16 08:53:18 +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
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
317ae250f3 Remove the exercise ID, this is not used anymore 2025-11-14 23:45:16 +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
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