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
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
Roland Geider
5c947375ee
Rename provider
2024-11-10 14:48:03 +01:00
Roland Geider
3978b4bd8b
Remove WGER_API_KEY, this registration key is not needed anymore
2024-11-09 13:07:36 +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
b1a49218ad
Fix tests
2024-09-27 10:25:55 +02:00
Dieter Plaetinck
e1e27fb1dd
for consistency and safety, always use prefs constants
2024-07-11 20:22:25 +03:00
Roland Geider
5667e99af8
Prettify error headers
...
These come directly from django and are written with camel case
2024-07-10 16:01:37 +02:00