Fas 2 steg 3: Household Trust Score (admin + i18n status i appen)
This commit is contained in:
@@ -40,7 +40,7 @@ interface BudgetSummary {
|
||||
export default function HomeScreen() {
|
||||
const inventory = useQuery({
|
||||
queryKey: ["inventory"],
|
||||
queryFn: () => api<{ items: InventoryItem[] }>("/v1/inventory?limit=100"),
|
||||
queryFn: () => api<{ items: InventoryItem[]; trustStatus?: "up_to_date" | "needs_check" | "uncertain" }>("/v1/inventory?limit=100"),
|
||||
});
|
||||
const expiring = useQuery({
|
||||
queryKey: ["inventory-expiring"],
|
||||
@@ -64,9 +64,16 @@ export default function HomeScreen() {
|
||||
grouped.set(item.locationName, list);
|
||||
}
|
||||
|
||||
const trustStatus = inventory.data?.trustStatus;
|
||||
|
||||
return (
|
||||
<Screen>
|
||||
<Title>{t("home.title")}</Title>
|
||||
{trustStatus && (
|
||||
<Small style={{ marginBottom: spacing.xs, opacity: 0.8 }}>
|
||||
{t(`home.trustStatus.${trustStatus}`)}
|
||||
</Small>
|
||||
)}
|
||||
|
||||
<Row>
|
||||
<QuickLink label={t("home.shopping")} glyph="🛒" onPress={() => router.push("/shopping")} />
|
||||
|
||||
@@ -9,6 +9,7 @@ import {
|
||||
View,
|
||||
type StyleProp,
|
||||
type TextInputProps,
|
||||
type TextStyle,
|
||||
type ViewStyle,
|
||||
} from "react-native";
|
||||
import { SafeAreaView } from "react-native-safe-area-context";
|
||||
@@ -46,8 +47,8 @@ export function Heading({ children }: { children: ReactNode }) {
|
||||
export function Body({ children, muted = false }: { children: ReactNode; muted?: boolean }) {
|
||||
return <Text style={[typography.body, muted && { color: colors.textMuted }]}>{children}</Text>;
|
||||
}
|
||||
export function Small({ children }: { children: ReactNode }) {
|
||||
return <Text style={typography.small}>{children}</Text>;
|
||||
export function Small({ children, style }: { children: ReactNode; style?: StyleProp<TextStyle> }) {
|
||||
return <Text style={[typography.small, style]}>{children}</Text>;
|
||||
}
|
||||
|
||||
export function Card({
|
||||
|
||||
@@ -346,5 +346,8 @@
|
||||
"wte.subtitle": "Ud fra hvad I har derhjemme, hvad der snart skal bruges, og hvad I kan lide.",
|
||||
"wte.title": "Hvad skal vi spise?",
|
||||
"wte.whyTitle": "Hvorfor dette forslag?",
|
||||
"onboarding.primaryGoal": "Primært"
|
||||
"onboarding.primaryGoal": "Primært",
|
||||
"home.trustStatus.up_to_date": "Opdateret",
|
||||
"home.trustStatus.needs_check": "Nogle varer skal tjekkes",
|
||||
"home.trustStatus.uncertain": "Lageret er usikkert – lav en hurtig tjek"
|
||||
}
|
||||
|
||||
@@ -346,5 +346,8 @@
|
||||
"wte.subtitle": "Basierend auf dem, was ihr zuhause habt, was bald verbraucht werden sollte und was ihr mögt.",
|
||||
"wte.title": "Was essen wir?",
|
||||
"wte.whyTitle": "Warum dieser Vorschlag?",
|
||||
"onboarding.primaryGoal": "Primär"
|
||||
"onboarding.primaryGoal": "Primär",
|
||||
"home.trustStatus.up_to_date": "Aktuell",
|
||||
"home.trustStatus.needs_check": "Einige Artikel müssen geprüft werden",
|
||||
"home.trustStatus.uncertain": "Bestand unsicher – schnelle Kontrolle empfohlen"
|
||||
}
|
||||
|
||||
@@ -346,5 +346,8 @@
|
||||
"wte.subtitle": "Based on what you have at home, what should be used up, and what you like.",
|
||||
"wte.title": "What's for dinner?",
|
||||
"wte.whyTitle": "Why this suggestion?",
|
||||
"onboarding.primaryGoal": "Primary"
|
||||
"onboarding.primaryGoal": "Primary",
|
||||
"home.trustStatus.up_to_date": "Up to date",
|
||||
"home.trustStatus.needs_check": "Some items need checking",
|
||||
"home.trustStatus.uncertain": "Inventory uncertain – do a quick check"
|
||||
}
|
||||
|
||||
@@ -346,5 +346,8 @@
|
||||
"wte.subtitle": "Según lo que tenéis en casa, lo que conviene usar pronto y lo que os gusta.",
|
||||
"wte.title": "¿Qué comemos?",
|
||||
"wte.whyTitle": "¿Por qué esta sugerencia?",
|
||||
"onboarding.primaryGoal": "Principal"
|
||||
"onboarding.primaryGoal": "Principal",
|
||||
"home.trustStatus.up_to_date": "Actualizado",
|
||||
"home.trustStatus.needs_check": "Algunos productos necesitan revisión",
|
||||
"home.trustStatus.uncertain": "Inventario incierto – haz una revisión rápida"
|
||||
}
|
||||
|
||||
@@ -346,5 +346,8 @@
|
||||
"wte.subtitle": "Sen mukaan mitä kotona on, mikä pitäisi käyttää pian ja mistä pidätte.",
|
||||
"wte.title": "Mitä syödään?",
|
||||
"wte.whyTitle": "Miksi tämä ehdotus?",
|
||||
"onboarding.primaryGoal": "Ensisijainen"
|
||||
"onboarding.primaryGoal": "Ensisijainen",
|
||||
"home.trustStatus.up_to_date": "Ajan tasalla",
|
||||
"home.trustStatus.needs_check": "Joitakin tuotteita on tarkistettava",
|
||||
"home.trustStatus.uncertain": "Varasto epävarma – tee pikatarkistus"
|
||||
}
|
||||
|
||||
@@ -346,5 +346,8 @@
|
||||
"wte.subtitle": "Selon ce que vous avez chez vous, ce qu'il faut consommer vite et vos goûts.",
|
||||
"wte.title": "On mange quoi ?",
|
||||
"wte.whyTitle": "Pourquoi cette suggestion ?",
|
||||
"onboarding.primaryGoal": "Principal"
|
||||
"onboarding.primaryGoal": "Principal",
|
||||
"home.trustStatus.up_to_date": "À jour",
|
||||
"home.trustStatus.needs_check": "Certains articles doivent être vérifiés",
|
||||
"home.trustStatus.uncertain": "Inventaire incertain – faites un rapide contrôle"
|
||||
}
|
||||
|
||||
@@ -346,5 +346,8 @@
|
||||
"wte.subtitle": "In base a ciò che avete in casa, a cosa va consumato presto e ai vostri gusti.",
|
||||
"wte.title": "Cosa mangiamo?",
|
||||
"wte.whyTitle": "Perché questo suggerimento?",
|
||||
"onboarding.primaryGoal": "Primario"
|
||||
"onboarding.primaryGoal": "Primario",
|
||||
"home.trustStatus.up_to_date": "Aggiornato",
|
||||
"home.trustStatus.needs_check": "Alcuni articoli devono essere controllati",
|
||||
"home.trustStatus.uncertain": "Inventario incerto – fai un controllo rapido"
|
||||
}
|
||||
|
||||
@@ -346,5 +346,8 @@
|
||||
"wte.subtitle": "Basert på hva dere har hjemme, hva som snart bør brukes, og hva dere liker.",
|
||||
"wte.title": "Hva skal vi spise?",
|
||||
"wte.whyTitle": "Hvorfor dette forslaget?",
|
||||
"onboarding.primaryGoal": "Primært"
|
||||
"onboarding.primaryGoal": "Primært",
|
||||
"home.trustStatus.up_to_date": "Oppdatert",
|
||||
"home.trustStatus.needs_check": "Noen varer må sjekkes",
|
||||
"home.trustStatus.uncertain": "Lageret er usikkert – gjør en rask sjekk"
|
||||
}
|
||||
|
||||
@@ -346,5 +346,8 @@
|
||||
"wte.subtitle": "Op basis van wat jullie in huis hebben, wat snel op moet en wat jullie lekker vinden.",
|
||||
"wte.title": "Wat eten we?",
|
||||
"wte.whyTitle": "Waarom deze suggestie?",
|
||||
"onboarding.primaryGoal": "Primair"
|
||||
"onboarding.primaryGoal": "Primair",
|
||||
"home.trustStatus.up_to_date": "Bijgewerkt",
|
||||
"home.trustStatus.needs_check": "Sommige items moeten worden gecontroleerd",
|
||||
"home.trustStatus.uncertain": "Voorraad onzeker – doe een snelle controle"
|
||||
}
|
||||
|
||||
@@ -360,5 +360,8 @@
|
||||
"wte.subtitle": "Na podstawie tego, co macie w domu, co trzeba wkrótce zużyć i co lubicie.",
|
||||
"wte.title": "Co jemy?",
|
||||
"wte.whyTitle": "Dlaczego ta propozycja?",
|
||||
"onboarding.primaryGoal": "Główny"
|
||||
"onboarding.primaryGoal": "Główny",
|
||||
"home.trustStatus.up_to_date": "Aktualne",
|
||||
"home.trustStatus.needs_check": "Niektóre produkty wymagają sprawdzenia",
|
||||
"home.trustStatus.uncertain": "Stan niepewny – zrób szybką kontrolę"
|
||||
}
|
||||
|
||||
@@ -346,5 +346,8 @@
|
||||
"wte.subtitle": "Com base no que têm em casa, no que deve ser usado em breve e no que gostam.",
|
||||
"wte.title": "O que vamos comer?",
|
||||
"wte.whyTitle": "Porquê esta sugestão?",
|
||||
"onboarding.primaryGoal": "Principal"
|
||||
"onboarding.primaryGoal": "Principal",
|
||||
"home.trustStatus.up_to_date": "Atualizado",
|
||||
"home.trustStatus.needs_check": "Alguns itens precisam de verificação",
|
||||
"home.trustStatus.uncertain": "Inventário incerto – faça uma verificação rápida"
|
||||
}
|
||||
|
||||
@@ -346,5 +346,8 @@
|
||||
"wte.subtitle": "Utifrån vad ni har hemma, vad som bör användas och vad ni gillar.",
|
||||
"wte.title": "Vad ska vi äta?",
|
||||
"wte.whyTitle": "Varför detta förslag?",
|
||||
"onboarding.primaryGoal": "Primärt"
|
||||
"onboarding.primaryGoal": "Primärt",
|
||||
"home.trustStatus.up_to_date": "Uppdaterat",
|
||||
"home.trustStatus.needs_check": "Några varor behöver kontrolleras",
|
||||
"home.trustStatus.uncertain": "Lagret är osäkert – gör en snabbkoll"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user