fix(recept): bakverk ur mellanmal + sub-kategorier, bladdra pa forstasidan, relevantare forslag
Kategorisering (din notis - bakverk hor till Baka, inte mellanmal): - Sub-typer bread/bun/pie/cake/cookie i RECIPE_TAGS. - Bullar/kakor/pajer/chokladbollar -> dessert (inte snack) + sub-tagg; brod -> breakfast. Befintliga lussekatter/saffransbullar taggas 'bun'. - Browse: sub-chips under Baka (Brod/Bullar/Paj/Tartor & kakor/Smakakor). Bladdra pa forstasidan (din onskan): - Kategori-genvagar pa 'Vad ska vi ata' -> oppnar bladdraren forvald (/recipes?cat=). recipes.tsx laser ?cat=. Relevantare 'Vad ska vi ata' (snurrar samma triviala): - view=pantry -> view=default (tackning vager tungt men inte allenaradande, ger variation), limit 15 -> 30 (storre pool sa 'Visa fler' upprepar senare). Felsokning inkopslista: - Tydligare felmeddelande (HTTP-status vs natverksfel) sa root cause syns. Full typecheck 20/20, invariant-test gront.
This commit is contained in:
@@ -2,7 +2,7 @@ import { useState } from "react";
|
||||
import { Alert, Pressable, View } from "react-native";
|
||||
import { router, useLocalSearchParams } from "expo-router";
|
||||
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
||||
import { api } from "@/lib/api";
|
||||
import { api, ApiError } from "@/lib/api";
|
||||
import { t } from "@/lib/i18n";
|
||||
import { formatMinor } from "@/lib/money";
|
||||
import {
|
||||
@@ -162,8 +162,16 @@ export default function RecipeScreen() {
|
||||
`${count} ${count === 1 ? "vara" : "varor"} lades till.`,
|
||||
);
|
||||
},
|
||||
onError: (err) =>
|
||||
Alert.alert(t("common.oops"), err instanceof Error ? err.message : t("common.error")),
|
||||
onError: (err) => {
|
||||
// Visa tydlig diagnostik: HTTP-status vs nätverksfel (hjälper felsökning).
|
||||
const detail =
|
||||
err instanceof ApiError
|
||||
? `[${err.status}] ${err.message}`
|
||||
: err instanceof Error
|
||||
? err.message
|
||||
: t("common.error");
|
||||
Alert.alert(t("common.oops"), detail);
|
||||
},
|
||||
});
|
||||
|
||||
if (query.isLoading) return <LoadingView />;
|
||||
@@ -269,7 +277,10 @@ export default function RecipeScreen() {
|
||||
</Row>
|
||||
</Row>
|
||||
{ingredients.map((ing) => (
|
||||
<Row key={ing.id ?? (ing.displayName ?? ing.displayNameSv)} style={{ justifyContent: "space-between" }}>
|
||||
<Row
|
||||
key={ing.id ?? ing.displayName ?? ing.displayNameSv}
|
||||
style={{ justifyContent: "space-between" }}
|
||||
>
|
||||
<Body>
|
||||
{ing.displayName ?? ing.displayNameSv}
|
||||
{ing.optional ? " (valfritt)" : ""}
|
||||
|
||||
Reference in New Issue
Block a user