Commit Graph

40 Commits

Author SHA1 Message Date
Roland Geider
36a3e7ef4a Add overview page for the trophies 2025-12-20 21:25:18 +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
ecd0b6c6b4 Add overview page when a workout has been completed 2025-11-26 20:17:02 +01:00
Roland Geider
5f61af3b66 Update generated files 2025-11-20 23:01:20 +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
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
0add2a6bd1 Extract url validator to its own file 2025-10-08 14:03:25 +02:00
Roland Geider
136d0e0825 Extract some logic to their own widgets 2025-10-06 12:43:05 +02:00
Roland Geider
39be6a3edf Allow setting the day type in the edit form 2025-10-06 11:36:27 +02:00
Roland Geider
ccbaf0b42a Allow multiple weight entries per day 2025-09-26 12:21:50 +02:00
Roland Geider
530efd366e Some renaming 2025-09-24 12:31:28 +02:00
Roland Geider
84c29eb209 Use the regular ingredient endpoint, instead of the special search one 2025-09-24 01:35:03 +02:00
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
d85ee13ed9 Give users more control over the exercise cache
This allows users to manually refresh the cache and load all exercises
from the server.
2025-09-06 15:05:52 +02:00
Shininess8816
97e63e3fc5 flutter pub run build_runner build && dart format --line-length=100 . 2025-05-08 22:36:14 +01:00
Roland Geider
9ebaf58fea Refactor routine handling for the dashboard widgets
This makes sure that edits to the routine (such as changing the order
of the days, etc.) are properly reflected in the dashboard.
2025-05-03 15:39:46 +02:00
Roland Geider
df06cef398 await for all setExercisesAndUnits calls
Not setting the "await" was causing the method to be run asynchronously which means
that sometimes these would get called several times for the same exercise, which in
turn would cause exercises to be written several times to the local db, polluting the
exercise list, etc. etc.

We increase the schemaVersion of the database because this causes all the cache tables
to be dropped and re-created
2025-03-29 16:37:11 +01:00
Roland Geider
301f48a966 More renaming of exercise base to just exercise 2025-03-29 15:50:13 +01:00
Roland Geider
c28ec70fb6 Fix borked imports? 2025-03-29 14:50:41 +01:00
Roland Geider
47f6aa36d3 Formatting 2025-03-29 14:32:58 +01:00
Yashas H Majmudar
d31dc16bcf migration: migrated all instances of sharedPreferences to sharedPreferencesAsync for tests 2025-03-23 14:26:28 -04: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
f987de1b4d Handle case where an exercise has no variations 2025-03-18 14:59:33 +01:00
Roland Geider
202349c5bc Make workout log charts work again 2025-01-25 15:39:51 +01:00
Roland Geider
079db5d5e0 Recreate generated files 2025-01-24 15:07: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
dad109d5bd Inject the shared preferences class for easier testing 2025-01-24 13:59:08 +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
23119e68d5 Allow users to reorder the days and the slots within the days 2024-11-15 16:44:41 +01:00
Roland Geider
abf9413f4b Start rendering the new routines 2024-11-02 17:28:24 +01:00
Roland Geider
7db93f0b6e Start implementing new flexible routines 2024-10-30 12:14:26 +01:00
Roland Geider
906fa7257a Rename function 2024-09-29 11:45:31 +02:00
Roland Geider
72a68b4f59 Allow resetting the ingredient cache from the settings page 2024-09-29 11:25:14 +02:00
Roland Geider
dbdec5c9dd Add tests for db cache 2024-09-27 11:11:35 +02:00
Dieter Plaetinck
66ced6ccc4 dcm fix --only-rules=prefer-trailing-comma lib test test_data integration_test 2024-09-18 16:00:43 +03:00
Roland Geider
5d237e1ddf Consistently use "fiber" 2024-05-23 17:54:50 +02:00
Roland Geider
fbc4f163c9 Commit missing mocks file 2024-01-11 22:16:21 +01:00
Roland Geider
e67d992385 Add (for now) simple settings page to reset the exercise cache
This should be expanded later to allow to re-fetch all available exercises, etc.
2024-01-11 22:13:11 +01:00