Themes(icecream,food): rework diet options, show advanced diet options in icecream layer

This commit is contained in:
Pieter Vander Vennet 2025-07-09 02:32:07 +02:00
parent 7e26dde1bc
commit 216b8abccb
5 changed files with 296 additions and 335 deletions

View file

@ -7,34 +7,33 @@
{
"id": "diets_title",
"labels": [
"diets",
"diets_group",
"diets_grouped",
"hidden"
],
"render": {
"en": "Dietary options"
"en": "Dietary options",
"nl": "Dieetopties"
}
},
{
"id": "diets_grouped",
"id": "diets_group",
"labels": [
"diets",
"diets_grouped"
],
"render": {
"special": {
"type": "group",
"header": "diets_title",
"labels": "diets-content"
"labels": "diets_content"
}
}
},
{
"id": "sugar_free",
"labels": [
"diets",
"diets_grouped",
"diets-content",
"diets_content",
"hidden"
],
"question": {
@ -110,8 +109,8 @@
{
"id": "lactose_free",
"labels": [
"diets",
"diets-content",
"diets_content",
"diets_grouped",
"hidden"
],
"question": {
@ -180,10 +179,8 @@
{
"id": "gluten_free",
"labels": [
"diets",
"diets-content",
"diets_content",
"diets_grouped",
"hidden"
],
"question": {
@ -253,9 +250,8 @@
{
"id": "vegan",
"labels": [
"diets",
"diets_grouped",
"diets-content",
"diets_content",
"hidden"
],
"question": {
@ -267,6 +263,11 @@
"it": "Questo luogo offre un'opzione vegana?",
"cs": "Má toto místo nabídku pro vegany?"
},
"condition": {
"and": [{
"and": ["amenity!=fast_food", "amenity!=restaurant"]
}]
},
"mappings": [
{
"if": "diet:vegan=only",
@ -315,13 +316,7 @@
],
"onSoftDelete": [
"diet:vegan="
],
"condition": {
"and": [
"amenity!=fast_food",
"amenity!=restaurant"
]
}
},
{
"question": {
@ -335,12 +330,15 @@
"it": "Questa attività serve pasti vegani?"
},
"labels": [
"diets",
"diets-content",
"diets_content",
"diets_grouped",
"hidden"
],
"condition": {
"and": [{
"or": ["amenity=fast_food", "amenity=restaurant"]
}]
},
"mappings": [
{
"if": "diet:vegan=no",
@ -411,17 +409,6 @@
}
}
],
"condition": {
"and": [
"cuisine!=friture",
{
"or": [
"amenity=fast_food",
"amenity=restaurant"
]
}
]
},
"id": "vegan_food"
},
{
@ -511,30 +498,17 @@
],
"labels": [
"diets",
"diets-content",
"diets_content",
"diets_grouped",
"hidden"
],
"condition": {
"and": [
"cuisine!=friture",
{
"or": [
"amenity=fast_food",
"amenity=restaurant"
]
}
]
},
"id": "vegetarian"
},
{
"labels": [
"diets",
"diets-content",
"diets_content",
"diets_grouped",
"hidden"
],
"question": {
@ -603,25 +577,12 @@
}
}
],
"condition": {
"and": [
"cuisine!=friture",
{
"or": [
"amenity=fast_food",
"amenity=restaurant"
]
}
]
},
"id": "halal"
},
{
"labels": [
"diets",
"diets-content",
"diets_content",
"diets_grouped",
"hidden"
],
"id": "organic",
@ -675,282 +636,20 @@
"it": "Sono disponibili solo opzioni biologiche"
}
}
],
"condition": {
"and": [
"cuisine!=friture",
{
"or": [
"amenity=fast_food",
"amenity=restaurant"
]
}
]
}
},
{
"labels": [
"diets",
"diets_grouped",
"diets-content",
"hidden"
],
"id": "friture-vegetarian",
"question": {
"en": "Does this fries shop have vegetarian snacks?",
"nl": "Heeft deze frituur vegetarische snacks?",
"fr": "Cette friterie est-elle équipée de snacks végétariens ?",
"de": "Hat dieser Frittenladen vegetarische Snacks?",
"ca": "Aquesta botiga de patates fregides ofereix snacks vegetarians?",
"cs": "Má tento obchod s hranolky vegetariánské občerstvení?",
"es": "¿Esta freiduría tiene refrigerios vegetarianos?",
"it": "Questo negozio di patatine fritte ha snack vegetariani?"
},
"mappings": [
{
"if": "diet:vegetarian=only",
"then": {
"en": "Serves only vegetarian snacks and burgers",
"de": "Nur vegetarische Snacks und Burger erhältlich",
"es": "Sirve solo refrigerios y hamburguesas vegetarianas",
"ca": "Servix només aperitius i hamburgueses vegetarianes",
"it": "Serve solo snack e hamburger vegetariani",
"cs": "Podává jen vegetariánské snacky a burgery"
}
},
{
"if": "diet:vegetarian=yes",
"then": {
"en": "Vegetarian snacks are available",
"nl": "Er zijn vegetarische snacks aanwezig",
"fr": "Des collations végétariens sont disponibles",
"de": "Vegetarische Snacks sind erhältlich",
"ca": "Hi ha snacks vegetarians disponibles",
"cs": "Vegetariánské občerstvení je k dispozici",
"es": "Hay refrigerios vegetarianos disponibles",
"it": "Sono disponibili snack vegetariani"
}
},
{
"if": "diet:vegetarian=limited",
"then": {
"en": "Only a small selection of snacks are vegetarian",
"nl": "Slechts enkele vegetarische snacks",
"fr": "Quelques snacks végétariens seulement",
"de": "Nur eine kleine Auswahl an vegetarischen Snacks ist erhältlich",
"ca": "Només una petita selecció de snacks son vegetarians",
"cs": "Pouze malý výběr občerstvení je vegetariánský",
"es": "Solo una pequeña selección de refrigerios son vegetarianos",
"it": "Solo una piccola selezione di snack sono vegetariani"
}
},
{
"if": "diet:vegetarian=no",
"then": {
"en": "No vegetarian snacks are available",
"nl": "Geen vegetarische snacks beschikbaar",
"fr": "Pas d'en-cas végétariens disponibles",
"de": "Es sind keine vegetarischen Snacks erhältlich",
"ca": "No hi han sacks disponibles",
"cs": "Vegetariánské občerstvení není k dispozici",
"es": "No hay refrigerios vegetarianos disponibles",
"it": "Non sono disponibili snack vegetariani"
}
}
],
"condition": "cuisine=friture"
},
{
"id": "friture-vegan",
"labels": [
"diets",
"diets_grouped",
"diets-content",
"hidden"
],
"question": {
"en": "Does this fries shop have vegan snacks?",
"nl": "Heeft deze frituur veganistische snacks?",
"fr": "Cette friterie est-elle équipée de snacks végétaliens ?",
"de": "Gibt es in dieser Pommesbude auch vegane Snacks?",
"ca": "Aquesta botiga de patates fregides té snacks vegans?",
"cs": "Má tento obchod s hranolky veganské občerstvení?",
"es": "¿Esta freiduría tiene refrigerios veganos?",
"it": "Questo negozio di patatine fritte ha snack vegani?"
},
"mappings": [
{
"if": "diet:vegan=only",
"then": {
"en": "Serves only vegan snacks and burgers",
"de": "Nur vegane Snacks und Burger erhältlich",
"es": "Sirve solo refrigerios y hamburguesas veganas",
"ca": "Servix només aperitius i hamburgueses veganes",
"it": "Serve solo snack e hamburger vegani",
"cs": "Podává jen veganské snacky a burgery"
}
},
{
"if": "diet:vegan=yes",
"then": {
"en": "Vegan snacks are available",
"nl": "Er zijn veganistische snacks aanwezig",
"fr": "Des collations végétaliens sont disponibles",
"de": "Vegane Snacks sind erhältlich",
"ca": "Hi han snacks vegans disponibles",
"cs": "Veganské občerstvení je k dispozici",
"es": "Hay refrigerios veganos disponibles",
"it": "Sono disponibili snack vegani"
}
},
{
"if": "diet:vegan=limited",
"then": {
"en": "A small selection of vegan snacks are available",
"nl": "Slechts enkele veganistische snacks",
"fr": "Quelques snacks végétaliens seulement",
"de": "Nur eine kleine Auswahl an veganen Snacks ist erhältlich",
"ca": "Hi ha una petita selecció de snacks vegans disponibles",
"cs": "K dispozici je malý výběr veganského občerstvení",
"es": "Hay una pequeña selección de refrigerios veganos disponibles",
"it": "È disponibile una piccola selezione di snack vegani"
}
},
{
"if": "diet:vegan=no",
"then": {
"en": "No vegan snacks are available",
"nl": "Geen veganistische snacks beschikbaar",
"fr": "Pas d'en-cas végétaliens disponibles",
"de": "Es sind keine veganen Snacks verfügbar",
"ca": "No hi ha snacks vegans disponibles",
"cs": "Veganské občerstvení není k dispozici",
"es": "No hay refrigerios veganos disponibles",
"it": "Non sono disponibili snack vegani"
}
}
],
"condition": "cuisine=friture"
},
{
"id": "friture-organic",
"labels": [
"diets",
"diets_grouped",
"diets-content",
"hidden"
],
"question": {
"en": "Does this fries shop offer organic snacks?",
"nl": "Heeft deze frituur biologische snacks?",
"de": "Bietet diese Pommesbude biologische Snacks an?",
"ca": "Aquesta botiga de patates fregides ofereix snacks orgànics?",
"cs": "Nabízí tento obchod s hranolkami BIO občerstvení?",
"es": "¿Esta freiduría ofrece refrigerios orgánicos?",
"it": "Questo negozio di patatine fritte offre snack biologici?"
},
"mappings": [
{
"if": "organic=yes",
"then": {
"en": "Organic snacks are available",
"nl": "Er zijn biologische snacks aanwezig",
"de": "Biologische Snacks sind erhältlich",
"ca": "Hi ha disponibles snacks orgànics",
"cs": "K dispozici je BIO občerstvení",
"es": "Hay refrigerios orgánicos disponibles",
"it": "Sono disponibili snack biologici"
}
},
{
"if": "organic=no",
"then": {
"en": "No organic snacks are available",
"nl": "Geen biologische snacks beschikbaar",
"de": "Es sind keine biologischen Snacks erhältlich",
"ca": "No hi han disponibles snacks orgànics",
"cs": "Žádné BIO občerstvení k dispozici",
"es": "No hay refrigerios orgánicos disponibles",
"it": "Non sono disponibili snack biologici"
}
},
{
"if": "organic=only",
"then": {
"en": "Only organic snacks are available",
"nl": "Enkel biologische snacks zijn beschikbaar",
"de": "Es sind nur biologische Snacks erhältlich",
"ca": "Només hi han disponibles snacks orgànics",
"cs": "K dispozici je pouze BIO občerstvení",
"es": "Solo hay refrigerios orgánicos disponibles",
"it": "Sono disponibili solo snack biologici"
}
}
],
"condition": "cuisine=friture"
},
{
"id": "friture-oil",
"labels": [
"diets",
"diets_grouped",
"diets-content",
"hidden"
],
"question": {
"en": "Does this fries shop use vegetable or animal oil for cooking?",
"nl": "Bakt deze frituur met dierlijk vet of met plantaardige olie?",
"fr": "Cette friteuse fonctionne-t-elle avec de la graisse animale pour la cuisson ?",
"de": "Wird in dieser Pommesbude pflanzliches oder tierisches Fett zum Frittieren verwendet?",
"ca": "Aquesta botiga de patates fregides utilitza oli vegetal o animal per a cuinar?",
"cs": "Používá tato prodejna hranolek k pečení rostlinný nebo živočišný olej?",
"es": "¿Esta freiduría usa aceite vegetal o animal para cocinar?",
"it": "Questo negozio di patatine fritte usa olio vegetale o animale per cucinare?"
},
"mappings": [
{
"if": "friture:oil=vegetable",
"then": {
"en": "The frying is done with vegetable oil",
"nl": "Bakt in plantaardige olie",
"fr": "La friture est faite avec de l'huile végétale",
"de": "Es wird pflanzliches Fett zum Frittieren verwendet",
"es": "La fritura se hace con aceite vegetal",
"ca": "El fregit es fa amb oli vegetal",
"pl": "Smażenie jest na oleju roślinnym",
"cs": "Smažení se provádí s rostlinným olejem",
"it": "La frittura viene fatta con olio vegetale"
}
},
{
"if": "friture:oil=animal",
"then": {
"en": "The frying is done with animal oil",
"nl": "Dierlijk vet",
"fr": "La friture est faite avec de la graisse animale",
"de": "Es wird tierisches Fett zum Frittieren verwendet",
"es": "La fritura se hace con aceite animal",
"ca": "El fregit es fa amb oli animal",
"pl": "Smażenie jest na oleju zwierzęcym",
"cs": "Smažení se provádí na živočišném oleji",
"it": "La frittura viene fatta con olio animale"
}
}
],
"condition": "cuisine=friture"
},
{
"id": "diet-questions",
"labels": [
"hidden",
"diets",
"diets_grouped",
"diets-content"
"diets_content"
],
"render": {
"special": {
"type": "questions",
"labels": "diets-content",
"labels": "diets_content",
"show_all": "yes"
}
}

View file

@ -904,7 +904,259 @@
},
"child_highchair",
"kids_area",
"diets.diets",
"diets.diets_group",
{
"builtin": "diets.diets_content",
"override": {
"condition": {
"and+":["cuisine!=friture"]
}
}
},
{
"labels": [
"diets_content",
"hidden"
],
"id": "friture-vegetarian",
"question": {
"en": "Does this fries shop have vegetarian snacks?",
"nl": "Heeft deze frituur vegetarische snacks?",
"fr": "Cette friterie est-elle équipée de snacks végétariens ?",
"de": "Hat dieser Frittenladen vegetarische Snacks?",
"ca": "Aquesta botiga de patates fregides ofereix snacks vegetarians?",
"cs": "Má tento obchod s hranolky vegetariánské občerstvení?",
"es": "¿Esta freiduría tiene refrigerios vegetarianos?",
"it": "Questo negozio di patatine fritte ha snack vegetariani?"
},
"mappings": [
{
"if": "diet:vegetarian=only",
"then": {
"en": "Serves only vegetarian snacks and burgers",
"de": "Nur vegetarische Snacks und Burger erhältlich",
"es": "Sirve solo refrigerios y hamburguesas vegetarianas",
"ca": "Servix només aperitius i hamburgueses vegetarianes",
"it": "Serve solo snack e hamburger vegetariani",
"cs": "Podává jen vegetariánské snacky a burgery"
}
},
{
"if": "diet:vegetarian=yes",
"then": {
"en": "Vegetarian snacks are available",
"nl": "Er zijn vegetarische snacks aanwezig",
"fr": "Des collations végétariens sont disponibles",
"de": "Vegetarische Snacks sind erhältlich",
"ca": "Hi ha snacks vegetarians disponibles",
"cs": "Vegetariánské občerstvení je k dispozici",
"es": "Hay refrigerios vegetarianos disponibles",
"it": "Sono disponibili snack vegetariani"
}
},
{
"if": "diet:vegetarian=limited",
"then": {
"en": "Only a small selection of snacks are vegetarian",
"nl": "Slechts enkele vegetarische snacks",
"fr": "Quelques snacks végétariens seulement",
"de": "Nur eine kleine Auswahl an vegetarischen Snacks ist erhältlich",
"ca": "Només una petita selecció de snacks son vegetarians",
"cs": "Pouze malý výběr občerstvení je vegetariánský",
"es": "Solo una pequeña selección de refrigerios son vegetarianos",
"it": "Solo una piccola selezione di snack sono vegetariani"
}
},
{
"if": "diet:vegetarian=no",
"then": {
"en": "No vegetarian snacks are available",
"nl": "Geen vegetarische snacks beschikbaar",
"fr": "Pas d'en-cas végétariens disponibles",
"de": "Es sind keine vegetarischen Snacks erhältlich",
"ca": "No hi han sacks disponibles",
"cs": "Vegetariánské občerstvení není k dispozici",
"es": "No hay refrigerios vegetarianos disponibles",
"it": "Non sono disponibili snack vegetariani"
}
}
],
"condition": "cuisine=friture"
},
{
"id": "friture-vegan",
"labels": [
"diets_content",
"hidden"
],
"question": {
"en": "Does this fries shop have vegan snacks?",
"nl": "Heeft deze frituur veganistische snacks?",
"fr": "Cette friterie est-elle équipée de snacks végétaliens ?",
"de": "Gibt es in dieser Pommesbude auch vegane Snacks?",
"ca": "Aquesta botiga de patates fregides té snacks vegans?",
"cs": "Má tento obchod s hranolky veganské občerstvení?",
"es": "¿Esta freiduría tiene refrigerios veganos?",
"it": "Questo negozio di patatine fritte ha snack vegani?"
},
"mappings": [
{
"if": "diet:vegan=only",
"then": {
"en": "Serves only vegan snacks and burgers",
"de": "Nur vegane Snacks und Burger erhältlich",
"es": "Sirve solo refrigerios y hamburguesas veganas",
"ca": "Servix només aperitius i hamburgueses veganes",
"it": "Serve solo snack e hamburger vegani",
"cs": "Podává jen veganské snacky a burgery"
}
},
{
"if": "diet:vegan=yes",
"then": {
"en": "Vegan snacks are available",
"nl": "Er zijn veganistische snacks aanwezig",
"fr": "Des collations végétaliens sont disponibles",
"de": "Vegane Snacks sind erhältlich",
"ca": "Hi han snacks vegans disponibles",
"cs": "Veganské občerstvení je k dispozici",
"es": "Hay refrigerios veganos disponibles",
"it": "Sono disponibili snack vegani"
}
},
{
"if": "diet:vegan=limited",
"then": {
"en": "A small selection of vegan snacks are available",
"nl": "Slechts enkele veganistische snacks",
"fr": "Quelques snacks végétaliens seulement",
"de": "Nur eine kleine Auswahl an veganen Snacks ist erhältlich",
"ca": "Hi ha una petita selecció de snacks vegans disponibles",
"cs": "K dispozici je malý výběr veganského občerstvení",
"es": "Hay una pequeña selección de refrigerios veganos disponibles",
"it": "È disponibile una piccola selezione di snack vegani"
}
},
{
"if": "diet:vegan=no",
"then": {
"en": "No vegan snacks are available",
"nl": "Geen veganistische snacks beschikbaar",
"fr": "Pas d'en-cas végétaliens disponibles",
"de": "Es sind keine veganen Snacks verfügbar",
"ca": "No hi ha snacks vegans disponibles",
"cs": "Veganské občerstvení není k dispozici",
"es": "No hay refrigerios veganos disponibles",
"it": "Non sono disponibili snack vegani"
}
}
],
"condition": "cuisine=friture"
},
{
"id": "friture-organic",
"labels": [
"diets_content",
"hidden"
],
"question": {
"en": "Does this fries shop offer organic snacks?",
"nl": "Heeft deze frituur biologische snacks?",
"de": "Bietet diese Pommesbude biologische Snacks an?",
"ca": "Aquesta botiga de patates fregides ofereix snacks orgànics?",
"cs": "Nabízí tento obchod s hranolkami BIO občerstvení?",
"es": "¿Esta freiduría ofrece refrigerios orgánicos?",
"it": "Questo negozio di patatine fritte offre snack biologici?"
},
"mappings": [
{
"if": "organic=yes",
"then": {
"en": "Organic snacks are available",
"nl": "Er zijn biologische snacks aanwezig",
"de": "Biologische Snacks sind erhältlich",
"ca": "Hi ha disponibles snacks orgànics",
"cs": "K dispozici je BIO občerstvení",
"es": "Hay refrigerios orgánicos disponibles",
"it": "Sono disponibili snack biologici"
}
},
{
"if": "organic=no",
"then": {
"en": "No organic snacks are available",
"nl": "Geen biologische snacks beschikbaar",
"de": "Es sind keine biologischen Snacks erhältlich",
"ca": "No hi han disponibles snacks orgànics",
"cs": "Žádné BIO občerstvení k dispozici",
"es": "No hay refrigerios orgánicos disponibles",
"it": "Non sono disponibili snack biologici"
}
},
{
"if": "organic=only",
"then": {
"en": "Only organic snacks are available",
"nl": "Enkel biologische snacks zijn beschikbaar",
"de": "Es sind nur biologische Snacks erhältlich",
"ca": "Només hi han disponibles snacks orgànics",
"cs": "K dispozici je pouze BIO občerstvení",
"es": "Solo hay refrigerios orgánicos disponibles",
"it": "Sono disponibili solo snack biologici"
}
}
],
"condition": "cuisine=friture"
},
{
"id": "friture-oil",
"labels": [
"diets_content",
"hidden"
],
"question": {
"en": "Does this fries shop use vegetable or animal oil for cooking?",
"nl": "Bakt deze frituur met dierlijk vet of met plantaardige olie?",
"fr": "Cette friteuse fonctionne-t-elle avec de la graisse animale pour la cuisson ?",
"de": "Wird in dieser Pommesbude pflanzliches oder tierisches Fett zum Frittieren verwendet?",
"ca": "Aquesta botiga de patates fregides utilitza oli vegetal o animal per a cuinar?",
"cs": "Používá tato prodejna hranolek k pečení rostlinný nebo živočišný olej?",
"es": "¿Esta freiduría usa aceite vegetal o animal para cocinar?",
"it": "Questo negozio di patatine fritte usa olio vegetale o animale per cucinare?"
},
"mappings": [
{
"if": "friture:oil=vegetable",
"then": {
"en": "The frying is done with vegetable oil",
"nl": "Bakt in plantaardige olie",
"fr": "La friture est faite avec de l'huile végétale",
"de": "Es wird pflanzliches Fett zum Frittieren verwendet",
"es": "La fritura se hace con aceite vegetal",
"ca": "El fregit es fa amb oli vegetal",
"pl": "Smażenie jest na oleju roślinnym",
"cs": "Smažení se provádí s rostlinným olejem",
"it": "La frittura viene fatta con olio vegetale"
}
},
{
"if": "friture:oil=animal",
"then": {
"en": "The frying is done with animal oil",
"nl": "Dierlijk vet",
"fr": "La friture est faite avec de la graisse animale",
"de": "Es wird tierisches Fett zum Frittieren verwendet",
"es": "La fritura se hace con aceite animal",
"ca": "El fregit es fa amb oli animal",
"pl": "Smażenie jest na oleju zwierzęcym",
"cs": "Smažení se provádí na živočišném oleji",
"it": "La frittura viene fatta con olio animale"
}
}
],
"condition": "cuisine=friture"
},
{
"id": "friture-take-your-container",
"question": {

View file

@ -119,7 +119,7 @@
"cs": "Jaký je název tohoto zmrzlinářství?",
"it": "Qual è il nome di questa gelateria?"
},
"id": "1",
"id": "icecream_name",
"freeform": {
"key": "name"
},
@ -135,9 +135,9 @@
},
"opening_hours",
"contact",
"diets.diets_grouped",
"payment-options",
"wheelchair-access",
"diets.diets_grouped",
"toilet_at_amenity_lib.all"
],
"allowMove": true,

View file

@ -68,7 +68,8 @@
"builtin": "ice_cream",
"hideTagRenderingsWithLabels": [
"images",
"reviews"
"reviews",
"lactose_free"
],
"override": {
"source": {
@ -88,7 +89,8 @@
"builtin": "ice_cream",
"hideTagRenderingsWithLabels": [
"images",
"reviews"
"reviews",
"lactose_free"
],
"override": {
"name": null,

View file

@ -38,6 +38,7 @@
}
}
}
let isTesting = state.featureSwitchIsTesting
</script>
{#if tagRenderings.length > 0}
@ -57,4 +58,11 @@
{/each}
</AccordionSingle>
</div>
{:else if $isTesting}
<div class="alert">
Group not loaded as no labels match {labels.join(", ")}
{#if blacklist.length > 0}
(with blacklist {blacklist.join(", ")})
{/if}
</div>
{/if}