diff --git a/frontend/src/components/RecipesView.vue b/frontend/src/components/RecipesView.vue index e7f05ab..ab8ca89 100644 --- a/frontend/src/components/RecipesView.vue +++ b/frontend/src/components/RecipesView.vue @@ -21,6 +21,7 @@ v-if="activeTab === 'browse'" role="tabpanel" aria-labelledby="tab-browse" + tabindex="0" @open-recipe="openRecipeById" /> @@ -29,6 +30,7 @@ v-else-if="activeTab === 'saved'" role="tabpanel" aria-labelledby="tab-saved" + tabindex="0" @open-recipe="openRecipeById" /> @@ -37,11 +39,20 @@ v-else-if="activeTab === 'community'" role="tabpanel" aria-labelledby="tab-community" + tabindex="0" @plan-forked="onPlanForked" /> + + + -
+

Find Recipes

@@ -55,6 +66,7 @@ :key="lvl.value" :class="['btn', 'btn-secondary', { active: recipesStore.level === lvl.value }]" @click="recipesStore.level = lvl.value" + :aria-pressed="recipesStore.level === lvl.value" :title="lvl.description" > {{ lvl.label }} @@ -85,8 +97,8 @@ -
- +
+ Dietary preferences @@ -162,8 +174,9 @@
- + -
- +
+ Advanced filters @@ -189,26 +202,26 @@
- - Max Calories +
- - Max Sugar (g) +
- - Max Carbs (g) +
- - Max Sodium (mg) +
@@ -227,14 +240,16 @@ :key="style.id" :class="['btn', 'btn-secondary', 'btn-sm', { active: recipesStore.styleId === style.id }]" @click="recipesStore.styleId = recipesStore.styleId === style.id ? null : style.id" + :aria-pressed="recipesStore.styleId === style.id" >{{ style.label }}
- + -
+ - +
- + Finding recipes… + {{ filteredSuggestions.length }} recipe{{ filteredSuggestions.length !== 1 ? 's' : '' }} found
-
+
- You've used your {{ recipesStore.result.rate_limit_count }} free suggestions today. Upgrade for - unlimited. + Today's free suggestions are used up. Your limit resets tomorrow, or + upgrade for unlimited access.
@@ -320,22 +336,26 @@ v-for="lvl in availableLevels" :key="lvl" :class="['filter-chip', { active: filterLevel === lvl }]" + :aria-pressed="filterLevel === lvl" @click="filterLevel = filterLevel === lvl ? null : lvl" - >Lv{{ lvl }} + >{{ levelLabels[lvl] ?? `Level ${lvl}` }} + > Clear
@@ -348,7 +368,7 @@

No recipes match your filters.

-

No recipes found for your current pantry and settings. Try lowering the creativity level or adding more items.

+

We didn't find matches at this level. Try or adjust your filters.

@@ -398,28 +418,28 @@
- 🔥 {{ Math.round(recipe.nutrition.calories) }} kcal + Calories: {{ Math.round(recipe.nutrition.calories) }} kcal - 🧈 {{ recipe.nutrition.fat_g.toFixed(1) }}g fat + Fat: {{ recipe.nutrition.fat_g.toFixed(1) }}g fat - 💪 {{ recipe.nutrition.protein_g.toFixed(1) }}g protein + Protein: {{ recipe.nutrition.protein_g.toFixed(1) }}g protein - 🌾 {{ recipe.nutrition.carbs_g.toFixed(1) }}g carbs + Carbs: {{ recipe.nutrition.carbs_g.toFixed(1) }}g carbs - 🌿 {{ recipe.nutrition.fiber_g.toFixed(1) }}g fiber + Fiber: {{ recipe.nutrition.fiber_g.toFixed(1) }}g fiber - 🍬 {{ recipe.nutrition.sugar_g.toFixed(1) }}g sugar + Sugar: {{ recipe.nutrition.sugar_g.toFixed(1) }}g sugar - 🧂 {{ Math.round(recipe.nutrition.sodium_mg) }}mg sodium + Sodium: {{ Math.round(recipe.nutrition.sodium_mg) }}mg sodium - 🍽️ {{ recipe.nutrition.servings }} serving{{ recipe.nutrition.servings !== 1 ? 's' : '' }} + Servings: {{ recipe.nutrition.servings }} serving{{ recipe.nutrition.servings !== 1 ? 's' : '' }} ~ estimated @@ -428,7 +448,7 @@
-

You'd need:

+

You'd need:

-
- +
+ Possible swaps ({{ recipe.swap_candidates.length }})
@@ -518,6 +542,16 @@
+ +
+ Not finding what you want? + + to make something from scratch. +
+
@@ -544,6 +578,11 @@
+ + +