feat(mealplan): Allow planning meals without date#7103
feat(mealplan): Allow planning meals without date#7103rovo89 wants to merge 2 commits intomealie-recipes:mealie-nextfrom
Conversation
|
Thanks for your comments, but obviously I disagree. 😉
That requires 4 clicks per meal instead of one, the meals will just vanish after that day has passed and it clearly screams "this is a workaround", as obviously we won't be cooking 10 meals that day.
I considered that, but I guess the idea of favorites wasn't planning meals - in contrast to the meal planner. It's also missing the "add all to shopping list" option and an easy way to move (not copy) the meal to a specific day, although the latter could still be improved for my approach. I'm wondering what kind of UI clutter you mean. Generally, the space is available everywhere, even on mobile. In the dialog... well yeah, it's a big taller, but the switch is on by default and clearly says what it's going to do, so I don't think it distracts. The additional button might work too for the initial adding, but a similar dialog is also used in edit mode, where you could switch between "no date" and a specific day. What could work is using your suggestion for adding, and in the meal planner context menu (even in non-edit mode) have a "move to specific day" option for items without date and "remove date" for those with date. That would be better UX in general and it could work without the switch. Showing the section only if necessary - fair enough. You're losing the ability to roll the dice for a random meal, but that's not critical. The badge next to the heart icon is the most imporant one from my point of view. It's not only a one-click button to add items to the plan while scrolling through the list, it also servers as an indicator of meals which are already planned. That works even if you always pick a date. And the card doesn't grow in any way. If you want to get rid of something, remove the rating. I mean, does anyone have 2-star recipes in their personal cookbook? And if someone wants to mark recipes as their favorite, they can, well, use the favorite button, which therefore shouldn't be misused as "planned in the next few days". 😉 |



What this PR does / why we need it:
When we plan our meals, we often look through the list of recipes, select some and buy the ingredients. Which meal exactly we cook on a particular day is often spontaneous. With the existing implementation, the easiest way to remember the selected meals is adding them to favorites. But that's per-user and doesn't seem to be made for this. On the other hand, the meal planner requires a date and time.
So here's a suggestion to add a "without date" section to the meal planner. It also has the "Add all to shopping list" command.
Additionally, recipe cards get a new badge to quickly add it to the meal planner without date, making it fast like marking as favorite:


The badge shows when the meal is already in the plan (without date, today or in the future). Clicking again will remove it - immediately if planned without date, or with confirmation if with date:

The goal is to make it really fast and frictionless to plan, then in a second step assign to dates.
Testing
Tested it manually.
task py:checkis fine:2261 passed, 18 skipped, 209 warnings in 783.39s (0:13:03)Further info
The UX for assigning dates to unspecific meal plans could be improved as a follow-up. The "Add to meal planner" menu item which is available in the meal planner itself would add the same meal again, so we have to go to edit mode and then click on the meal... maybe that menu item should be replaced with a "change date" action which brings up the edit dialog for that one planned meal.