From 2baa8c49a9ebc06241b5606d5d5b9d94c3909a9f Mon Sep 17 00:00:00 2001 From: pyr0ball Date: Sun, 12 Apr 2026 13:57:55 -0700 Subject: [PATCH] feat(frontend): add MealPlan tab with grid, shopping list, and prep schedule closes kiwi#68, kiwi#71 --- frontend/src/App.vue | 29 ++++- frontend/src/components/MealPlanView.vue | 155 +++++++++++++++++++++++ 2 files changed, 183 insertions(+), 1 deletion(-) create mode 100644 frontend/src/components/MealPlanView.vue diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 327b6e3..94a822d 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -46,6 +46,18 @@ Receipts + + + @@ -163,12 +189,13 @@ import InventoryList from './components/InventoryList.vue' import ReceiptsView from './components/ReceiptsView.vue' import RecipesView from './components/RecipesView.vue' import SettingsView from './components/SettingsView.vue' +import MealPlanView from './components/MealPlanView.vue' import FeedbackButton from './components/FeedbackButton.vue' import { useInventoryStore } from './stores/inventory' import { useEasterEggs } from './composables/useEasterEggs' import { householdAPI } from './services/api' -type Tab = 'inventory' | 'receipts' | 'recipes' | 'settings' +type Tab = 'inventory' | 'receipts' | 'recipes' | 'settings' | 'mealplan' const currentTab = ref('inventory') const sidebarCollapsed = ref(false) diff --git a/frontend/src/components/MealPlanView.vue b/frontend/src/components/MealPlanView.vue new file mode 100644 index 0000000..dc83856 --- /dev/null +++ b/frontend/src/components/MealPlanView.vue @@ -0,0 +1,155 @@ + + + + + +