Commit Graph

1132 Commits

Author SHA1 Message Date
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
a249292afc Don't show the session time if it's not set 2026-01-16 15:27:04 +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
696b3333fb Only show the progression bar for uncompleted trophies 2026-01-10 12:57:52 +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
36a3e7ef4a Add overview page for the trophies 2025-12-20 21:25:18 +01:00
Roland Geider
9e4897f516 Add smoke test for DashboardTrophiesWidget 2025-12-20 19:40:49 +01:00
Roland Geider
b9fd061d33 Add dashboard widget and rework the provider 2025-12-20 02:06:08 +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
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
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
56cdffb010 Merge branch 'master' into feature/gym-mode
# Conflicts:
#	integration_test/3_gym_mode.dart
#	ios/Podfile.lock
#	lib/screens/gym_mode.dart
#	pubspec.yaml
2025-12-02 12:35:32 +01:00
Roland Geider
60cb00945c Small cleanups and optimizations 2025-12-01 23:00:23 +01:00
Roland Geider
559eb26631 Make the app work better on wider screens 2025-12-01 13:44: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
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
fcc0b683d4 Properly update the rir value when copying from old logs 2025-11-19 20:03:43 +01: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
dcdfcba631 Merge branch 'wger-project:master' into master 2025-11-18 18:50:23 +01:00
Roland Geider
ce983c2db1 Merge pull request #991 from wger-project/fix/timezone-handling
Properly handle timezones (again)
2025-11-18 17:42:02 +01:00
Roland Geider
fc881c4929 Properly handle timezones
This should (hopefully 🤞) take care of problems saving entries with timezone
information.
2025-11-18 16:30:52 +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