Skip to content

feat(popup): show today's meal plan in the popup - #252

Draft
mrshappy0 wants to merge 2 commits into
mainfrom
feature/todays-meal-plan
Draft

feat(popup): show today's meal plan in the popup#252
mrshappy0 wants to merge 2 commits into
mainfrom
feature/todays-meal-plan

Conversation

@mrshappy0

Copy link
Copy Markdown
Owner

Summary

  • Adds a "🗓️ Today's Meal Plan" widget to the top of the connected popup view — a quick glance at what's planned for today without opening Mealie.
  • Recipe entries are clickable and open the recipe directly in Mealie; freeform entries (title/text with no recipe attached) render as plain text.
  • New utils/network.ts function getTodaysMealPlan (GET /api/households/mealplans/today); new MealPlanEntry/PlanEntryType types and 'meal-plan' log feature.

This is an early draft of feature idea #2 from our roadmap discussion — happy to iterate on UX/scope based on feedback (e.g. whether to also surface tomorrow's plan, or add a "plan this recipe" action from the popup).

Test plan

  • pnpm typecheck
  • pnpm lint
  • pnpm test (new network + popup component tests included; pre-existing App.test.tsx asset-resolution failure in this sandbox is unrelated — reproduces on a clean main checkout too)
  • pnpm coverage — gate passes (92.6%)
  • Manual smoke test in a loaded browser (not yet done in this session)

🤖 Generated with Claude Code

Surfaces what's planned for today right in the popup — no need to open
Mealie to check dinner. Recipe entries link straight to the recipe in
Mealie; freeform entries (no recipe attached) render as plain text.

Adds getTodaysMealPlan (GET /households/mealplans/today) to
utils/network.ts, MealPlanEntry/PlanEntryType types, and a 'meal-plan'
log feature.
…mbient type

The TodaysMealPlan recipe-link click handler calls
normalizeMealieServerBaseUrl (from utils/network), which the test
file's module mock didn't provide, crashing the click in CI. Also
declare MealPlanEntry as an e2e ambient type — tsconfig.e2e.json
type-checks utils/network.ts transitively (via
e2e-shared/mealie-api.ts) outside WXT's auto-import context, so types
referenced there without an explicit import need a matching ambient
declaration, same as User and RecipeSummary already have.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant