Merge develop

This commit is contained in:
Pieter Vander Vennet 2025-03-06 16:12:39 +01:00
commit 8109c13b38
1490 changed files with 3768 additions and 15086 deletions

View file

@ -189,6 +189,7 @@
"id": "capacity_persons"
},
"caravansites.caravansites-toilets",
"toilet_at_amenity.toilets-wheelchair",
"questions",
"mastodon"
],

View file

@ -108,6 +108,12 @@
{
"if": "bicycle=yes",
"ifnot": "bicycle=no",
"alsoShowIf": {
"or": [
"bicycle=designated",
"bicycle=customers"
]
},
"then": {
"en": "<b>Bicycles</b> can be charged here",
"nl": "<b>Elektrische fietsen</b> kunnen hier opgeladen worden",
@ -121,6 +127,12 @@
},
{
"if": "motorcar=yes",
"alsoShowIf": {
"or": [
"motorcar=designated",
"motorcar=customers"
]
},
"ifnot": "motorcar=no",
"then": {
"en": "<b>Cars</b> can be charged here",
@ -135,6 +147,12 @@
},
{
"if": "scooter=yes",
"alsoShowIf": {
"or": [
"scooter=designated",
"scooter=customers"
]
},
"ifnot": "scooter=no",
"then": {
"en": "<b>Scooters</b> can be charged here",
@ -149,6 +167,12 @@
},
{
"if": "hgv=yes",
"alsoShowIf": {
"or": [
"hgv=designated",
"hgv=customers"
]
},
"ifnot": "hgv=no",
"then": {
"en": "<b>Heavy good vehicles</b> (such as trucks) can be charged here",
@ -162,6 +186,12 @@
},
{
"if": "bus=yes",
"alsoShowIf": {
"or": [
"bus=designated",
"bus=customers"
]
},
"ifnot": "bus=no",
"then": {
"en": "<b>Buses</b> can be charged here",
@ -2514,9 +2544,68 @@
"fee=yes",
"charge~*"
]
}
},
"mappings+": [
{
"if": {
"and": [
"payment:app~*",
"payment:app!=no",
"payment:app!=yes"
]
},
"icon": "./assets/layers/questions/smartphone.svg",
"then": {
"en": "Payment is done using a dedicated app",
"nl": "Betalen via een app van het netwerk",
"hu": "Fizetés erre a célra szolgáló alkalmazással",
"zh_Hant": "使用專用應用程式付款",
"de": "Die Bezahlung erfolgt über eine spezielle App",
"fr": "Paiement via une application",
"sl": "Plačilo se opravi z namensko aplikacijo",
"ca": "El pagament es fa amb una app dedicada",
"fil": "Binabayaran gamit ang sariling app",
"es": "El pago se realiza utilizando una aplicación dedicada",
"zh_Hans": "使用专用APP支付",
"da": "Betaling sker ved hjælp af en dedikeret app",
"nb_NO": "Betaling utføres med et eget program",
"pt": "O pagamento é feito utilizando uma aplicação dedicada",
"it": "Pagamento effettuato utilizzando un'app dedicata",
"id": "Pembayaran dilakukan dengan aplikasi khusus",
"cs": "Platba se provádí pomocí speciální aplikace",
"pl": "Płatność odbywa się za pomocą dedykowanej aplikacji"
},
"hideInAnswer": true
}
]
}
},
{
"id": "app-name",
"condition": {
"and": [
"payment:app~*",
"payment:app!=no"
]
},
"question": {
"en": "What is the name of the app used for payment?",
"nl": "Hoe heet de app die gebruikt wordt voor betaling?"
},
"freeform": {
"key": "payment:app",
"placeholder": {
"en": "Name of the app",
"nl": "Naam van de app"
},
"type": "string"
},
"render": {
"en": "Payment can be done using the app <b>{payment:app}</b>",
"nl": "Betalen kan met de app <b>{payment:app}</b>"
},
"invalidValues": "payment:app=yes"
},
{
"id": "Authentication",
"#": "In some cases, charging is free but one has to be authenticated. We only ask for authentication if fee is no (or unset). By default one sees the questions for either the payment options or the authentication options, but normally not both",

View file

@ -80,6 +80,12 @@
{
"if": "bicycle=yes",
"ifnot": "bicycle=no",
"alsoShowIf": {
"or": [
"bicycle=designated",
"bicycle=customers"
]
},
"then": {
"en": "<b>Bicycles</b> can be charged here",
"nl": "<b>Elektrische fietsen</b> kunnen hier opgeladen worden"
@ -87,6 +93,12 @@
},
{
"if": "motorcar=yes",
"alsoShowIf": {
"or": [
"motorcar=designated",
"motorcar=customers"
]
},
"ifnot": "motorcar=no",
"then": {
"en": "<b>Cars</b> can be charged here",
@ -95,6 +107,12 @@
},
{
"if": "scooter=yes",
"alsoShowIf": {
"or": [
"scooter=designated",
"scooter=customers"
]
},
"ifnot": "scooter=no",
"then": {
"en": "<b>Scooters</b> can be charged here",
@ -103,6 +121,12 @@
},
{
"if": "hgv=yes",
"alsoShowIf": {
"or": [
"hgv=designated",
"hgv=customers"
]
},
"ifnot": "hgv=no",
"then": {
"en": "<b>Heavy good vehicles</b> (such as trucks) can be charged here",
@ -111,6 +135,12 @@
},
{
"if": "bus=yes",
"alsoShowIf": {
"or": [
"bus=designated",
"bus=customers"
]
},
"ifnot": "bus=no",
"then": {
"en": "<b>Buses</b> can be charged here",
@ -455,9 +485,68 @@
"fee=yes",
"charge~*"
]
}
},
"mappings+": [
{
"if": {
"and": [
"payment:app~*",
"payment:app!=no",
"payment:app!=yes"
]
},
"icon": "./assets/layers/questions/smartphone.svg",
"then": {
"en": "Payment is done using a dedicated app",
"nl": "Betalen via een app van het netwerk",
"hu": "Fizetés erre a célra szolgáló alkalmazással",
"zh_Hant": "使用專用應用程式付款",
"de": "Die Bezahlung erfolgt über eine spezielle App",
"fr": "Paiement via une application",
"sl": "Plačilo se opravi z namensko aplikacijo",
"ca": "El pagament es fa amb una app dedicada",
"fil": "Binabayaran gamit ang sariling app",
"es": "El pago se realiza utilizando una aplicación dedicada",
"zh_Hans": "使用专用APP支付",
"da": "Betaling sker ved hjælp af en dedikeret app",
"nb_NO": "Betaling utføres med et eget program",
"pt": "O pagamento é feito utilizando uma aplicação dedicada",
"it": "Pagamento effettuato utilizzando un'app dedicata",
"id": "Pembayaran dilakukan dengan aplikasi khusus",
"cs": "Platba se provádí pomocí speciální aplikace",
"pl": "Płatność odbywa się za pomocą dedykowanej aplikacji"
},
"hideInAnswer": true
}
]
}
},
{
"id": "app-name",
"condition": {
"and": [
"payment:app~*",
"payment:app!=no"
]
},
"question": {
"en": "What is the name of the app used for payment?",
"nl": "Hoe heet de app die gebruikt wordt voor betaling?"
},
"freeform": {
"key": "payment:app",
"placeholder": {
"en": "Name of the app",
"nl": "Naam van de app"
},
"type": "string"
},
"render": {
"en": "Payment can be done using the app <b>{payment:app}</b>",
"nl": "Betalen kan met de app <b>{payment:app}</b>"
},
"invalidValues": "payment:app=yes"
},
{
"id": "Authentication",
"#": "In some cases, charging is free but one has to be authenticated. We only ask for authentication if fee is no (or unset). By default one sees the questions for either the payment options or the authentication options, but normally not both",
@ -1034,4 +1123,4 @@
},
"neededChangesets": 10
}
}
}

View file

@ -578,6 +578,43 @@
]
}
],
"filter": [
{
"id": "width",
"options": [
{
"question": {
"en": "Any/No width info",
"de": "Beliebig/Keine Breiteninformationen",
"nl": "All kerbs",
"fr": "Toute/aucune information sur la largeur",
"da": "Eventuelle/ingen bredde info",
"cs": "Jakékoliv/žádné informace o šířce",
"es": "Información de ancho/sin información de ancho",
"ca": "Qualsevol/Sense informació d'amplada",
"pl": "Dowolna/brak informacji o szerokości",
"ko": "폭 정보 있음/없음"
}
},
{
"osmTags": "width=",
"question": {
"en": "Without width info",
"de": "Beliebige Breiteninformationen",
"nl": "Geen breedtes gekend",
"fr": "Pas dinformation sur la largeur",
"da": "Uden bredde info",
"cs": "Bez informací o šířce",
"nb_NO": "Uten breddeinfo",
"ca": "Sense informació de l'amplada",
"es": "Sin información de ancho",
"pl": "Bez informacji o szerokości",
"ko": "폭 정보 없음"
}
}
]
}
],
"allowMove": {
"enableImproveAccuracy": true,
"enableRelocation": false

View file

@ -18,7 +18,13 @@
"defaults",
"in_favourite"
],
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>",
"render": {
"special": {
"type": "link",
"href": "https://wikipedia.org/wiki/{wikipedia}",
"text": "<img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/>"
}
},
"condition": {
"or": [
"wikipedia~*",
@ -29,7 +35,14 @@
{
"#": "ignore-image-in-then",
"if": "wikipedia=",
"then": "<a class='h-8' href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
"then": {
"special": {
"type": "link",
"class": "h-8",
"href": "https://www.wikidata.org/wiki/{wikidata}",
"text": "<img src='./assets/svg/wikidata.svg' alt='Wikidata'/></a>"
}
}
}
]
},

View file

@ -332,7 +332,12 @@
"en": "The tactile paving is coloured {tactile_paving:colour}.",
"nl": "De voelbare bestrating is {tactile_paving:colour} gekleurd."
},
"condition": "_geometry:type=Point"
"condition": {
"and": [
"tactile_paving!=no",
"_geometry:type=Point"
]
}
},
{
"id": "kerb-height",

View file

@ -94,6 +94,7 @@
"cs": "Z jakého materiálu je vyroben tento piknikový stůl?",
"uk": "З якого матеріалу виготовлений цей стіл для пікніка?"
},
"multiAnswer": true,
"render": {
"en": "This picnic table is made of {material}",
"nl": "Deze picknicktafel is gemaakt van {material}",

View file

@ -826,6 +826,81 @@
}
}
},
{
"id": "uniform",
"question": {
"en": "Do pupils have to wear a uniform or obey a dresscode?",
"nl": "Moeten leerlingen een uniform dragen of specifieke kledingsvoorschriften volgen?"
},
"multiAnswer": true,
"render": {
"en": "{dress_code}"
},
"freeform": {
"key": "dress_code"
},
"invalidValues": {
"or": [
{
"and": [
"dress_code~(^|.*;)uniform(.*|$)",
"dress_code~(^|.*;)(casual|obligated_colour)(.*|$)"
]
}
]
},
"mappings": [
{
"if": "dress_code=uniform",
"then": {
"en": "Students must wear a uniform, which is extensively described",
"nl": "Studenten moeten een specifiek uniform dragen"
}
},
{
"if": "dress_code=obligated_colour",
"then": {
"en": "Students must wear clothes in a specific colour scheme",
"nl": "Leerlingen moeten kleren van een bepaalde kleur dragen"
}
},
{
"if": "dress_code=casual",
"then": {
"en": "There is no formal dress code, students are allowed to come in casual wear such as t-shirt, jeans, ...",
"nl": "Er is geen uniformverplichting, leerlingen mogen kledij zoals t-shirts, jeans, ... dragen"
}
},
{
"if": "dress_code=arms_covered",
"then": {
"en": "Arms must be covered by the clothes",
"nl": "De armen moeten volledig bedekt zijn"
}
},
{
"if": "dress_code=knees_covered",
"then": {
"en": "Knees must be covered by the clothes",
"nl": "De knieën moeten volledig bedekt zijn"
}
},
{
"if": "dress_code=legs_covered",
"then": {
"en": "Legs must be covered by the clothes",
"nl": "De benen moeten volledig bedekt zijn"
}
},
{
"if": "dress_code=belly_covered",
"then": {
"en": "The belly must be covered by the clothes",
"nl": "De buik mag niet zichtbaar zijn"
}
}
]
},
"wikipedia"
],
"filter": [

View file

@ -347,6 +347,7 @@
"brand",
"contact",
"wheelchair-access",
"toilet_at_amenity.toilets-wheelchair",
"internet-all",
"dog-access"
],

View file

@ -1150,6 +1150,39 @@
],
"metacondition": "_uid~*"
},
{
"id": "mangrove-reviews-allowed",
"question": {
"en": "Should reviews be loaded when browsing an item?"
},
"mappings": [
{
"if": "mapcomplete-reviews-allowed=always",
"then": {
"en": "Show reviews by default, also in sensitive themes"
}
},
{
"if": "mapcomplete-reviews-allowed=yes",
"alsoShowIf": "mapcomplete-reviews-allowed=",
"then": {
"en": "Show reviews by default, except in sensitive themes (where we'll ask per feature)"
}
},
{
"if": "mapcomplete-reviews-allowed=ask",
"then": {
"en": "Always ask before loading"
}
},
{
"if": "mapcomplete-reviews-allowed=hidden",
"then": {
"en": "Never show reviews at all"
}
}
]
},
{
"id": "title-id",
"render": {

View file

@ -1,40 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="100"
height="100"
version="1.1"
id="svg1"
sodipodi:docname="github.svg"
viewBox="0 0 100 100"
inkscape:version="1.3.2 (1:1.3.2+202311252150+091e20ef0f)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#999999"
borderopacity="1"
inkscape:showpageshadow="2"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="8.0714286"
inkscape:cx="49"
inkscape:cy="48.00885"
inkscape:window-width="1920"
inkscape:window-height="995"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<defs
id="defs1" />
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M 48.854,0 C 21.839,0 0,22 0,49.217 c 0,21.756 13.993,40.172 33.405,46.69 2.427,0.49 3.316,-1.059 3.316,-2.362 0,-1.141 -0.08,-5.052 -0.08,-9.127 -13.59,2.934 -16.42,-5.867 -16.42,-5.867 -2.184,-5.704 -5.42,-7.17 -5.42,-7.17 -4.448,-3.015 0.324,-3.015 0.324,-3.015 4.934,0.326 7.523,5.052 7.523,5.052 4.367,7.496 11.404,5.378 14.235,4.074 0.404,-3.178 1.699,-5.378 3.074,-6.6 -10.839,-1.141 -22.243,-5.378 -22.243,-24.283 0,-5.378 1.94,-9.778 5.014,-13.2 -0.485,-1.222 -2.184,-6.275 0.486,-13.038 0,0 4.125,-1.304 13.426,5.052 a 46.97,46.97 0 0 1 12.214,-1.63 c 4.125,0 8.33,0.571 12.213,1.63 9.302,-6.356 13.427,-5.052 13.427,-5.052 2.67,6.763 0.97,11.816 0.485,13.038 3.155,3.422 5.015,7.822 5.015,13.2 0,18.905 -11.404,23.06 -22.324,24.283 1.78,1.548 3.316,4.481 3.316,9.126 0,6.6 -0.08,11.897 -0.08,13.526 0,1.304 0.89,2.853 3.316,2.364 C 83.634,89.388 97.627,70.973 97.627,49.217 97.707,22 75.788,0 48.854,0 Z"
fill="#24292f"
id="path1" />
</svg>

Before

Width:  |  Height:  |  Size: 2 KiB

View file

@ -8,7 +8,6 @@
},
"icon": "./assets/themes/architecture/architecture.svg",
"defaultBackgroundId": "protomaps.white",
"layers": [
{
"builtin": "building",

View file

@ -36,6 +36,42 @@
"startLon": 4.350103,
"hideFromOverview": false,
"layers": [
{
"id": "onwheels_entrance_data",
"passAllFeatures": true,
"pointRendering": null,
"title": null,
"tagRenderings": [],
"allowMove": false,
"lineRendering": [
{
"color": "black",
"width": 1
}
],
"shownByDefault": false,
"name": null,
"description": {
"en": "All objects which have entrance data mapped on the amenity instead of the entrance object"
},
"source": {
"osmTags": {
"and": [
"entrance=",
"indoor!=door",
"door=",
{
"or": [
"entrance:width~*",
"entrance:kerb:height~*",
"entrance:step_count~*",
"entrance:width~*"
]
}
]
}
}
},
{
"builtin": "indoors",
"override": {
@ -96,44 +132,7 @@
]
}
],
"syncSelection": "theme-only",
"filter": [
{
"id": "width",
"options": [
{
"question": {
"en": "Any/No width info",
"de": "Beliebig/Keine Breiteninformationen",
"nl": "All kerbs",
"fr": "Toute/aucune information sur la largeur",
"da": "Eventuelle/ingen bredde info",
"cs": "Jakékoliv/žádné informace o šířce",
"es": "Información de ancho/sin información de ancho",
"ca": "Qualsevol/Sense informació d'amplada",
"pl": "Dowolna/brak informacji o szerokości",
"ko": "폭 정보 있음/없음"
}
},
{
"osmTags": "width=",
"question": {
"en": "Without width info",
"de": "Beliebige Breiteninformationen",
"nl": "Geen breedtes gekend",
"fr": "Pas dinformation sur la largeur",
"da": "Uden bredde info",
"cs": "Bez informací o šířce",
"nb_NO": "Uten breddeinfo",
"ca": "Sense informació de l'amplada",
"es": "Sin información de ancho",
"pl": "Bez informacji o szerokości",
"ko": "폭 정보 없음"
}
}
]
}
]
"syncSelection": "theme-only"
}
},
{
@ -410,7 +409,14 @@
"syncSelection": "theme-only"
}
},
"walls_and_buildings",
{
"builtin": "walls_and_buildings",
"override": {
"calculatedTags+": [
"_entrance_data_within=overlapWith(feat)('onwheels_entrance_data').map(f => f.properties.id)"
]
}
},
{
"builtin": "elevator",
"override": {
@ -511,75 +517,6 @@
}
]
}
},
{
"builtin": "maproulette_challenge",
"override": {
"source": {
"geoJson": "https://maproulette.org/api/v2/challenge/view/28012"
},
"calculatedTags": [
"_closest_osm_hotel=closest(feat)('tourism_accomodation')?.properties?.id",
"_closest_osm_hotel_distance=distanceTo(feat)(feat.properties._closest_osm_hotel)",
"_has_closeby_feature=Number(feat.properties._closest_osm_hotel_distance) < 50 ? 'yes' : 'no'"
],
"+tagRenderings": [
{
"id": "import-button",
"condition": "_has_closeby_feature=no",
"render": {
"special": {
"type": "import_button",
"targetLayer": "tourism_accomodation",
"tags": "tags",
"text": {
"en": "Import",
"de": "Import",
"fr": "Importation",
"da": "Importere",
"nb_NO": "Importer",
"ca": "Importar",
"pa_PK": "ایمپورٹ کرو",
"nl": "Importeren",
"cs": "Dovoz",
"es": "Importar",
"eu": "Inportatu",
"pl": "Import",
"zh_Hant": "匯入",
"ko": "불러오기"
},
"icon": "./assets/svg/addSmall.svg",
"maproulette_id": "mr_taskId"
}
}
},
{
"id": "tag-apply-button",
"condition": "_has_closeby_feature=yes",
"render": {
"special": {
"type": "tag_apply",
"tags_to_apply": "$tags",
"message": {
"en": "Add all the suggested tags",
"de": "Alle vorgeschlagenen Tags hinzufügen",
"fr": "Ajouter tous les attributs suggérés",
"da": "Tilføj alle de foreslåede tags",
"nb_NO": "Legg til alle foreslåtte",
"nl": "Voeg alle gesuggereerde tags toe",
"cs": "Přidat všechny navrhované značky",
"es": "Agregar todas las etiquetas sugeridas",
"ca": "Afegiu totes les etiquetes suggerides",
"pl": "Dodaj wszystkie sugerowane znaczniki",
"ko": "제안된 모든 태그 추가"
},
"image": "./assets/svg/addSmall.svg",
"id_of_object_to_apply_this_one": "_closest_osm_hotel"
}
}
}
]
}
}
],
"overrideAll": {
@ -607,6 +544,5 @@
}
]
},
"enableDownload": true,
"widenFactor": 2
"enableDownload": true
}