Roland Geider
b8f4167c9e
Show special tile indicating end of the week
2025-03-18 16:14:22 +01:00
Roland Geider
f987de1b4d
Handle case where an exercise has no variations
2025-03-18 14:59:33 +01:00
Roland Geider
1c2e988c82
Show the start and end dates for the current routine in the dashboard
...
The date in which the routine was created is not so important anymore
2025-03-17 21:03:12 +01:00
Roland Geider
58a641d298
Also put the list tile to add exercises in a card
...
This makes it look the same as the one to add new days and makes for
a more consistent behaviour
2025-03-17 19:44:58 +01:00
Roland Geider
5fdcb63207
Remove the optional refresh parameter
...
We always want to refresh the data since we don't update manually the
dayData lists
2025-03-17 19:27:43 +01:00
Roland Geider
1c8c2f7256
Don't show edit button in view mode
2025-03-17 19:27:43 +01:00
Roland Geider
afff6731da
Group settings by exercise if these are the same
2025-03-17 13:23:10 +01:00
Roland Geider
d5a262491a
Add missing semantic labels
2025-03-17 13:22:02 +01:00
Roland Geider
ac458575b8
More renaming exerciseBase to exercise and exercise to translation
2025-03-17 13:21:51 +01:00
Roland Geider
0e4dbba245
Re-add showing null days
...
Still need a better solution in the UI for this, though
2025-03-15 14:59:59 +01:00
Roland Geider
8de2199742
Render the "add day" within a Card
...
This makes it visually more similar to the rest of the options
2025-03-14 15:16:21 +01:00
Roland Geider
a2ef3278fa
Show the trailing icon for the current day on rest days as well
2025-03-13 14:26:34 +01:00
Roland Geider
6039f51b2a
If there is a rest time, show a countdown timer in the gym mode
2025-03-11 21:42:41 +01:00
Roland Geider
140fe11e2a
Mark the day in the routine for the current date
2025-03-11 21:03:20 +01:00
Roland Geider
325cc93865
Refresh the whole routine after modifying further objects.
...
This makes sure that all the structures are present and have the correct
content (dayData, etc.). Also, add more feedback to the user for some operations
that take a bit longer due to loading the whole routine.
2025-03-11 20:36:38 +01:00
Roland Geider
3abfd43be0
Rename variable to make it clearer what it does
2025-03-11 14:27:15 +01:00
Roland Geider
929acc7938
Refresh the whole routine after modifying a day
...
This makes sure that all the structures are present and have the correct
content (dayData, etc.)
2025-03-11 14:06:09 +01:00
Roland Geider
9c68a5abf4
Show button to edit the routine if it is empty
2025-03-11 13:51:47 +01:00
Roland Geider
1f647b5033
Correctly navigate to new routine after creating it
2025-03-11 13:50:13 +01:00
Roland Geider
883490ecd4
Juggle with the widgets so the routine form doesn't cause overflow errors
...
Seems this is the only form to make it work within the SingleChildScrollView
2025-03-11 13:25:30 +01:00
Roland Geider
2f975b1fd3
Correctly handle the state
...
The problem was that some of the previous changes were asynchronous and would
not always represent the actual current state. This solution works, but is
a bit verbose and perhaps overly complicated?
2025-02-22 23:09:59 +01:00
Roland Geider
eecaa6fcf0
Merge branch 'feature/flexible-routines' into Jackpkn-fix/gym-provider-navigation
2025-02-21 22:16:25 +01:00
Roland Geider
f25e9867a2
Cleanup
2025-02-21 22:05:29 +01:00
Roland Geider
4f94a6a41e
Make the repetition and weight units nullable as per the backend
2025-02-21 16:37:16 +01:00
Roland Geider
2498183094
Rename further instances of "reps" to "repetitions"
2025-02-01 19:24:15 +01:00
Roland Geider
323b18320f
Rename key to be more consistent
2025-02-01 15:34:00 +01:00
Roland Geider
110c98ffbd
Merge branch 'feature/flexible-routines' into Jackpkn-fix/gym-provider-navigation
2025-01-31 21:33:57 +01:00
Roland Geider
5e389664b7
Make LogChartWidgetFl work again
2025-01-31 18:11:35 +01:00
Roland Geider
2e62fdee83
Cleanup
2025-01-31 16:25:03 +01:00
Roland Geider
5058498c4f
Allow passing all parameters to the WorkoutSession constructor
2025-01-31 16:24:56 +01:00
Roland Geider
ef4db2c772
Pass the routine ID to the RoutineScreen widget
2025-01-31 16:24:21 +01:00
Roland Geider
7c6fbebdf5
Show workout session information
2025-01-26 20:11:21 +01:00
Roland Geider
51ed2ef428
Format numeric log values
2025-01-26 19:33:20 +01:00
Roland Geider
b4f8a59a70
Add the newly created session to the routine
2025-01-26 15:07:37 +01:00
Roland Geider
c0935506ed
Load the session data from the new API as well
...
Also, edit or add a session in the gym mode
2025-01-25 21:50:30 +01:00
Roland Geider
13998ec3c0
Don't load the routine every time the log page are accessed
2025-01-25 20:07:19 +01:00
Roland Geider
69ffdcfbc9
Don't overflow the set representation
2025-01-25 20:06:40 +01:00
Roland Geider
202349c5bc
Make workout log charts work again
2025-01-25 15:39:51 +01:00
Roland Geider
4d55f8c901
Add some more tests
2025-01-24 20:22:22 +01:00
Roland Geider
b4ff0b74aa
Some cleanup, renaming, reformating
2025-01-24 17:01:27 +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
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
f2d72d126d
Add smoke test for the routine edit form
2025-01-21 21:18:11 +01:00
Roland Geider
a770c97573
Add smoke test for the routine edit form
2025-01-21 20:58:57 +01:00
Jackpkn
2b68e5740f
Fix navigation and state reset for different days in GymMode
2025-01-19 23:42:15 +05:30
Roland Geider
9ab55a6c83
Save iteration and slot entry id to the logs
2025-01-18 16:46:08 +01:00
Roland Geider
9bb3567835
Add day id to the gym state provider
2025-01-18 15:15:42 +01:00
Roland Geider
f5ab51fd5b
Repetitions are not integers anymore
2025-01-18 13:55:42 +01:00
Roland Geider
392dc695ef
Merge branch 'fork/Jackpkn/fix/gym-mode-state-persistence-riverpod' into feature/flexible-routines
...
# Conflicts:
# lib/widgets/routines/forms.dart
# lib/widgets/routines/gym_mode.dart
2025-01-18 12:28:02 +01:00