feat: German translations for TheMealDB recipes + recipe detail view
- 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>
This commit is contained in:
@@ -65,6 +65,7 @@
|
||||
:day-name="getDayName(entry.date)"
|
||||
@swap="openSwapModal(entry)"
|
||||
@reroll="handleReroll(entry)"
|
||||
@click="selectedRecipe = entry.recipe"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -98,6 +99,13 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Recipe detail modal -->
|
||||
<RecipeDetail
|
||||
v-if="selectedRecipe"
|
||||
:recipe="selectedRecipe"
|
||||
@close="selectedRecipe = null"
|
||||
/>
|
||||
|
||||
<!-- Swap modal -->
|
||||
<SwapModal
|
||||
v-if="swapEntry && recipesStore.recipes.length"
|
||||
@@ -110,14 +118,16 @@
|
||||
<script setup lang="ts">
|
||||
import { ref, computed, onMounted } from 'vue'
|
||||
import MealCard from '../components/MealCard.vue'
|
||||
import RecipeDetail from '../components/RecipeDetail.vue'
|
||||
import SwapModal from '../components/SwapModal.vue'
|
||||
import { useMealPlanStore, useRecipesStore } from '../stores/mealPlan'
|
||||
import type { MealPlanEntry } from '../stores/mealPlan'
|
||||
import type { MealPlanEntry, Recipe } from '../stores/mealPlan'
|
||||
|
||||
const store = useMealPlanStore()
|
||||
const recipesStore = useRecipesStore()
|
||||
|
||||
const swapEntry = ref<MealPlanEntry | null>(null)
|
||||
const selectedRecipe = ref<Recipe | null>(null)
|
||||
|
||||
const DAY_NAMES = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag']
|
||||
|
||||
|
||||
Reference in New Issue
Block a user