feat(mobile): välj religiös kosthållning (halal m.fl.) i onboarding – filtrerar fläsk (MIKRO 62)
CI / Typecheck, test & build (push) Failing after 42s
CI / Typecheck, test & build (push) Failing after 42s
This commit is contained in:
@@ -42,6 +42,8 @@ const GOALS = [
|
|||||||
|
|
||||||
const DIETS = ["omnivore", "flexitarian", "pescatarian", "vegetarian", "vegan"] as const;
|
const DIETS = ["omnivore", "flexitarian", "pescatarian", "vegetarian", "vegan"] as const;
|
||||||
|
|
||||||
|
const RELIGIOUS = ["none", "halal", "kosher", "hindu_no_beef", "buddhist_vegetarian"] as const;
|
||||||
|
|
||||||
const ALLERGENS = [
|
const ALLERGENS = [
|
||||||
"gluten",
|
"gluten",
|
||||||
"milk",
|
"milk",
|
||||||
@@ -75,6 +77,7 @@ export default function OnboardingScreen() {
|
|||||||
|
|
||||||
// Step B state
|
// Step B state
|
||||||
const [diet, setDiet] = useState<string>("omnivore");
|
const [diet, setDiet] = useState<string>("omnivore");
|
||||||
|
const [religiousRule, setReligiousRule] = useState<string>("none");
|
||||||
const [allergens, setAllergens] = useState<string[]>([]);
|
const [allergens, setAllergens] = useState<string[]>([]);
|
||||||
const [householdKind, setHouseholdKind] = useState<"create" | "join" | "skip">("create");
|
const [householdKind, setHouseholdKind] = useState<"create" | "join" | "skip">("create");
|
||||||
const [householdName, setHouseholdName] = useState(t("onboarding.householdDefaultName"));
|
const [householdName, setHouseholdName] = useState(t("onboarding.householdDefaultName"));
|
||||||
@@ -136,6 +139,7 @@ export default function OnboardingScreen() {
|
|||||||
preferences: {
|
preferences: {
|
||||||
dietPattern: diet,
|
dietPattern: diet,
|
||||||
allergens,
|
allergens,
|
||||||
|
religiousRule,
|
||||||
},
|
},
|
||||||
householdChoice:
|
householdChoice:
|
||||||
householdKind === "create"
|
householdKind === "create"
|
||||||
@@ -280,6 +284,19 @@ export default function OnboardingScreen() {
|
|||||||
</Row>
|
</Row>
|
||||||
|
|
||||||
<Spacer size={spacing.sm} />
|
<Spacer size={spacing.sm} />
|
||||||
|
<Spacer size={spacing.sm} />
|
||||||
|
<Heading>{t("onboarding.religious")}</Heading>
|
||||||
|
<Row>
|
||||||
|
{RELIGIOUS.map((id) => (
|
||||||
|
<Chip
|
||||||
|
key={id}
|
||||||
|
label={t(`onboarding.religious.${id}` as never)}
|
||||||
|
selected={religiousRule === id}
|
||||||
|
onPress={() => setReligiousRule(id)}
|
||||||
|
/>
|
||||||
|
))}
|
||||||
|
</Row>
|
||||||
|
|
||||||
<Heading>{t("onboarding.allergies")}</Heading>
|
<Heading>{t("onboarding.allergies")}</Heading>
|
||||||
<Row>
|
<Row>
|
||||||
{ALLERGENS.map((id) => (
|
{ALLERGENS.map((id) => (
|
||||||
|
|||||||
@@ -174,6 +174,12 @@
|
|||||||
"onboarding.birthYearPlaceholder": "Födelseår",
|
"onboarding.birthYearPlaceholder": "Födelseår",
|
||||||
"onboarding.bodyTitle": "För personliga kalorimål (frivilligt)",
|
"onboarding.bodyTitle": "För personliga kalorimål (frivilligt)",
|
||||||
"onboarding.diet": "Hur äter du?",
|
"onboarding.diet": "Hur äter du?",
|
||||||
|
"onboarding.religious": "Religiös kosthållning",
|
||||||
|
"onboarding.religious.none": "Ingen",
|
||||||
|
"onboarding.religious.halal": "Halal (inget fläsk)",
|
||||||
|
"onboarding.religious.kosher": "Kosher",
|
||||||
|
"onboarding.religious.hindu_no_beef": "Inget nötkött",
|
||||||
|
"onboarding.religious.buddhist_vegetarian": "Buddhistisk vegetarisk",
|
||||||
"onboarding.diet.flexitarian": "Flexitarian",
|
"onboarding.diet.flexitarian": "Flexitarian",
|
||||||
"onboarding.diet.omnivore": "Allätare",
|
"onboarding.diet.omnivore": "Allätare",
|
||||||
"onboarding.diet.pescatarian": "Pescetarian",
|
"onboarding.diet.pescatarian": "Pescetarian",
|
||||||
|
|||||||
Reference in New Issue
Block a user