diff --git a/Models/ThemeConfig/TagRenderingConfig.ts b/Models/ThemeConfig/TagRenderingConfig.ts
index 38dba39c3..4abc9367c 100644
--- a/Models/ThemeConfig/TagRenderingConfig.ts
+++ b/Models/ThemeConfig/TagRenderingConfig.ts
@@ -684,9 +684,8 @@ export default class TagRenderingConfig {
let condition: BaseUIElement = undefined
if (this.condition !== undefined && !this.condition?.matchesProperties({})) {
condition = new Combine([
- "Only visible if ",
- new FixedUiElement(this.condition.asHumanString(false, false, {})).SetClass("code"),
- " is shown",
+ "This tagrendering is only visible in the popup if the following condition is met:",
+ new FixedUiElement(this.condition.asHumanString(false, false, {})).SetClass("code")
])
}
diff --git a/assets/layers/dentist/dentist.json b/assets/layers/dentist/dentist.json
new file mode 100644
index 000000000..6c89b6de7
--- /dev/null
+++ b/assets/layers/dentist/dentist.json
@@ -0,0 +1,71 @@
+{
+ "id": "dentist",
+ "name": {
+ "en": "Dentist",
+ "nl": "Tandarts"
+ },
+ "description": {
+ "en": "This layer shows dentist offices"
+ },
+ "source": {
+ "osmTags": "amenity=dentist"
+ },
+ "title": {
+ "render": {
+ "en": "Dentist Office {name}",
+ "de": "Arztpraxis {name}",
+ "nl": "Dokterspraktijk {name}",
+ "fr": "Cabinet medical {name}"
+ }
+ },
+ "minzoom": 13,
+ "tagRenderings": [
+ "images",
+ "opening_hours",
+ "phone",
+ "email",
+ "website",
+ {
+ "question": {
+ "en": "What is the name of this dentist?"
+ },
+ "render": {
+ "en": "This dentist is called {name}"
+ },
+ "freeform": {
+ "key": "name"
+ },
+ "id": "name"
+ }
+ ],
+ "presets": [
+ {
+ "title": {
+ "en": "a dentists office",
+ "de": "eine Zahnarztpraxis",
+ "nl": "een tandartspraktijk",
+ "fr": "un cabinet de dentistes"
+ },
+ "tags": [
+ "amenity=dentist"
+ ]
+ }
+ ],
+ "filter": [
+ "open_now"
+ ],
+ "mapRendering": [
+ {
+ "icon": {
+ "render": "circle:white;./assets/layers/dentist/dentist.svg"
+ },
+ "iconSize": "40,40,center",
+ "location": [
+ "point",
+ "centroid"
+ ]
+ }
+ ],
+ "deletion": true,
+ "allowMove": true
+}
diff --git a/assets/layers/doctors/dentist.svg b/assets/layers/dentist/dentist.svg
similarity index 100%
rename from assets/layers/doctors/dentist.svg
rename to assets/layers/dentist/dentist.svg
diff --git a/assets/layers/dentist/license_info.json b/assets/layers/dentist/license_info.json
new file mode 100644
index 000000000..a7a30a41b
--- /dev/null
+++ b/assets/layers/dentist/license_info.json
@@ -0,0 +1,12 @@
+[
+ {
+ "path": "dentist.svg",
+ "license": "CC0",
+ "authors": [
+ "OSM Carto"
+ ],
+ "sources": [
+ "https://wiki.openstreetmap.org/wiki/File:Dentist-14.svg"
+ ]
+ }
+]
\ No newline at end of file
diff --git a/assets/layers/doctors/doctors.json b/assets/layers/doctors/doctors.json
index afd2c36d6..34b1b78b9 100644
--- a/assets/layers/doctors/doctors.json
+++ b/assets/layers/doctors/doctors.json
@@ -8,19 +8,11 @@
"pa_PK": "ڈاکٹر"
},
"description": {
- "en": "This layer shows doctor offices, dentists and other healthcare facilities",
- "de": "Diese Ebene zeigt Arztpraxen, Zahnärzte und andere Gesundheitseinrichtungen",
- "nl": "Deze laag toont dokterspraktijken, tandartsen en andere gezondheidszorgfaciliteiten",
- "fr": "Ce calque montre les cabinets médicaux, les dentistes et autres établissements de santé"
+ "en": "This layer shows doctor offices"
},
"source": {
- "osmTags": {
- "or": [
- "amenity=doctors",
- "amenity=dentist",
- "healthcare=physiotherapist"
- ]
- }
+ "osmTags": "amenity=doctors"
+
},
"title": {
"render": {
@@ -28,29 +20,12 @@
"de": "Arztpraxis {name}",
"nl": "Dokterspraktijk {name}",
"fr": "Cabinet medical {name}"
- },
- "mappings": [
- {
- "if": "amenity=doctors",
- "then": "Doctors Office {name}"
- },
- {
- "if": "amenity=dentist",
- "then": "Dentists office {name}"
- },
- {
- "if": "healthcare=physiotherapist",
- "then": "Physiotherapists office {name}"
- }
- ]
+ }
},
"minzoom": 13,
"tagRenderings": [
+
"images",
- "opening_hours",
- "phone",
- "email",
- "website",
{
"question": {
"en": "What is the name of this doctors place?",
@@ -69,8 +44,11 @@
},
"id": "name"
},
+ "opening_hours_by_appointment",
+ "phone",
+ "email",
+ "website",
{
- "condition": "amenity=doctors",
"id": "specialty",
"render": {
"en": "This doctor is specialized in {healthcare:speciality}",
@@ -87,6 +65,7 @@
"freeform": {
"key": "healthcare:speciality"
},
+ "multiAnswer": true,
"mappings": [
{
"if": "healthcare:speciality=general",
@@ -138,28 +117,6 @@
"tags": [
"amenity=doctors"
]
- },
- {
- "title": {
- "en": "a dentists office",
- "de": "eine Zahnarztpraxis",
- "nl": "een tandartspraktijk",
- "fr": "un cabinet de dentistes"
- },
- "tags": [
- "amenity=dentist"
- ]
- },
- {
- "title": {
- "en": "a physiotherapists office",
- "de": "Praxis eines Physiotherapeuten",
- "nl": "een fysiotherapeutenpraktijk",
- "fr": "un cabinet de kinésithérapeutes"
- },
- "tags": [
- "healthcare=physiotherapist"
- ]
}
],
"filter": [
@@ -177,5 +134,6 @@
]
}
],
- "deletion": true
-}
\ No newline at end of file
+ "deletion": true,
+ "allowMove": true
+}
diff --git a/assets/layers/doctors/license_info.json b/assets/layers/doctors/license_info.json
index cc0457d85..90889fdc6 100644
--- a/assets/layers/doctors/license_info.json
+++ b/assets/layers/doctors/license_info.json
@@ -1,14 +1,4 @@
[
- {
- "path": "dentist.svg",
- "license": "CC0",
- "authors": [
- "OSM Carto"
- ],
- "sources": [
- "https://wiki.openstreetmap.org/wiki/File:Dentist-14.svg"
- ]
- },
{
"path": "doctors.svg",
"license": "cc0",
diff --git a/assets/layers/physiotherapist/doctors.svg b/assets/layers/physiotherapist/doctors.svg
new file mode 100644
index 000000000..94516a688
--- /dev/null
+++ b/assets/layers/physiotherapist/doctors.svg
@@ -0,0 +1,20 @@
+
+
+
+
diff --git a/assets/layers/physiotherapist/license_info.json b/assets/layers/physiotherapist/license_info.json
new file mode 100644
index 000000000..90889fdc6
--- /dev/null
+++ b/assets/layers/physiotherapist/license_info.json
@@ -0,0 +1,12 @@
+[
+ {
+ "path": "doctors.svg",
+ "license": "cc0",
+ "authors": [
+ "osmcarto"
+ ],
+ "sources": [
+ "https://wiki.openstreetmap.org/wiki/File:Doctors-14.svg"
+ ]
+ }
+]
\ No newline at end of file
diff --git a/assets/layers/physiotherapist/physiotherapist.json b/assets/layers/physiotherapist/physiotherapist.json
new file mode 100644
index 000000000..0f878b985
--- /dev/null
+++ b/assets/layers/physiotherapist/physiotherapist.json
@@ -0,0 +1,73 @@
+{
+ "id": "physiotherapist",
+ "name": {
+ "en": "Physiotherapist",
+ "nl": "Kinesist"
+ },
+ "description": {
+ "en": "This layer shows physiotherapists",
+ "nl": "Deze laag toont kinesisten"
+ },
+ "source": {
+ "osmTags": "healthcare=physiotherapist"
+ },
+ "title": {
+ "render": {
+ "en": "Physiotherapist {name}",
+ "nl": "Kinesist {name}"
+ }
+ },
+ "minzoom": 13,
+ "tagRenderings": [
+ "images",
+ {
+ "question": {
+ "en": "What is the name of this physiotherapists office?",
+ "nl": "Wat is de naam van deze kinesistenpraktijk?"
+ },
+ "render": {
+ "en": "This physiotherapists office is called {name}",
+ "nl": "Deze kinesistenpraktijk heet {name}"
+ },
+ "freeform": {
+ "key": "name"
+ },
+ "id": "name"
+ },
+ "opening_hours_by_appointment",
+ "phone",
+ "email",
+ "website"
+
+ ],
+ "presets": [
+ {
+ "title": {
+ "en": "a physiotherapists office",
+ "de": "Praxis eines Physiotherapeuten",
+ "nl": "een fysiotherapeutenpraktijk",
+ "fr": "un cabinet de kinésithérapeutes"
+ },
+ "tags": [
+ "healthcare=physiotherapist"
+ ]
+ }
+ ],
+ "filter": [
+ "open_now"
+ ],
+ "mapRendering": [
+ {
+ "icon": {
+ "render": "circle:white;./assets/layers/physiotherapist/doctors.svg"
+ },
+ "iconSize": "40,40,center",
+ "location": [
+ "point",
+ "centroid"
+ ]
+ }
+ ],
+ "deletion": true,
+ "allowMove": true
+}
diff --git a/assets/tagRenderings/questions.json b/assets/tagRenderings/questions.json
index 4be1d7c88..95a79226d 100644
--- a/assets/tagRenderings/questions.json
+++ b/assets/tagRenderings/questions.json
@@ -681,6 +681,26 @@
]
}
},
+ "opening_hours_by_appointment": {
+ "builtin": "opening_hours",
+ "override": {
+ "mappings": [
+ {
+ "if": "opening_hours=\"by appointment\"",
+ "then": {
+ "en": "Only by appointment"
+ }
+ },
+ {
+ "if": "opening_hours~i~\"by appointment\"|by appointment",
+ "then": {
+ "en": "Only by appointment"
+ },
+ "hideInAnswer": true
+ }
+ ]
+ }
+ },
"service:electricity": {
"#": "service:socket describes if a pub, restaurant or café offers electricity to their customers.",
"question": {
@@ -1471,4 +1491,4 @@
"es": "El nombre de red es {internet_access:ssid}"
}
}
-}
\ No newline at end of file
+}
diff --git a/assets/themes/healthcare/healthcare.json b/assets/themes/healthcare/healthcare.json
index 208e816f1..93d5e84ad 100644
--- a/assets/themes/healthcare/healthcare.json
+++ b/assets/themes/healthcare/healthcare.json
@@ -15,7 +15,7 @@
"de": "Auf dieser Karte werden verschiedene Gesundheitseinrichtungen angezeigt",
"fr": "Cette carte affiche différents éléments liés à la santé",
"da": "På dette kort er forskellige sundhedsrelaterede emner vist",
- "nl": "Op deze kaart vind je dokters en apothekers"
+ "nl": "Op deze kaart vind je dokters, apothekers, kinesisten, ziekenhuizen en andere gezondheidsgerelateerde diensten"
},
"icon": "./assets/layers/doctors/doctors.svg",
"startLat": 50.8465573,
@@ -25,7 +25,9 @@
"widenFactor": 2,
"layers": [
"doctors",
+ "physiotherapist",
+ "dentist",
"hospital",
"pharmacy"
]
-}
\ No newline at end of file
+}
diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
index fe37ee177..d0726a92e 100644
--- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json
+++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
@@ -1,16 +1,13 @@
{
"id": "mapcomplete-changes",
"title": {
- "en": "Changes made with MapComplete",
- "de": "Mit MapComplete vorgenommene Änderungen"
+ "en": "Changes made with MapComplete"
},
"shortDescription": {
- "en": "Shows changes made by MapComplete",
- "de": "Zeigt Änderungen an, die von MapComplete vorgenommen wurden"
+ "en": "Shows changes made by MapComplete"
},
"description": {
- "en": "This maps shows all the changes made with MapComplete",
- "de": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen"
+ "en": "This maps shows all the changes made with MapComplete"
},
"icon": "./assets/svg/logo.svg",
"hideFromOverview": true,
@@ -23,10 +20,7 @@
{
"id": "mapcomplete-changes",
"name": {
- "en": "Changeset centers",
- "ca": "Centres del conjunt de canvis",
- "de": "Zentrum der Änderungssätze",
- "pa_PK": "تبدیلیاں دے کیندر"
+ "en": "Changeset centers"
},
"minzoom": 0,
"source": {
@@ -37,48 +31,41 @@
},
"title": {
"render": {
- "en": "Changeset for {theme}",
- "de": "Änderungssatz für {theme}"
+ "en": "Changeset for {theme}"
}
},
"description": {
- "en": "Shows all MapComplete changes",
- "de": "Zeigt alle MapComplete-Änderungen"
+ "en": "Shows all MapComplete changes"
},
"tagRenderings": [
{
"id": "show_changeset_id",
"render": {
- "en": "Changeset {id}",
- "de": "Änderungssatz {id}"
+ "en": "Changeset {id}"
}
},
{
"id": "contributor",
"question": {
- "en": "What contributor did make this change?",
- "de": "Welcher Mitwirkende hat diese Änderung vorgenommen?"
+ "en": "What contributor did make this change?"
},
"freeform": {
"key": "user"
},
"render": {
- "en": "Change made by {user}",
- "de": "Änderung vorgenommen von {user}"
+ "en": "Change made by {user}"
}
},
{
"id": "theme-id",
"question": {
- "en": "What theme was used to make this change?",
- "de": "Welches Thema wurde für diese Änderung verwendet?"
+ "en": "What theme was used to make this change?"
},
"freeform": {
"key": "theme"
},
"render": {
- "en": "Change with theme {theme}",
- "de": "Geändert mit Thema {theme}"
+ "en": "Change with theme {theme}"
}
},
{
@@ -87,23 +74,19 @@
"key": "locale"
},
"question": {
- "en": "What locale (language) was this change made in?",
- "de": "In welchem Gebietsschema (Sprache) wurde diese Änderung vorgenommen?"
+ "en": "What locale (language) was this change made in?"
},
"render": {
- "en": "User locale is {locale}",
- "de": "Benutzergebietsschema ist {locale}"
+ "en": "User locale is {locale}"
}
},
{
"id": "host",
"render": {
- "en": "Change with with {host}",
- "de": "Geändert über {host}"
+ "en": "Change with with {host}"
},
"question": {
- "en": "What host (website) was this change made with?",
- "de": "Über welchen Host (Webseite) wurde diese Änderung vorgenommen?"
+ "en": "What host (website) was this change made with?"
},
"freeform": {
"key": "host"
@@ -436,9 +419,7 @@
}
],
"question": {
- "en": "Themename contains {search}",
- "ca": "El nom de la petició conté {search}",
- "de": "Themename enthält {search}"
+ "en": "Themename contains {search}"
}
}
]
@@ -454,8 +435,7 @@
}
],
"question": {
- "en": "Made by contributor {search}",
- "de": "Erstellt vom Mitwirkenden {search}"
+ "en": "Made by contributor {search}"
}
}
]
@@ -471,8 +451,7 @@
}
],
"question": {
- "en": "Not made by contributor {search}",
- "de": "Nicht von Mitwirkendem {search}"
+ "en": "Not made by contributor {search}"
}
}
]
@@ -489,8 +468,7 @@
}
],
"question": {
- "en": "Made before {search}",
- "de": "Erstellt vor {search}"
+ "en": "Made before {search}"
}
}
]
@@ -507,8 +485,7 @@
}
],
"question": {
- "en": "Made after {search}",
- "de": "Erstellt nach {search}"
+ "en": "Made after {search}"
}
}
]
@@ -524,8 +501,7 @@
}
],
"question": {
- "en": "User language (iso-code) {search}",
- "de": "Benutzersprache (ISO-Code) {search}"
+ "en": "User language (iso-code) {search}"
}
}
]
@@ -541,8 +517,7 @@
}
],
"question": {
- "en": "Made with host {search}",
- "de": "Erstellt mit host {search}"
+ "en": "Made with host {search}"
}
}
]
@@ -557,8 +532,7 @@
{
"id": "link_to_more",
"render": {
- "en": "More statistics can be found here",
- "de": "Weitere Statistiken finden Sie unter hier"
+ "en": "More statistics can be found here"
}
},
{