Commit Graph

170 Commits

Author SHA1 Message Date
Roland Geider
c89ccb630c Use max pagination size when loading data
This is a workaround for #867, but not a real solution
2025-09-06 00:50:00 +02:00
Roland Geider
0f44e0b25f Refactor the general error popup
This should make it clearer where the messages and titles come from
2025-09-04 14:34:52 +02:00
Roland Geider
1dc3776e7e Improve video error handling
Users now see a smaller error message in the exercise description, instead
of the big general popup.
2025-09-02 14:49:28 +02:00
Roland Geider
99580490d3 Fix typo
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-28 22:25:11 +02:00
Roland Geider
92295c54b8 Merge branch 'master' into fix/timezone-problems 2025-08-28 22:19:31 +02:00
Roland Geider
8ae889a1ea Improve decimal input handling
We now use TextInputType.numberWithOptions(decimal: true) which seems to have
a more consistent behaviour under android and iOS. Also, we now use NumberFormat
to parse the inputs according to the user's locale.
2025-06-27 13:24:53 +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
cce0b94edc Cleanup 2025-05-23 18:44:29 +02:00
Roland Geider
0d36fe4bc3 Polish the add plate widget 2025-05-23 17:41:08 +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
e5427dc103 Merge branch 'master' into fork/Shininess8816/calendarFix
# Conflicts:
#	lib/helpers/consts.dart
2025-05-22 14:35:32 +02:00
Roland Geider
f18af2ed65 Move milliseconds factor to a constant
This makes it less likely to run into weird bugs if we need to tweak
the value in the future.
2025-05-22 14:34:36 +02:00
burny0202
2ade2013dc Interval of 1000 hard crashes, and 1000000 does not. Changing to last date also stops it hitting the 0 difference. Removed unused currentDate #788 2025-05-18 10:36:24 +01:00
Roland Geider
c2608af569 Don't throw an exception for untranslated strings
These are "dynamic" translations that come from the server. If they are not known
locally, we should just show them to the user as-is.
2025-05-16 15:16:22 +02:00
Roland Geider
2c6ecc0b92 Add resistance band to list of equipment 2025-05-14 17:15:31 +02:00
Roland Geider
116888d824 Also add link to exercise submission screen 2025-05-11 17:00:17 +02:00
Roland Geider
f091694b47 Extract common urls to consts.dart 2025-05-09 22:37:06 +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
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
1ecbfa88d1 Correctly set the start and end time to null, if this is what comes from the API 2025-04-18 00:40:05 +02:00
Roland Geider
c673fa0ea6 Add test for the workout log deletion dialog 2025-04-17 15:18:49 +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
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
47f6aa36d3 Formatting 2025-03-29 14:32:58 +01:00
Yashas H Majmudar
1c65bbfbbc Merge branch 'wger-project:master' into yhm/issue-731 2025-03-28 22:37:26 -04: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
cacb89f8b1 Replace WEIGHT_UNIT_KG_ID
No need to have two constants for the same thing
2025-03-28 17:21:41 +01:00
Roland Geider
cde9d64a2c Merge branch 'master' into yhm/issue-731 2025-03-28 16:15:52 +01:00
Roland Geider
74752505eb Change rir and rirTarget types from String to num
This is more consistent with the other fields and is now the same as the backend
2025-03-26 15:03:15 +01:00
Yashas H Majmudar
e363a4152f add: documentation 2025-03-23 14:40:17 -04:00
Yashas H Majmudar
5c0eba2ed1 feat: preference helper singleton for easy access for preferences 2025-03-23 14:25:06 -04:00
Roland Geider
0d1c55a9d3 Use logging package in the exception dialogs 2025-03-19 10:16:09 +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
498e0a5011 Simplify code 2025-03-14 15:15:36 +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
51ed2ef428 Format numeric log values 2025-01-26 19:33:20 +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
f5ab51fd5b Repetitions are not integers anymore 2025-01-18 13:55:42 +01:00
Ayush Sourav Jagaty
78eb620f6c having issue in shared Preferences 2025-01-05 12:39:03 +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
Roland Geider
f7461ab0e9 Polish the crud workflow 2024-11-16 19:50:28 +01:00
Roland Geider
277628f329 Merge branch 'master' into feature/flexible-routines
# Conflicts:
#	test/weight/weight_screen_test.mocks.dart
2024-11-14 20:30:19 +01:00
Roland Geider
056ed2b894 Allow day objects to load slots 2024-11-12 22:08:45 +01:00
Roland Geider
a35336f57c Allow editing the fit in week toggle as well as start and end dates 2024-11-12 13:31:56 +01:00