Roland Geider
f32dec2b08
Merge branch 'master' into feature/offline-mode
...
# Conflicts:
# lib/main.dart
# lib/models/workouts/log.dart
# lib/models/workouts/session.g.dart
# lib/providers/exercises.dart
# lib/providers/gym_state.g.dart
# lib/providers/wger_base_riverpod.dart
# lib/screens/dashboard.dart
# lib/screens/home_tabs_screen.dart
# lib/widgets/core/app_bar.dart
# lib/widgets/core/settings.dart
# lib/widgets/dashboard/calendar.dart
# lib/widgets/dashboard/widgets/weight.dart
# lib/widgets/routines/gym_mode/log_page.dart
# lib/widgets/routines/gym_mode/summary.dart
# lib/widgets/routines/logs/day_logs_container.dart
# lib/widgets/routines/logs/exercises_expansion_card.dart
# pubspec.lock
# pubspec.yaml
# test/core/settings_test.dart
# test/core/settings_test.mocks.dart
# test/exercises/contribute_exercise_test.mocks.dart
# test/exercises/exercise_provider_db_test.dart
# test/exercises/exercise_provider_test.dart
# test/routine/gym_mode/gym_mode_test.mocks.dart
# test/routine/routine_logs_screen_test.dart
# test/routine/routine_logs_screen_test.mocks.dart
# test/routine/routines_provider_test.mocks.dart
# test/routine/routines_screen_test.mocks.dart
# test/weight/weight_provider_test.mocks.dart
# test/weight/weight_screen_test.mocks.dart
2026-01-19 13:16:55 +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
53dcbd8c6c
Don't mark nullable fields as "late"
...
These will be null and we avoid LateInitializationError errors
See #1079
2026-01-16 15:26:38 +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
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
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
455c9a07b1
Merge branch 'master' into feature/powersync-test
...
# Conflicts:
# lib/helpers/errors.dart
# lib/models/workouts/log.dart
# lib/models/workouts/session.dart
# lib/providers/body_weight.dart
# lib/providers/exercises.dart
# lib/providers/gym_state.g.dart
# lib/providers/routines.dart
# lib/widgets/routines/forms/day.dart
# lib/widgets/routines/forms/reps_unit.dart
# lib/widgets/routines/forms/routine.dart
# lib/widgets/routines/forms/session.dart
# lib/widgets/routines/forms/slot.dart
# lib/widgets/routines/forms/slot_entry.dart
# lib/widgets/routines/gym_mode/log_page.dart
# lib/widgets/routines/gym_mode/session_page.dart
# pubspec.lock
# test/exercises/exercise_provider_test.dart
# test/routine/forms/session_form_test.dart
# test/routine/gym_mode/session_page_test.dart
# test/routine/routine_form_test.dart
2025-12-18 12:17:56 +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
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
Roland Geider
b75ee0dece
Merge conflicts
2025-12-04 13:07:39 +01:00
Roland Geider
d8a5369519
Merge branch 'master' into feature/powersync-test
...
# Conflicts:
# integration_test/3_gym_mode.dart
# lib/database/exercises/exercise_database.g.dart
# lib/models/exercises/category.g.dart
# lib/models/exercises/exercise.g.dart
# lib/models/exercises/exercise_api.freezed.dart
# lib/models/exercises/exercise_api.g.dart
# lib/models/exercises/translation.g.dart
# lib/models/workouts/log.dart
# lib/models/workouts/log.g.dart
# lib/models/workouts/session.dart
# lib/models/workouts/session_api.dart
# lib/models/workouts/weight_unit.g.dart
# lib/providers/gym_state.dart
# lib/screens/gym_mode.dart
# lib/widgets/dashboard/calendar.dart
# lib/widgets/routines/gym_mode/gym_mode.dart
# lib/widgets/routines/gym_mode/log_page.dart
# lib/widgets/routines/gym_mode/session_page.dart
# lib/widgets/routines/log.dart
# pubspec.lock
# pubspec.yaml
# test/core/settings_test.mocks.dart
# test/core/validators_test.mocks.dart
# test/exercises/contribute_exercise_test.dart
# test/exercises/contribute_exercise_test.mocks.dart
# test/exercises/exercises_detail_widget_test.mocks.dart
# test/nutrition/nutritional_plan_screen_test.mocks.dart
# test/nutrition/nutritional_plans_screen_test.mocks.dart
# test/providers/plate_calculator_test.dart
# test/routine/forms/session_form_test.mocks.dart
# test/routine/gym_mode/gym_mode_test.mocks.dart
# test/routine/gym_mode/session_page_test.dart
# test/routine/gym_mode_screen_test.dart
# test/user/provider_test.mocks.dart
# test/weight/weight_provider_test.mocks.dart
# test/weight/weight_screen_test.mocks.dart
2025-12-04 12:48:40 +01:00
Roland Geider
06b32a2bd9
Better volume calculations, other cleanup
2025-12-04 12:14:57 +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
ecd0b6c6b4
Add overview page when a workout has been completed
2025-11-26 20:17:02 +01:00
Roland Geider
eedc249cea
Merge branch 'master' into feature/powersync-test
...
# Conflicts:
# lib/models/body_weight/weight_entry.dart
# lib/models/body_weight/weight_entry.g.dart
# lib/models/workouts/log.dart
# lib/models/workouts/log.g.dart
# lib/models/workouts/session.g.dart
# pubspec.lock
# pubspec.yaml
# test/exercises/contribute_exercise_image_test.mocks.dart
# test/exercises/contribute_exercise_test.dart
# test/exercises/contribute_exercise_test.mocks.dart
# test/nutrition/nutritional_meal_form_test.mocks.dart
# test/nutrition/nutritional_plan_form_test.mocks.dart
# test/weight/weight_model_test.dart
# test/weight/weight_provider_test.dart
# test_data/body_weight.dart
2025-11-25 21:23:22 +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
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
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
f1f37d3e03
Allow swapping exercises in the gym mode
2025-11-15 01:32:59 +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
49873d20bd
Cleanup some of the models
2025-11-08 23:07:40 +01:00
Roland Geider
2132249682
Wrap the routines provider
...
This makes it easier to load the data from the powersync database
2025-11-07 15:10:04 +01:00
Roland Geider
72deeda4f7
Update session and log models
2025-11-04 16:15:37 +01:00
Roland Geider
120487682a
Remove json serializable code for exercise models
2025-11-03 17:41:05 +01:00
Roland Geider
9040106939
Rework the base data providers, fix some tests
2025-11-03 15:40:37 +01:00
Roland Geider
c60cfbe347
Add tables for workout sessions
2025-10-26 18:18:22 +01:00
Roland Geider
2aa120602b
Remove the json serializable decorators, not needed anymore
2025-10-26 00:23:38 +02:00
Roland Geider
7969376dce
Test how feasible it is to load exercises via powersync as well
2025-10-24 01:21:13 +02:00
Roland Geider
017cccab18
Start adding drift and using riverpod
2025-10-22 20:49:38 +02:00
Roland Geider
76f894ab33
Start actually interacting with powersync
2025-10-21 15:04:53 +02:00
Roland Geider
4d2083f05a
Update body weight provider to use riverpod
2025-10-21 12:04:59 +02:00
Roland Geider
c551b176fb
Merge pull request #950 from wger-project/feature/day-type
...
Set day and set types
2025-10-17 00:13:50 +02:00
Roland Geider
b0d1bce9aa
Consistently show the day and type name
2025-10-16 23:48:15 +02:00
Roland Geider
b4c77bf238
Move plate calculator visibility logic to the exercise itself
2025-10-16 21:59:56 +02:00
Roland Geider
1f6d22d85a
Tweak a bit how and when the types are shown
2025-10-09 23:11:10 +02:00
Roland Geider
39b503e03a
Format files as in master
2025-10-09 17:54:24 +02:00
Roland Geider
85ba00b654
Merge branch 'master' into feature/day-type
...
# Conflicts:
# lib/models/workouts/day.g.dart
# lib/models/workouts/day_data.g.dart
# lib/models/workouts/set_config_data.g.dart
# lib/models/workouts/slot_data.g.dart
# lib/models/workouts/slot_entry.g.dart
# lib/models/workouts/weight_unit.g.dart
# 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/routine/day_form_test.mocks.dart
# test/routine/gym_mode_screen_test.mocks.dart
# test/routine/gym_mode_session_screen_test.mocks.dart
# test/routine/repetition_unit_form_widget_test.mocks.dart
# test/routine/routine_edit_screen_test.mocks.dart
# test/routine/routine_edit_test.mocks.dart
# test/routine/routine_form_test.mocks.dart
# test/routine/routine_logs_screen_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/routine/slot_entry_form_test.mocks.dart
# test/routine/weight_unit_form_widget_test.mocks.dart
# test/user/provider_test.mocks.dart
# test/weight/weight_provider_test.mocks.dart
# test/weight/weight_screen_test.mocks.dart
2025-10-09 17:39:39 +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
6146201531
Allow setting the slot entry type as well
2025-10-09 17:28:23 +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
949ad02ab6
Add generated files
...
It seems a recent update changes the way dart code is formatted
2025-10-08 12:45:37 +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
fa7f670e9f
Some light cleanup
2025-10-06 12:31:12 +02:00
Roland Geider
39be6a3edf
Allow setting the day type in the edit form
2025-10-06 11:36:27 +02:00
Roland Geider
a10b7eb9f7
Pass parameter to create new variation and link exercises
2025-09-28 15:03:28 +02:00