Commit Graph

1045 Commits

Author SHA1 Message Date
Roland Geider
bc6a5ebdbf Make common widget for when an image format is not supported 2025-10-16 22:03:40 +02:00
Roland Geider
0a427e50ff Make sure the plate weights don't wrap in the calculator 2025-10-16 21:59:56 +02:00
Roland Geider
b4c77bf238 Move plate calculator visibility logic to the exercise itself 2025-10-16 21:59:56 +02:00
Max Pylypenko
1da04e29d2 avif: updated images to display generic error for non supported image types + translations 2025-10-13 00:14:49 +07:00
Max Pylypenko
51c41c800e avif: updated gallery widget to display message for non supported avif image type 2025-10-12 00:46:37 +07: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
rishad.n
9a801bd2b2 Refactor event type enum and improve loadEvents documentation 2025-10-09 17:19:57 +05:30
Roland Geider
bd37415b8e Remove controllers, these are not needed anymore 2025-10-08 14:49:35 +02:00
Roland Geider
655a3d11d5 Move helper methods to own widgets 2025-10-08 14:48:59 +02:00
Roland Geider
4b9afa5c98 Actually send the correct image fields to the server 2025-10-08 14:34:23 +02:00
Roland Geider
bb2fbc2c73 Rename files to follow naming schema of all others 2025-10-08 14:07:51 +02:00
Roland Geider
c63057fe35 Reuse AddExerciseTextArea in the image form 2025-10-08 14:05:50 +02:00
Roland Geider
0add2a6bd1 Extract url validator to its own file 2025-10-08 14:03:25 +02:00
Roland Geider
a76ca9ae36 Update license notice localization
This keeps the main info text in one block, otherwise translating these
can get tricky
2025-10-08 12:45:37 +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
2494effe64 Use existing material localizations for "cancel" and use lower case for "add" 2025-10-06 14:13:27 +02:00
Roland Geider
136d0e0825 Extract some logic to their own widgets 2025-10-06 12:43:05 +02:00
Roland Geider
fa7f670e9f Some light cleanup 2025-10-06 12:31:12 +02:00
Branislav Nohaj
c00246dedb Add image source selection and preview improvements
Add dialog for camera/gallery selection and improve preview widget
with edit mode toggle. Preview now supports add-more callback and
can be displayed in read-only mode.
2025-10-04 16:13:02 +02:00
Branislav Nohaj
1903fb4d5e Add image details form with license metadata collection
Implement form for collecting CC BY-SA 4.0 license metadata
including title, author, URLs, and image style. Includes URL
validation and uses localized strings.
2025-10-04 16:12:41 +02:00
Branislav Nohaj
65fd2f0906 Add separate license info widget for CC BY-SA notice 2025-10-04 16:12:18 +02:00
Branislav Nohaj
7bc8463406 dar format was performed 2025-10-04 11:13:10 +02:00
Branislav Nohaj
cb138f41f7 missing button fix 2025-10-04 11:07:41 +02:00
Branislav Nohaj
e9ab11c8bb added better comments 2025-10-04 10:58:36 +02:00
Branislav Nohaj
ed8e9ec744 Added option in mobile app to add more info about image 2025-10-04 10:22:01 +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
530efd366e Some renaming 2025-09-24 12:31:28 +02:00
Roland Geider
84c29eb209 Use the regular ingredient endpoint, instead of the special search one 2025-09-24 01:35:03 +02:00
Roland Geider
a7ee4ff5b3 Merge pull request #855 from wger-project/nutrition-plan-stats
Nutrition plan stats
2025-09-22 16:19:04 +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
4c34f91028 Merge pull request #905 from wger-project/feature/better-logging
Save the application logs locally
2025-09-16 15:21:51 +02:00
Roland Geider
798406eaa9 Make routineId nullable in session and related files
Sessions can be added ad-hoc, without needing to be part of any specific
routine.
2025-09-16 14:47:47 +02:00
Roland Geider
9b3957fe35 Use "clock" for mocking dates and datetimes
This should make the tests a bit more robust, specially in CI since these
tended to fail depending on how long and when the tests run. Also, rework
a bit the way the start and end dates in sessions were being handled and
initialised
2025-09-16 14:45:16 +02:00
Roland Geider
dbd3fa915d Refactor PlanForm
* Date values are now localized
* Remove text controllers since we were setting the values in the plan
  object directly as well as setting them in the controllers anyway. Note
  that this is still not an ideal solution since if we change something
  in the form and close it, the changes are still reflected in the UI, just
  not preserved to the server.
 * Move basic date sanity cheks to the model
2025-09-12 16:24:56 +02:00
Roland Geider
d9b4d66c0f Add tests for interpolation logic 2025-09-12 15:03:33 +02:00
Roland Geider
0fd2af030d Merge branch 'refs/heads/master' into nutrition-plan-stats 2025-09-12 14:05:38 +02:00
Roland Geider
1c969ebc10 Add logging to IngredientTypeahead 2025-09-12 14:03:18 +02:00
Roland Geider
823b5015eb WorkoutLogs can be a StatelessWidget 2025-09-12 14:03:18 +02:00
Roland Geider
68e8721cdb Refresh routine data on load when starting the gym mode
This prevents errors when the user created or deleted a workout session for
the current routine over the web interface

See #876
2025-09-07 15:32:19 +02:00
Roland Geider
d56c3b2e45 Handle corner cases with null values
While this should not happen, it seems there are situations when some people
do run into the "Null check operator used on a null value" error here.

Closes #878
2025-09-06 23:44:54 +02:00
Roland Geider
af482ab9e3 Set a debounce time for TypeAhead-fields (exercises and ingredients) 2025-09-06 22:46:13 +02:00
Roland Geider
5a4d4c7208 Save the application logs
This allows us to show the logs to the user and also send them along with any
bug reports. This is a simple system that just keeps the last entries in memory
and nothing is stored permanently, but that's ok for our use case and can be
changed in the future if the need arises.
2025-09-06 22:08:35 +02:00
Roland Geider
d85ee13ed9 Give users more control over the exercise cache
This allows users to manually refresh the cache and load all exercises
from the server.
2025-09-06 15:05:52 +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
ac043baa68 Merge branch 'master' into nutrition-plan-stats
# Conflicts:
#	lib/models/nutrition/nutritional_plan.g.dart
#	lib/widgets/measurements/charts.dart
#	lib/widgets/measurements/entries.dart
#	lib/widgets/weight/weight_overview.dart
2025-09-03 15:25:17 +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