'checkbox', 'items' => []]]; if (!is_array($listsPrefill) || count($listsPrefill) === 0) { $listsPrefill = [['type' => 'checkbox', 'items' => []]]; } $firstList = $listsPrefill[0]; $listType = in_array($firstList['type'] ?? '', ['ordered', 'unordered', 'checkbox'], true) ? $firstList['type'] : 'checkbox'; $listItems = $firstList['items'] ?? []; if (!is_array($listItems)) { $listItems = []; } $mealEditorNotFound = $editMealId !== '' && $editMealId !== 'new' && $prefillMeal === null && $canManageMeals; $mealEditorAllowed = ($editMealId === 'new' && $canManageMeals) || ($prefillMeal !== null && $canEditMeal($prefillMeal)); $showMealEditorPage = $editMealId !== '' && ($mealEditorAllowed || $mealEditorNotFound); $mealEditorForbidden = $editMealId !== '' && !$showMealEditorPage; ?>
Items to buy for this recipe. Choose a store and add each line to the grocery tab as pending review.
None listed for this meal.
Ingredients you may already have. Add one line to the grocery list if you need to restock.
None listed.
Quick reminders while you cook (not interactive).
Week starts on = sanitizeInput($weekStart) ?> (day 0). Assign meals to each slot; shopping items go to the grocery list as pending review.
| Breakfast | Lunch | Dinner | |
|---|---|---|---|
| = sanitizeInput(mealDayShortLabel($weekStart, $d)) ?> | = sanitizeInput($label) ?> — |
Only a verified Head of household can add or import meals.
No meals in the library yet.