diff --git a/apps/mobile/src/app/recipes.tsx b/apps/mobile/src/app/recipes.tsx index 341d1eb..525b076 100644 --- a/apps/mobile/src/app/recipes.tsx +++ b/apps/mobile/src/app/recipes.tsx @@ -42,14 +42,26 @@ interface BrowseRecipe { verificationStatus: string; } -const CATEGORIES = [ +// De flesta kategorier filtrerar på måltidstyp (MEAL_TYPES). "Baka" filtrerar i +// stället på taggen "baking" (bullar/bröd/pajer) – därför bär varje kategori +// antingen ett mealType eller ett tag. Etiketter återanvänder myday.mealType.* +// där de finns; annars en egen svensk etikett. +const CATEGORIES: ReadonlyArray<{ + key: string; + labelKey: string | null; + label?: string; + mealType?: string; + tag?: string; + glyph: string; +}> = [ { key: "all", labelKey: null, glyph: "🍴" }, - { key: "breakfast", labelKey: "myday.mealType.breakfast", glyph: "🥣" }, - { key: "lunch", labelKey: "myday.mealType.lunch", glyph: "🥗" }, - { key: "dinner", labelKey: "myday.mealType.dinner", glyph: "🍽️" }, - { key: "snack", labelKey: "myday.mealType.snack", glyph: "🍎" }, - { key: "dessert", labelKey: "myday.mealType.dessert", glyph: "🍰" }, -] as const; + { key: "breakfast", labelKey: "myday.mealType.breakfast", mealType: "breakfast", glyph: "🥣" }, + { key: "lunch", labelKey: "myday.mealType.lunch", mealType: "lunch", glyph: "🥗" }, + { key: "dinner", labelKey: "myday.mealType.dinner", mealType: "dinner", glyph: "🍽️" }, + { key: "snack", labelKey: "myday.mealType.snack", mealType: "snack", glyph: "🍎" }, + { key: "dessert", labelKey: "myday.mealType.dessert", mealType: "dessert", glyph: "🍰" }, + { key: "baking", labelKey: null, label: "Baka", tag: "baking", glyph: "🥐" }, +]; export default function BrowseRecipesScreen() { const [category, setCategory] = useState("all"); @@ -60,8 +72,10 @@ export default function BrowseRecipesScreen() { queryKey: ["browse-recipes", category, term], queryFn: () => { // Bygg query-strängen som resten av appen (template + encodeURIComponent). + const cat = CATEGORIES.find((c) => c.key === category); let path = "/v1/recipes?limit=50"; - if (category !== "all") path += `&mealType=${category}`; + if (cat?.mealType) path += `&mealType=${cat.mealType}`; + if (cat?.tag) path += `&tags=${cat.tag}`; if (term) path += `&search=${encodeURIComponent(term)}`; return api<{ recipes: BrowseRecipe[] }>(path); }, @@ -85,7 +99,7 @@ export default function BrowseRecipesScreen() { {CATEGORIES.map((c) => (