f0bbb3b009
fix(planner): exclude current recipe from swap suggestions
...
Adds excludeRecipeId prop to SwapSuggestionList so the meal being
replaced is not offered as a swap candidate.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-09 10:38:30 +02:00
b4fa3ca23e
feat(planner): add isLoading prop to SwapSuggestionList — disables Pick buttons during PATCH
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-09 10:32:59 +02:00
9482ecbf36
fix(planner): add truncation and title attribute to replacing-name span
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-09 10:31:13 +02:00
278fda7d90
fix(planner): translate MealActionSheet button labels to German
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-09 10:30:39 +02:00
8e3256d960
fix(planner): translate SwapSuggestionList copy to German
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-09 10:29:54 +02:00
30722d9bcc
refactor(planner): extract shared recipe info markup into DayMealCard snippet
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-09 10:28:56 +02:00
dd9a86d4e9
feat(planner): wire J4 swap flow — mobile action sheet + desktop inline panel
...
Mobile: DayMealCard tap opens MealActionSheet; Swap → SwapSuggestionsSheet
(BottomSheet + SwapSuggestionList, easiest-first). Empty slots still open
RecipePicker directly.
Desktop: recipe-picker panel detects swap context (slot has recipe) and
renders SwapSuggestionList; empty slots continue to show RecipePicker.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-09 10:13:45 +02:00
c8c2605f31
feat(planner): add SwapSuggestionList component for J4 swap context
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-09 10:10:44 +02:00
1b2a02881d
feat(planner): add MealActionSheet component for mobile swap trigger
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-09 10:07:46 +02:00
8756bf93d9
feat(planner): add sortEasiestFirst utility for J4 swap context
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-09 10:03:47 +02:00
dac83c70ea
feat(planner): DayMealCard gains onactionsheet prop for full-card mobile tap target
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-09 10:02:47 +02:00