Commit Graph

424 Commits

Author SHA1 Message Date
Roland Geider
20ff983fe6 Formatting 2025-06-23 11:40:47 +02:00
Dieter Plaetinck
8f5ce2647c log meal screen: handle "no meals defined" gracefully 2025-06-04 12:16:27 +03:00
Roland Geider
e470087f4c Move ConfigureAvailablePlates to its own widget
This makes the corresponding screen to be much clearer
2025-05-27 17:56:55 +02:00
Roland Geider
4bcc268896 Add bar weight and color options to the plate calculator provider 2025-05-27 16:56:12 +02:00
Roland Geider
f5decaf6a5 Add some tests 2025-05-23 18:08:19 +02:00
Roland Geider
0d36fe4bc3 Polish the add plate widget 2025-05-23 17:41:08 +02:00
Roland Geider
5a8df8936e Move provider to riverpod 2025-05-23 11:52:46 +02:00
Roland Geider
ac13381bcf Some refactoring 2025-05-23 11:06:37 +02:00
Roland Geider
9934209b7c Merge branch 'master' into fork/AyushJagaty/plate-46-calc
# Conflicts:
#	AUTHORS.md
#	ios/Podfile.lock
#	lib/main.dart
#	lib/providers/user.dart
#	lib/widgets/workouts/gym_mode.dart
#	test/nutrition/goldens/nutritional_plan_1_default_view.png
#	test/nutrition/goldens/nutritional_plan_2_one_meal_with_ingredients.png
#	test/nutrition/goldens/nutritional_plan_3_both_meals_with_ingredients.png
#	test/routine/gym_mode_screen_test.dart
2025-05-22 15:27:39 +02:00
Roland Geider
0fd2154a20 Merge pull request #815 from Shininess8816/mealDateTime
Allow the logging on meals with date times #789
2025-05-16 18:35:02 +02:00
Roland Geider
a2a3384774 Remove unused parameter dateTimeOfMeal and some light cleanup of log_meal_screen.dart 2025-05-16 18:31:28 +02:00
Roland Geider
0d49030c60 Merge branch 'master' into fork/eyJhb/api-token
# Conflicts:
#	lib/screens/auth_screen.dart
#	test/nutrition/nutritional_plan_screen_test.mocks.dart
#	test/nutrition/nutritional_plans_screen_test.mocks.dart
#	test/workout/day_form_test.mocks.dart
#	test/workout/gym_mode_session_screen_test.mocks.dart
#	test/workout/repetition_unit_form_widget_test.mocks.dart
#	test/workout/routine_edit_screen_test.mocks.dart
#	test/workout/routine_edit_test.mocks.dart
#	test/workout/routine_form_test.mocks.dart
#	test/workout/routine_logs_screen_test.mocks.dart
#	test/workout/slot_entry_form_test.mocks.dart
#	test/workout/weight_unit_form_widget_test.mocks.dart
2025-05-11 18:04:09 +02:00
Roland Geider
0863b44fe6 Merge branch 'master' into feature/better-error-handling
# Conflicts:
#	lib/screens/home_tabs_screen.dart
#	test/workout/day_form_test.mocks.dart
#	test/workout/gym_mode_session_screen_test.mocks.dart
#	test/workout/repetition_unit_form_widget_test.mocks.dart
#	test/workout/routine_edit_screen_test.mocks.dart
#	test/workout/routine_edit_test.mocks.dart
#	test/workout/routine_form_test.mocks.dart
#	test/workout/routine_logs_screen_test.mocks.dart
#	test/workout/slot_entry_form_test.mocks.dart
#	test/workout/weight_unit_form_widget_test.mocks.dart
2025-05-09 14:11:17 +02:00
Roland Geider
f8000a5454 Catch and handle WgerHttpException specially
This shows the server errors directly in the form, instead of a modal dialog
(which is the default for all the other forms and places that throw the exception)
2025-05-09 13:54:58 +02:00
burny0202
0942739200 Allow the logging on meals with date times #789 2025-05-08 21:43:07 +01:00
Roland Geider
013721ba71 Refactor WgerHttpException
We can now use a widget to show any errors returned by WgerHttpException. This has
to be added on a form-by-form basis, otherwise, the general error handling shows
the results in a modal dialog
2025-05-08 22:06:48 +02:00
Roland Geider
7e0910b56b Handle network connectivity a bit different
When the server is not reachable, we show a slightly different error message
and remove the option to automatically create an issue.
2025-05-08 15:07:12 +02:00
Roland Geider
5e22d69bb1 Improve error handling and logging
Now we process and catch all errors that might happen in the application, instead
of silently ignoring them. These errors are shown in a better error dialog, that
shows the details to the user and allows to create an issue on GitHub with the
error and traceback data already filled in.
2025-05-07 18:19:15 +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
Roland Geider
ecf30fe5fd Rename controller 2025-05-01 13:35:30 +02:00
Roland Geider
ece38a39d2 Refactor login screen
The api token toggle is now only visible when showing a custom server, since at
the moment this is the only time when such an auth method makes sense (plus it
keeps the rest of the UI cleaner). The different fields in the screen have been
moved to individual files, to make the structure clearer.
2025-04-30 22:50:55 +02:00
Roland Geider
38cdc9f37c Merge branch 'master' into fork/eyJhb/api-token
# Conflicts:
#	lib/providers/auth.dart
2025-04-29 19:23:55 +02:00
Roland Geider
88d66b336c Properly update the UI when deleting workout logs
The problem was that we were passing the exercises and session from the
calendar events, which wasn't being reloaded when the logs were deleted. Now
we only pass the selected date and fetch the logs from the routine.
2025-04-17 10:26:44 +02:00
Roland Geider
6742c8091a Return the actions enum directly, no need for a dict here 2025-04-01 21:39:45 +02:00
Roland Geider
61f61a64c5 Merge branch 'master' into feature/improve-min-app-version
# Conflicts:
#	lib/providers/auth.dart
2025-03-31 09:44:43 +02:00
Roland Geider
d15ef94ae2 Cleanup, the text controller is only used in another widget 2025-03-29 15:50:43 +01:00
Roland Geider
301f48a966 More renaming of exercise base to just exercise 2025-03-29 15:50:13 +01:00
Roland Geider
e4b550ab52 Refactor app version handling and update authentication flow
Previously, this was only triggered when logging in to the application. If a user
just opened the app, it would just stop working. We also now always check this min
version and have removed the option from the android manifest file since disabling
this doesn't make much sense and we have many other platforms as well (iOS, flatpak)
2025-03-28 17:22:36 +01:00
Roland Geider
90681fadd9 Split up the gym mode widgets 2025-03-19 10:33:06 +01: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
4e60f14917 The dashboard can be a StatelessWidget 2025-03-11 20:44:42 +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
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
f25e9867a2 Cleanup 2025-02-21 22:05:29 +01:00
Roland Geider
ef4db2c772 Pass the routine ID to the RoutineScreen widget 2025-01-31 16:24:21 +01:00
Roland Geider
3e6ee0b082 Update models due to changes in exercise api response changes 2025-01-30 21:48:44 +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
58d60310e7 Merge branch 'master' into feature/flexible-routines
# Conflicts:
#	lib/main.dart
#	lib/providers/exercises.dart
#	lib/providers/workout_plans.dart
#	lib/screens/home_tabs_screen.dart
#	pubspec.yaml
2025-01-25 12:50:37 +01:00
Roland Geider
58e7a52e3d Use log levels when logging to console 2025-01-25 12:45:33 +01:00
Roland Geider
9ab55a6c83 Save iteration and slot entry id to the logs 2025-01-18 16:46:08 +01:00
Roland Geider
5a39c6c229 Rename some functions, a bit of cleanup 2025-01-10 15:52:26 +01:00
Roland Geider
462cc95979 Fix test 2025-01-06 22:01:33 +01:00
Roland Geider
ad5d1be306 Pass the necessary IDs to the gym mode and load the rest of the data 2025-01-05 16:35:16 +01:00
Ayush Sourav Jagaty
78eb620f6c having issue in shared Preferences 2025-01-05 12:39:03 +05:30
Roland Geider
f6bae10b9b Merge branch 'master' into feature/flexible-routines
# Conflicts:
#	android/app/build.gradle
#	lib/l10n/app_ta.arb
#	lib/widgets/measurements/charts.dart
#	macos/Podfile.lock
#	pubspec.lock
#	pubspec.yaml
2025-01-05 01:47:54 +01:00
eyjhb
24937a2e5c Adds ability to use API Key to "sign in" 2025-01-03 13:08:39 +01:00
Roland Geider
0d43333aa4 Update widgets when the provider changes 2024-12-12 20:52:05 +01:00
Ayush Sourav Jagaty
9cfa6c13f7 configurable plates 2024-11-30 17:16:24 +05:30
Ayush Sourav Jagaty
2395284327 Ayush Sourav Jagaty - <https://github.com/AyushJagaty> 2024-11-30 09:43:47 +05:30
Ayush Sourav Jagaty
b919e622ec User can now customize bar and plate weights 2024-11-27 21:13:27 +05:30