Commit Graph

42 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
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
ec153c51df i18n and other cleanup 2026-01-16 17:33:28 +01:00
Roland Geider
46fdf1efc7 Recreate generated files 2026-01-16 15:28:09 +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
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
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
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
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
39be6a3edf Allow setting the day type in the edit form 2025-10-06 11:36:27 +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
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
Yashas H Majmudar
e363a4152f add: documentation 2025-03-23 14:40:17 -04: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
9ff2bba13a Load the new DayData entries and the regular data objects from structure endpoint 2024-10-30 23:19:10 +01:00
Roland Geider
7db93f0b6e Start implementing new flexible routines 2024-10-30 12:14:26 +01:00
Roland Geider
5d237e1ddf Consistently use "fiber" 2024-05-23 17:54:50 +02:00
Roland Geider
41555c4bce Recreate generated files 2024-01-22 17:01:23 +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
Roland Geider
65ba2275ae Run "dart format --line-length=100 ." to make the diff smaller 2023-12-23 16:40:05 +01:00
Abhishek Saini
c69c639fac fix(drift): built a model for exercise and fixes in fromSql type converter 2023-12-23 14:28:38 +05:30
Roland Geider
c514842b59 Lint the code with a line length of 100
This makes it easier to understand the diffs
2023-11-16 21:36:21 +01:00
Abhishek Saini
582bc611a4 feat(drift-database): Shifted from shared prefs to drift for Exercises 2023-11-16 22:34:40 +05:30
Github-actions
ca27faf9e2 Automatic linting 2023-11-09 19:26:45 +00:00
Roland Geider
09f60fe432 Fix tests and recreate generated files 2023-11-09 19:07:38 +01:00
Github-actions
8c809ad8cb Automatic linting 2023-08-08 09:14:27 +00:00
Roland Geider
aecbcfe663 Update models to work with new keys
creation_date was renamed to created and
update_date to last_updated
2023-08-08 11:12:55 +02:00
Github-actions
3003409c57 Automatic linting 2023-06-08 14:15:55 +00:00
Roland Geider
481ff898fa The field creation date in ingredients is now a datetime 2023-06-08 16:14:25 +02:00
Roland Geider
d79645a6f5 The ingredient ID is an integer, not a string 2023-04-09 11:40:40 +02:00
Roland Geider
8e6eadf1b9 Annotate the needed mocks for each test
This makes it clear where they are loaded from
2023-02-11 13:50:42 +01:00
Roland Geider
a977d4ec48 Refactor add_exercise_screen.dart
Use the is_trustworthy flag from the server, which also takes the account's age
into account. The widgets in the screen are split so it's easier to test and read
2023-02-07 20:30:09 +01:00
Roland Geider
6ee9aaee06 Rework user profile endpoint handling
Now it's not necessary anymore to pass the ID, we can do all actions on the
"list" URL

Fixes #141
2022-05-12 19:13:56 +02:00
Roland Geider
7b0f02e88f Add user profile page
Closes #71
2022-05-12 15:28:26 +02:00