Roland Geider
54b40696da
Postmerge fixes
2025-10-19 15:23:17 +02:00
Roland Geider
98f2fb0096
Merge branch 'master' into powersync
...
# Conflicts:
# Gemfile.lock
# android/settings.gradle
# fastlane/report.xml
# integration_test/1_dashboard.dart
# integration_test/2_workout.dart
# integration_test/3_gym_mode.dart
# integration_test/5_nutritional_plan.dart
# integration_test/6_weight.dart
# lib/helpers/i18n.dart
# lib/helpers/ui.dart
# lib/main.dart
# lib/models/nutrition/meal.g.dart
# lib/models/nutrition/nutritional_plan.dart
# lib/providers/auth.dart
# lib/providers/nutrition.dart
# lib/screens/add_exercise_screen.dart
# lib/screens/auth_screen.dart
# lib/screens/dashboard.dart
# lib/screens/exercises_screen.dart
# lib/screens/home_tabs_screen.dart
# lib/screens/log_meal_screen.dart
# lib/screens/log_meals_screen.dart
# lib/screens/nutritional_plan_screen.dart
# lib/screens/routine_list_screen.dart
# lib/screens/workout_plan_screen.dart
# lib/widgets/add_exercise/steps/step1basics.dart
# lib/widgets/add_exercise/steps/step5images.dart
# lib/widgets/add_exercise/steps/step_2_variations.dart
# lib/widgets/add_exercise/steps/step_3_description.dart
# lib/widgets/add_exercise/steps/step_4_translations.dart
# lib/widgets/core/about.dart
# lib/widgets/core/settings.dart
# lib/widgets/dashboard/calendar.dart
# lib/widgets/dashboard/widgets.dart
# lib/widgets/exercises/exercises.dart
# lib/widgets/gallery/overview.dart
# lib/widgets/measurements/categories_card.dart
# lib/widgets/measurements/charts.dart
# lib/widgets/measurements/entries.dart
# lib/widgets/measurements/forms.dart
# lib/widgets/measurements/helpers.dart
# lib/widgets/nutrition/charts.dart
# lib/widgets/nutrition/forms.dart
# lib/widgets/nutrition/helpers.dart
# lib/widgets/nutrition/meal.dart
# lib/widgets/nutrition/nutritional_diary_table.dart
# lib/widgets/nutrition/nutritional_plan_detail.dart
# lib/widgets/nutrition/nutritional_plans_list.dart
# lib/widgets/nutrition/widgets.dart
# lib/widgets/routines/charts.dart
# lib/widgets/routines/workout_logs.dart
# lib/widgets/weight/forms.dart
# lib/widgets/weight/weight_overview.dart
# lib/widgets/workouts/app_bar.dart
# lib/widgets/workouts/day.dart
# lib/widgets/workouts/forms.dart
# lib/widgets/workouts/gym_mode.dart
# lib/widgets/workouts/workout_plan_detail.dart
# lib/widgets/workouts/workout_plans_list.dart
# linux/flutter/generated_plugin_registrant.cc
# linux/flutter/generated_plugins.cmake
# pubspec.lock
# pubspec.yaml
# test/auth/auth_screen_test.dart
# test/core/settings_test.dart
# test/core/settings_test.mocks.dart
# test/nutrition/nutritional_meal_form_test.mocks.dart
# test/nutrition/nutritional_meal_item_form_test.dart
# test/nutrition/nutritional_plan_form_test.mocks.dart
# test/nutrition/nutritional_plan_screen_test.dart
# test/nutrition/nutritional_plans_screen_test.dart
# test/routine/repetition_unit_form_widget_test.dart
# test/routine/routine_screen_test.dart
# test/routine/routines_screen_test.dart
# test/routine/weight_unit_form_widget_test.dart
# test/workout/gym_mode_screen_test.dart
# test/workout/workout_day_form_test.dart
# test/workout/workout_form_test.dart
# test/workout/workout_set_form_test.dart
2025-10-19 14:48:15 +02:00
Roland Geider
64dc10cdb2
Fix import for localization strings
2025-10-19 14:23:58 +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
bb2fbc2c73
Rename files to follow naming schema of all others
2025-10-08 14:07:51 +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
a10b7eb9f7
Pass parameter to create new variation and link exercises
2025-09-28 15:03:28 +02:00
Roland Geider
960abc9bec
Merge branch 'master' into feature/exercise-submission
2025-09-28 14:38:22 +02:00
Roland Geider
ccbaf0b42a
Allow multiple weight entries per day
2025-09-26 12:21:50 +02:00
Roland Geider
ba34570a3d
Add image upload methods
...
We use the "manual" way as it was before, since there were some problems
making this work and most of the errors were happening during the exercise
creation itself.
2025-09-19 22:27:04 +02:00
Roland Geider
9ea8362d20
Show an overview with the new exercise data before saving
...
Also, correctly parse all validation errors that might be returned by the server
2025-09-19 16:59:18 +02:00
Roland Geider
711d7c0aba
Update exercise submission model and related files
...
This now uses the combined endpoint, which creates the different objects
itself within a transaction, ensuring that no orphans can be created.
2025-09-18 21:57:27 +02:00
Roland Geider
47d782fc43
Re-fetch unit data if necessary
2025-09-06 15:06:09 +02:00
Roland Geider
4330e51f86
Retrieve the current routine dynamically
...
This behaviour is now the same as the nutritional plans.
2025-09-05 22:47:27 +02:00
Roland Geider
92295c54b8
Merge branch 'master' into fix/timezone-problems
2025-08-28 22:19:31 +02:00
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
70fba34f0c
Better handling of time zones
...
We now send the current time zone to the server when serializing datetime objects.
This was causing entries to be saved some hours wrong or depending on the time, on
a different day.
2025-05-26 11:13:53 +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