- Add GermanTranslator service with 200+ ingredient and meal name mappings
- Translate titles and ingredients when fetching from TheMealDB
- Add click-to-view recipe detail modal on week plan meal cards
- Import RecipeDetail component in WeekPlanView
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
.NET remaps "sub" to a long URI claim type by default, causing
User.FindFirst("sub") to return null. MapInboundClaims=false
preserves the original claim names.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
vue-tsc fails in Docker bun:1 image due to module resolution.
Split into build (vite only) and typecheck scripts. Added missing
tsconfig.node.json referenced by tsconfig.json.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Vite needs VITE_ZITADEL_ISSUER and VITE_ZITADEL_CLIENT_ID at build time
for the frontend bundle.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Backend: rename routes /mealplan→/mealplans, /shoppinglist→/shopping
- Backend: simplify swap/reroll to entry-centric endpoints (by entryId)
- Frontend: fix all interfaces to use string GUIDs instead of numbers
- Frontend: fix field names (weekStart, date, totalAmount) to match backend JSON
- Frontend: shopping toggle by itemName instead of non-existent id
- Frontend: handle 204 No Content on DELETE responses
- Docker-compose: use env vars for DB credentials
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>