diff --git a/assets/layers/filters/filters.json b/assets/layers/filters/filters.json index db570487e..4b1f6edad 100644 --- a/assets/layers/filters/filters.json +++ b/assets/layers/filters/filters.json @@ -173,6 +173,27 @@ } } ] + }, + { + "id": "free", + "options": [ + { + "question": { + "en": "Free to use", + "nl": "Gratis toegankelijk", + "de": "Nutzung kostenlos", + "fr": "Utilisation gratuite", + "da": "Gratis at bruge" + }, + "osmTags": { + "or": [ + "fee=no", + "fee=0", + "charge=0" + ] + } + } + ] } ] -} +} \ No newline at end of file diff --git a/assets/layers/shower/license_info.json b/assets/layers/shower/license_info.json new file mode 100644 index 000000000..c95abdc9e --- /dev/null +++ b/assets/layers/shower/license_info.json @@ -0,0 +1,12 @@ +[ + { + "path": "shower.svg", + "license": "CC0", + "authors": [ + "James" + ], + "sources": [ + "https://github.com/gravitystorm/openstreetmap-carto/blob/master/symbols/amenity/shower.svg" + ] + } +] \ No newline at end of file diff --git a/assets/layers/shower/shower.json b/assets/layers/shower/shower.json new file mode 100644 index 000000000..4831bd663 --- /dev/null +++ b/assets/layers/shower/shower.json @@ -0,0 +1,187 @@ +{ + "id": "shower", + "name": { + "en": "Shower" + }, + "minzoom": 12, + "source": { + "osmTags": "amenity=shower" + }, + "title": { + "render": { + "en": "Shower" + } + }, + "presets": [ + { + "title": { + "en": "a shower" + }, + "description": { + "en": "A (public) shower" + }, + "tags": [ + "amenity=shower" + ] + } + ], + "tagRenderings": [ + "images", + "level", + { + "id": "access", + "question": { + "en": "Who can use this shower?" + }, + "mappings": [ + { + "if": "access=yes", + "then": { + "en": "Anyone can use this shower" + } + }, + { + "if": "access=customers", + "then": { + "en": "Only customers can use this shower" + } + }, + { + "if": "access=key", + "then": { + "en": "Accesible, but one has to ask for a key" + } + } + ] + }, + { + "id": "fee", + "question": { + "en": "Is there a fee for using this shower?" + }, + "mappings": [ + { + "if": "fee=yes", + "then": { + "en": "There is a fee for using this shower" + } + }, + { + "if": "fee=no", + "then": { + "en": "This shower is free to use" + }, + "addExtraTags": [ + "charge=" + ] + } + ] + }, + { + "id": "charge", + "condition": "fee=yes", + "question": { + "en": "How much does it cost to use this shower?" + }, + "freeform": { + "key": "charge", + "type": "string", + "placeholder": { + "en": "e.g. 1.50 EUR" + } + }, + "render": { + "en": "It costs {charge} to use this shower" + } + }, + "opening_hours", + { + "id": "hot_water", + "question": { + "en": "Does this shower have hot water available?" + }, + "mappings": [ + { + "if": "hot_water=yes", + "then": { + "en": "Hot water is available here" + } + }, + { + "if": "hot_water=fee", + "then": { + "en": "Hot water is available here, but there is a fee" + } + }, + { + "if": "hot_water=no", + "then": { + "en": "There is no hot water available here" + } + } + ] + }, + { + "builtin": "payment-options-split", + "override": { + "condition": { + "or": [ + "fee=yes", + "hot_water=fee" + ] + } + } + } + ], + "filter": [ + "free", + { + "id": "hot-water", + "options": [ + { + "question": { + "en": "Hot water available" + }, + "osmTags": { + "or": [ + "hot_water=yes", + "hot_water=fee" + ] + } + } + ] + }, + "open_now" + ], + "deletion": { + "softDeletionTags": { + "and": [ + "disused:amenity={amenity}", + "amenity=" + ] + }, + "neededChangesets": 1 + }, + "allowMove": { + "enableImproveAccuracy": true, + "enableRelocation": false + }, + "mapRendering": [ + { + "icon": "circle:white;./assets/layers/shower/shower.svg", + "location": [ + "point", + "centroid" + ], + "iconBadges": [ + { + "if": "opening_hours~*", + "then": "icons.isOpen" + } + ] + } + ], + "description": { + "en": "A layer showing (public) showers" + } +} \ No newline at end of file diff --git a/assets/layers/shower/shower.svg b/assets/layers/shower/shower.svg new file mode 100644 index 000000000..4ff22a701 --- /dev/null +++ b/assets/layers/shower/shower.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + diff --git a/assets/layers/toilet/toilet.json b/assets/layers/toilet/toilet.json index 02ae4005c..85f7bc2e6 100644 --- a/assets/layers/toilet/toilet.json +++ b/assets/layers/toilet/toilet.json @@ -241,7 +241,11 @@ "condition": "fee=yes", "freeform": { "key": "charge", - "type": "string" + "type": "string", + "placeholder": { + "en": "e.g. 0.50 EUR", + "nl": "bijv. 0.50 EUR" + } }, "id": "toilet-charge" }, @@ -642,27 +646,7 @@ } ] }, - { - "id": "free", - "options": [ - { - "question": { - "en": "Free to use", - "nl": "Gratis toegankelijk", - "de": "Nutzung kostenlos", - "fr": "Utilisation gratuite", - "da": "Gratis at bruge" - }, - "osmTags": { - "or": [ - "fee=no", - "fee=0", - "charge=0" - ] - } - } - ] - }, + "free", "open_now" ], "deletion": { diff --git a/assets/layers/toilet_at_amenity/toilet_at_amenity.json b/assets/layers/toilet_at_amenity/toilet_at_amenity.json index f9964e306..b10d13f7a 100644 --- a/assets/layers/toilet_at_amenity/toilet_at_amenity.json +++ b/assets/layers/toilet_at_amenity/toilet_at_amenity.json @@ -344,7 +344,7 @@ "mapRendering": [ { "icon": { - "render": "./assets/layers/toilet/toilets.svg", + "render": "circle:white;./assets/layers/toilet/toilets.svg", "mappings": [ { "if": { diff --git a/assets/tagRenderings/questions.json b/assets/tagRenderings/questions.json index dcbd751bb..31ef35a1b 100644 --- a/assets/tagRenderings/questions.json +++ b/assets/tagRenderings/questions.json @@ -978,7 +978,7 @@ }, { "if": "payment:debit_cards=yes", - "ifnot": "payment_debit_cards=no", + "ifnot": "payment:debit_cards=no", "icon": "./assets/tagRenderings/payment_card.svg", "then": { "en": "Debit cards are accepted here", diff --git a/assets/themes/toilets/toilets.json b/assets/themes/toilets/toilets.json index 65419cb2c..82e18bbf6 100644 --- a/assets/themes/toilets/toilets.json +++ b/assets/themes/toilets/toilets.json @@ -41,6 +41,7 @@ "icon": "./assets/themes/toilets/toilets.svg", "layers": [ "toilet", - "toilet_at_amenity" + "toilet_at_amenity", + "shower" ] } \ No newline at end of file diff --git a/langs/layers/da.json b/langs/layers/da.json index 7f4f909dc..ec0318dc8 100644 --- a/langs/layers/da.json +++ b/langs/layers/da.json @@ -2047,6 +2047,13 @@ "question": "Åbent nu" } } + }, + "7": { + "options": { + "0": { + "question": "Gratis at bruge" + } + } } } }, @@ -2232,13 +2239,6 @@ "question": "Har et puslebord" } } - }, - "2": { - "options": { - "0": { - "question": "Gratis at bruge" - } - } } }, "name": "Toiletter", diff --git a/langs/layers/de.json b/langs/layers/de.json index e6bc1c6af..13dcdcb16 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -4474,6 +4474,13 @@ "question": "Bio-Produkte im Angebot" } } + }, + "7": { + "options": { + "0": { + "question": "Nutzung kostenlos" + } + } } } }, @@ -8226,13 +8233,6 @@ "question": "Mit Wickeltisch" } } - }, - "2": { - "options": { - "0": { - "question": "Nutzung kostenlos" - } - } } }, "name": "Toiletten", diff --git a/langs/layers/en.json b/langs/layers/en.json index 0a0dfe6b4..27f216f22 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -4480,6 +4480,13 @@ "question": "Has organic options" } } + }, + "7": { + "options": { + "0": { + "question": "Free to use" + } + } } } }, @@ -7512,6 +7519,76 @@ "render": "Shop" } }, + "shower": { + "description": "A layer showing (public) showers", + "filter": { + "1": { + "options": { + "0": { + "question": "Hot water available" + } + } + } + }, + "name": "Shower", + "presets": { + "0": { + "description": "A (public) shower", + "title": "a shower" + } + }, + "tagRenderings": { + "access": { + "mappings": { + "0": { + "then": "Anyone can use this shower" + }, + "1": { + "then": "Only customers can use this shower" + }, + "2": { + "then": "Accesible, but one has to ask for a key" + } + }, + "question": "Who can use this shower?" + }, + "charge": { + "freeform": { + "placeholder": "e.g. 1.50 EUR" + }, + "question": "How much does it cost to use this shower?", + "render": "It costs {charge} to use this shower" + }, + "fee": { + "mappings": { + "0": { + "then": "There is a fee for using this shower" + }, + "1": { + "then": "This shower is free to use" + } + }, + "question": "Is there a fee for using this shower?" + }, + "hot_water": { + "mappings": { + "0": { + "then": "Hot water is available here" + }, + "1": { + "then": "Hot water is available here, but there is a fee" + }, + "2": { + "then": "There is no hot water available here" + } + }, + "question": "Does this shower have hot water available?" + } + }, + "title": { + "render": "Shower" + } + }, "slow_roads": { "description": "All carfree roads", "tagRenderings": { @@ -7666,6 +7743,23 @@ } }, "tagRenderings": { + "basketball-hoops": { + "mappings": { + "0": { + "then": "This basketball pitch has a single hoop" + }, + "1": { + "then": "This basketball pitch has two hoops" + }, + "2": { + "then": "This basketball pitch has four hoops" + }, + "3": { + "then": "This basketball pitch has {hoops} hoops" + } + }, + "question": "How much basketball hoops does this pitch have?" + }, "sport-pitch-access": { "mappings": { "0": { @@ -8277,13 +8371,6 @@ "question": "Has a changing table" } } - }, - "2": { - "options": { - "0": { - "question": "Free to use" - } - } } }, "name": "Toilets", @@ -8342,6 +8429,9 @@ "render": "The changing table is located at {changing_table:location}" }, "toilet-charge": { + "freeform": { + "placeholder": "e.g. 0.50 EUR" + }, "question": "How much does one have to pay for these toilets?", "render": "The fee is {charge}" }, diff --git a/langs/layers/fr.json b/langs/layers/fr.json index 4a95ff067..3422af286 100644 --- a/langs/layers/fr.json +++ b/langs/layers/fr.json @@ -3153,6 +3153,13 @@ "question": "Sans information sur le revêtement podotactile" } } + }, + "7": { + "options": { + "0": { + "question": "Utilisation gratuite" + } + } } } }, @@ -5064,13 +5071,6 @@ "question": "A une table à langer" } } - }, - "2": { - "options": { - "0": { - "question": "Utilisation gratuite" - } - } } }, "name": "Toilettes", diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 61347aa03..d160b55f2 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -4365,6 +4365,13 @@ "question": "Heeft biologische opties" } } + }, + "7": { + "options": { + "0": { + "question": "Gratis toegankelijk" + } + } } } }, @@ -7895,13 +7902,6 @@ "question": "Heeft een luiertafel" } } - }, - "2": { - "options": { - "0": { - "question": "Gratis toegankelijk" - } - } } }, "name": "Toiletten", @@ -7960,6 +7960,9 @@ "render": "De luiertafel bevindt zich in {changing_table:location}" }, "toilet-charge": { + "freeform": { + "placeholder": "bijv. 0.50 EUR" + }, "question": "Hoeveel moet men betalen om deze toiletten te gebruiken?", "render": "De toiletten gebruiken kost {charge}" },