diff --git a/.vscode/settings.json b/.vscode/settings.json index 0eedd1323..aa73d8edf 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -53,8 +53,5 @@ "[svelte]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, - "editor.formatOnSave": true, - "files.associations": { - "*.protojson": "json" - } + "editor.formatOnSave": true } diff --git a/assets/layers/cafe_pub/cafe_pub.json b/assets/layers/cafe_pub/cafe_pub.json index df6bab66f..1811e3982 100644 --- a/assets/layers/cafe_pub/cafe_pub.json +++ b/assets/layers/cafe_pub/cafe_pub.json @@ -401,6 +401,7 @@ "wheelchair-access", "smoking", "service:electricity", + "seating", "dog-access", "internet", "internet-fee", @@ -412,7 +413,9 @@ "accepts_cash", "accepts_cards", "has_internet", - "has_electricity" + "has_electricity", + "outdoor_seating", + "indoor_seating" ], "deletion": { "softDeletionTags": { @@ -439,4 +442,4 @@ ] }, "allowMove": true -} +} \ No newline at end of file diff --git a/assets/layers/charging_station/charging_station.json b/assets/layers/charging_station/charging_station.json index 10f138099..fb09a0f9c 100644 --- a/assets/layers/charging_station/charging_station.json +++ b/assets/layers/charging_station/charging_station.json @@ -1790,9 +1790,9 @@ { "en": "Tesla Supercharger", "nl": "Tesla Supercharger", + "cs": "Tesla Supercharger", "de": "Tesla Supercharger", - "es": "Tesla Supercharger", - "cs": "Tesla Supercharger" + "es": "Tesla Supercharger" }, "Tesla-hpwc-model-s.svg", [ @@ -2530,43 +2530,15 @@ }, { "id": "maxstay", - "question": { - "en": "What is the maximum amount of time one is allowed to stay here?", - "nl": "Hoelang mag een voertuig hier blijven staan?", - "ca": "Quina és la quantitat màxima de temps que es permet permaneixer aquí?", - "de": "Wie lange darf man hier maximal parken?", - "es": "¿Cuál es el tiempo máximo que se permite permanecer aquí?" - }, - "freeform": { - "key": "maxstay", - "type": "pfloat" - }, - "render": { - "en": "One can stay at most {canonical(maxstay)}", - "nl": "De maximale parkeertijd hier is {canonical(maxstay)}", - "ca": "Un pot quedar-se com a màxim {canonical(maxstay)}", - "de": "Die maximale Parkdauer beträgt {canonical(maxstay)}", - "es": "Se puede permanecer como máximo {canonical(maxstay)}" - }, - "mappings": [ - { - "if": "maxstay=unlimited", - "then": { - "en": "No timelimit on leaving your vehicle here", - "nl": "Geen maximum parkeertijd", - "ca": "No hi ha límit de temps per a deixar el teu vehicle aquí", - "de": "Keine Höchstparkdauer", - "es": "Sin límite de tiempo para dejar tu vehículo aquí" - } + "builtin": "maxstay", + "override": { + "condition": { + "or": [ + "motorcar=yes", + "hgv=yes", + "bus=yes" + ] } - ], - "condition": { - "or": [ - "maxstay~*", - "motorcar=yes", - "hgv=yes", - "bus=yes" - ] } }, { @@ -2584,11 +2556,11 @@ "en": "Is this charging station part of a network?", "nl": "Is dit oplaadpunt deel van een groter netwerk?", "ca": "Aquesta estació de càrrega forma part d'una xarxa?", + "cs": "Je tato nabíjecí stanice součástí sítě?", "de": "Ist diese Ladestation Teil eines Netzwerks?", "es": "¿Este punto de carga forma parte de una red?", "pl": "Czy ta stacja ładowania jest częścią sieci?", - "uk": "Чи є ця зарядна станція частиною мережі?", - "cs": "Je tato nabíjecí stanice součástí sítě?" + "uk": "Чи є ця зарядна станція частиною мережі?" }, "freeform": { "key": "network" @@ -2609,11 +2581,11 @@ "then": { "en": "Not part of a bigger network", "nl": "Maakt geen deel uit van een groter netwerk", + "cs": "Není součástí větší sítě", "de": "Nicht Teil eines größeren Netzwerks", "es": "No forma parte de una red mayor", "pl": "Nie jest częścią większej sieci", - "uk": "Не є частиною великої мережі", - "cs": "Není součástí větší sítě" + "uk": "Не є частиною великої мережі" }, "hideInAnswer": true }, @@ -3062,11 +3034,11 @@ "en": "All vehicle types", "nl": "Alle voertuigen", "ca": "Tots els tipus de vehicles", + "cs": "Všechny typy vozidel", "de": "Ladestationen für alle Fahrzeugtypen", "es": "Todos los tipos de vehículos", "fr": "Tous les types de véhicules", - "it": "Tutti i tipi di veicoli", - "cs": "Všechny typy vozidel" + "it": "Tutti i tipi di veicoli" } }, { @@ -3074,11 +3046,11 @@ "en": "Charging station for bicycles", "nl": "Oplaadpunten voor fietsen", "ca": "Punt de recàrrega per a bicicletes", + "cs": "Nabíjecí stanice pro kola", "de": "Ladestationen für Fahrräder", "es": "Punto de carga para bicicletas", "fr": "Station de recharge pour vélos", - "it": "Stazione di ricarica per biciclette", - "cs": "Nabíjecí stanice pro kola" + "it": "Stazione di ricarica per biciclette" }, "osmTags": "bicycle=yes" }, @@ -3087,11 +3059,11 @@ "en": "Charging station for cars", "nl": "Oplaadpunten voor auto's", "ca": "Estació de càrrega per a cotxes", + "cs": "Nabíjecí stanice pro auta", "de": "Ladestationen für Autos", "es": "Punto de carga para coches", "fr": "Station de recharge pour voitures", - "it": "Stazione di ricarica per auto", - "cs": "Nabíjecí stanice pro auta" + "it": "Stazione di ricarica per auto" }, "osmTags": { "or": [ @@ -3110,11 +3082,11 @@ "en": "Only working charging stations", "nl": "Enkel werkende oplaadpunten", "ca": "Només estacions de recàrrega en funcionament", + "cs": "Pouze funkční nabíjecí stanice", "de": "Nur Ladestationen in Betrieb", "es": "Solo puntos de carga en funcionamiento", "fr": "Seulement les stations de recharge qui fonctionnent", - "it": "Solo stazioni di ricarica funzionanti", - "cs": "Pouze funkční nabíjecí stanice" + "it": "Solo stazioni di ricarica funzionanti" }, "osmTags": { "and": [ @@ -3133,10 +3105,10 @@ "en": "All connectors", "nl": "Alle types", "ca": "Tots els connectors", + "cs": "Všechny konektory", "de": "Alle Anschlüsse", "es": "Todos los conectores", - "it": "Tutti i connettori", - "cs": "Všechny konektory" + "it": "Tutti i connettori" } }, { diff --git a/assets/layers/charging_station/charging_station.proto.json b/assets/layers/charging_station/charging_station.proto.json index 12cbcadf3..8329088bb 100644 --- a/assets/layers/charging_station/charging_station.proto.json +++ b/assets/layers/charging_station/charging_station.proto.json @@ -559,34 +559,15 @@ }, { "id": "maxstay", - "question": { - "en": "What is the maximum amount of time one is allowed to stay here?", - "nl": "Hoelang mag een voertuig hier blijven staan?" - }, - "freeform": { - "key": "maxstay", - "type": "pfloat" - }, - "render": { - "en": "One can stay at most {canonical(maxstay)}", - "nl": "De maximale parkeertijd hier is {canonical(maxstay)}" - }, - "mappings": [ - { - "if": "maxstay=unlimited", - "then": { - "en": "No timelimit on leaving your vehicle here", - "nl": "Geen maximum parkeertijd" - } + "builtin": "maxstay", + "override": { + "condition": { + "or": [ + "motorcar=yes", + "hgv=yes", + "bus=yes" + ] } - ], - "condition": { - "or": [ - "maxstay~*", - "motorcar=yes", - "hgv=yes", - "bus=yes" - ] } }, { @@ -1050,4 +1031,4 @@ }, "neededChangesets": 10 } -} +} \ No newline at end of file diff --git a/assets/layers/filters/filters.json b/assets/layers/filters/filters.json index c2ef1a5c6..ffdddd3b1 100644 --- a/assets/layers/filters/filters.json +++ b/assets/layers/filters/filters.json @@ -418,7 +418,30 @@ } } ] + }, + { + "id": "outdoor_seating", + "options": [ + { + "question": { + "en": "Has outdoor seating" + }, + "icon": "./assets/layers/outdoor_seating.svg", + "osmTags": "outdoor_seating=yes" + } + ] + }, + { + "id": "indoor_seating", + "options": [ + { + "question": { + "en": "Has indoor seating" + }, + "osmTags": "indoor_seating=yes" + } + ] } ], "allowMove": false -} +} \ No newline at end of file diff --git a/assets/layers/food/food.json b/assets/layers/food/food.json index 77d776907..bc81032fa 100644 --- a/assets/layers/food/food.json +++ b/assets/layers/food/food.json @@ -804,6 +804,55 @@ } ] }, + { + "id": "drive-through", + "condition": "amenity=fast_food", + "question": { + "en": "Does this fast-food restaurant have a drive-through?", + "nl": "Heeft dit fastfoodrestaurant een drive-through?" + }, + "mappings": [ + { + "if": "drive_through=yes", + "then": { + "en": "This fast-food restaurant has a drive-through", + "nl": "Dit fastfoodrestaurant heeft een drive-through" + } + }, + { + "if": "drive_through=no", + "then": { + "en": "This fast-food restaurant does not have a drive-through", + "nl": "Dit fastfoodrestaurant heeft geen drive-through" + } + } + ] + }, + { + "id": "drive-through-opening_hours", + "condition": "drive_through=yes", + "question": { + "en": "What are the opening hours of the drive-through?", + "nl": "Wat zijn de openingsuren van de drive-through?" + }, + "freeform": { + "key": "opening_hours:drive_through", + "type": "opening_hours" + }, + "mappings": [ + { + "if": "opening_hours:drive_through=", + "then": { + "en": "The opening hours of the drive-through are the same as the restaurant", + "nl": "De openingsuren van de drive-through zijn dezelfde als die van het restaurant" + } + } + ], + "render": { + "en": "

Drive-through opening hours

{opening_hours_table(opening_hours:drive_through)}", + "nl": "

Openingsuren van de drive-through

{opening_hours_table(opening_hours:drive_through)}" + } + }, { "question": { "nl": "Heeft deze eetgelegenheid een vegetarische optie?", @@ -1341,6 +1390,7 @@ "lactose_free", "smoking", "service:electricity", + "seating", "dog-access", "internet", "internet-fee", @@ -1488,6 +1538,8 @@ "filters.sugar_free", "filters.gluten_free", "filters.lactose_free", + "outdoor_seating", + "indoor_seating", "accepts_cash", "accepts_cards", "dogs" @@ -1545,4 +1597,4 @@ ] }, "allowMove": true -} +} \ No newline at end of file diff --git a/assets/layers/parking/parking.json b/assets/layers/parking/parking.json index d00150365..2cbaeb2f0 100644 --- a/assets/layers/parking/parking.json +++ b/assets/layers/parking/parking.json @@ -350,7 +350,8 @@ "cs": "Počet parkovacích míst {capacity}", "es": "Hay {capacity} plazas de aparcamiento" } - } + }, + "maxstay" ], "deletion": { "softDeletionTags": { @@ -365,4 +366,4 @@ "enableRelocation": false, "enableImproveAccuracy": true } -} +} \ No newline at end of file diff --git a/assets/layers/questions/questions.json b/assets/layers/questions/questions.json index fdc3b6d9a..964643eac 100644 --- a/assets/layers/questions/questions.json +++ b/assets/layers/questions/questions.json @@ -3181,7 +3181,70 @@ } } ] + }, + { + "id": "seating", + "question": { + "en": "What kind of seating does {title()} have?", + "nl": "Wat voor zitplaatsen heeft {title()}?" + }, + "mappings": [ + { + "if": "outdoor_seating=yes", + "ifnot": "outdoor_seating=no", + "then": { + "en": "This place has outdoor seating", + "nl": "Deze plaats heeft zitplaatsen buiten" + }, + "icon": "./assets/layers/outdoor_seating/outdoor_seating.svg" + }, + { + "if": "indoor_seating=yes", + "ifnot": "indoor_seating=no", + "then": { + "en": "This place has indoor seating", + "nl": "Deze plaats heeft zitplaatsen binnen" + } + } + ], + "multiAnswer": true + }, + { + "id": "maxstay", + "question": { + "en": "What is the maximum amount of time one is allowed to stay here?", + "nl": "Wat is de maximale tijd die je hier mag blijven?" + }, + "freeform": { + "key": "maxstay", + "type": "pfloat" + }, + "render": { + "en": "One can stay at most {canonical(maxstay)}", + "nl": "Je mag hier maximaal {canonical(maxstay)} blijven" + }, + "mappings": [ + { + "if": "maxstay=unlimited", + "then": { + "en": "There is no limit to the amount of time one can stay here", + "nl": "Er is geen limiet aan de tijd die je hier mag blijven" + } + } + ] } ], - "allowMove": false -} + "allowMove": false, + "units": [ + { + "maxstay": { + "quantity": "duration", + "denominations": [ + "minutes", + "hours", + "days" + ] + } + } + ] +} \ No newline at end of file diff --git a/assets/layers/recycling/recycling.json b/assets/layers/recycling/recycling.json index 17d336cec..a7dbb58fb 100644 --- a/assets/layers/recycling/recycling.json +++ b/assets/layers/recycling/recycling.json @@ -1292,8 +1292,7 @@ "icon": { "path": "./assets/layers/waste_disposal/waste_disposal.svg", "class": "medium" - }, - "hideInAnswer": "recycling_type=container" + } }, { "if": "recycling:bicycles=yes", @@ -1795,4 +1794,4 @@ "enableRelocation": true, "enableImproveAccuracy": true } -} +} \ No newline at end of file diff --git a/assets/layers/stairs/escalator.svg b/assets/layers/stairs/escalator.svg new file mode 100644 index 000000000..454a4656a --- /dev/null +++ b/assets/layers/stairs/escalator.svg @@ -0,0 +1,6 @@ + + + + + +