diff --git a/frontend/components/Domain/Household/GroupMealPlanRuleForm.vue b/frontend/components/Domain/Household/GroupMealPlanRuleForm.vue index 7e10a7941..2c5f80e9a 100644 --- a/frontend/components/Domain/Household/GroupMealPlanRuleForm.vue +++ b/frontend/components/Domain/Household/GroupMealPlanRuleForm.vue @@ -73,6 +73,7 @@ export default defineNuxtComponent({ { text: i18n.t("meal-plan.lunch"), value: "lunch" }, { text: i18n.t("meal-plan.dinner"), value: "dinner" }, { text: i18n.t("meal-plan.side"), value: "side" }, + { text: i18n.t("meal-plan.snack"), value: "snack" }, { text: i18n.t("meal-plan.type-any"), value: "unset" }, ]; diff --git a/frontend/composables/use-group-mealplan.ts b/frontend/composables/use-group-mealplan.ts index f8dcb402f..37b8cc158 100644 --- a/frontend/composables/use-group-mealplan.ts +++ b/frontend/composables/use-group-mealplan.ts @@ -15,6 +15,7 @@ export function usePlanTypeOptions() { { text: i18n.t("meal-plan.lunch"), value: "lunch" }, { text: i18n.t("meal-plan.dinner"), value: "dinner" }, { text: i18n.t("meal-plan.side"), value: "side" }, + { text: i18n.t("meal-plan.snack"), value: "snack" }, ] as PlanOption[]; } diff --git a/frontend/lang/messages/en-US.json b/frontend/lang/messages/en-US.json index 154a470e4..737b6648e 100644 --- a/frontend/lang/messages/en-US.json +++ b/frontend/lang/messages/en-US.json @@ -334,6 +334,7 @@ "quick-week": "Quick Week", "side": "Side", "sides": "Sides", + "snack": "Snack", "start-date": "Start Date", "rule-day": "Rule Day", "meal-type": "Meal Type", diff --git a/frontend/lib/api/types/meal-plan.ts b/frontend/lib/api/types/meal-plan.ts index aa28e6349..f83094518 100644 --- a/frontend/lib/api/types/meal-plan.ts +++ b/frontend/lib/api/types/meal-plan.ts @@ -7,7 +7,7 @@ import type { HouseholdSummary } from "./household"; -export type PlanEntryType = "breakfast" | "lunch" | "dinner" | "side"; +export type PlanEntryType = "breakfast" | "lunch" | "dinner" | "side" | "snack"; export type PlanRulesDay = "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday" | "unset"; export type PlanRulesType = "breakfast" | "lunch" | "dinner" | "side" | "unset"; export type LogicalOperator = "AND" | "OR"; diff --git a/frontend/pages/household/mealplan/planner/view.vue b/frontend/pages/household/mealplan/planner/view.vue index aa6ce1307..0a30ec233 100644 --- a/frontend/pages/household/mealplan/planner/view.vue +++ b/frontend/pages/household/mealplan/planner/view.vue @@ -79,6 +79,7 @@ export default defineNuxtComponent({ { title: i18n.t("meal-plan.lunch"), meals: [] }, { title: i18n.t("meal-plan.dinner"), meals: [] }, { title: i18n.t("meal-plan.side"), meals: [] }, + { title: i18n.t("meal-plan.snack"), meals: [] }, ], recipes: [], }; @@ -96,6 +97,9 @@ export default defineNuxtComponent({ else if (meal.entryType === "side") { out.sections[3].meals.push(meal); } + else if (meal.entryType === "snack") { + out.sections[4].meals.push(meal); + } if (meal.recipe) { out.recipes.push(meal.recipe); diff --git a/mealie/schema/meal_plan/new_meal.py b/mealie/schema/meal_plan/new_meal.py index c766bf49e..cab8a20e1 100644 --- a/mealie/schema/meal_plan/new_meal.py +++ b/mealie/schema/meal_plan/new_meal.py @@ -21,6 +21,7 @@ class PlanEntryType(str, Enum): lunch = "lunch" dinner = "dinner" side = "side" + snack = "snack" class CreateRandomEntry(MealieModel):