diff --git a/assets/layers/climbing_gym/climbing_gym.json b/assets/layers/climbing_gym/climbing_gym.json
index 888a1cf94..c0950960f 100644
--- a/assets/layers/climbing_gym/climbing_gym.json
+++ b/assets/layers/climbing_gym/climbing_gym.json
@@ -724,6 +724,65 @@
}
]
},
+ {
+ "id": "bouldering_mat_rental",
+ "question": {
+ "en": "Can one rent a bouldering mat here to go bouldering on other locations?",
+ "nl": "Kan hier een bouldermat gehuurd worden voor gebruik op andere locaties?"
+ },
+ "mappings": [
+ {
+ "if": {
+ "and": [
+ "service:boulder_mat:rental=yes",
+ "service:boulder_mat:rental:fee=no"
+ ]
+ },
+ "then": {
+ "en": "A boulder mat can be borrowed for free here",
+ "nl": "Een bouldermat kan hier gratis geleend worden"
+ },
+ "addExtraTags": [
+ "service:boulder_mat:rental:charge="
+ ]
+ },
+ {
+ "if": {
+ "and": [
+ "service:boulder_mat:rental=yes",
+ "service:boulder_mat:rental:charge~*"
+ ]
+ },
+ "then": {
+ "en": "A bouldermat can be rented here for {service:boulder_mat:rental:charge}",
+ "nl": "Een bouldermat kan hier gehuurd worden aan {service:boulder_mat:rental:charge}"
+ },
+ "hideInAnswer": true
+ },
+ {
+ "if": "service:boulder_mat:rental=yes",
+ "then": {
+ "en": "A boulder mat can be rented here",
+ "nl": "Een bouldermat kan hier gehuurd worden"
+ },
+ "addExtraTags": [
+ "service:boulder_mat:rental:fee=",
+ "service:boulder_mat:rental:charge="
+ ]
+ },
+ {
+ "if": "service:boulder_mat:rental=no",
+ "then": {
+ "en": "A boulder mat rope can not be rented here",
+ "nl": "Hier kan geen boldermat gehuurd worden"
+ },
+ "addExtraTags": [
+ "service:boulder_mat:rental:fee=",
+ "service:boulder_mat:rental:charge="
+ ]
+ }
+ ]
+ },
{
"builtin": "climbing.average_length",
"override": {
@@ -809,9 +868,8 @@
}
},
"shower",
- "internet",
- "internet-fee",
- "internet-ssid"
+ "internet-all",
+ "toilet_at_amenity_lib.all"
],
"allowMove": true
}
diff --git a/assets/themes/climbing/climbing.json b/assets/themes/climbing/climbing.json
index 5c7746117..1a1230f9e 100644
--- a/assets/themes/climbing/climbing.json
+++ b/assets/themes/climbing/climbing.json
@@ -65,8 +65,294 @@
"builtin": [
"climbing_club",
"climbing_gym",
+ "climbing_area"
+ ],
+ "override": {
+ "+titleIcons": [
+ {
+ "id": "climbing_length",
+ "render": "

{climbing:length}m
",
+ "condition": "climbing:length~*"
+ },
+ {
+ "id": "climbing_bolts",
+ "mappings": [
+ {
+ "if": "__bolts_max~*",
+ "then": "
{__bolts_max}
"
+ },
+ {
+ "if": "climbing:bolted=yes",
+ "then": "
"
+ }
+ ]
+ },
+ {
+ "id": "Min difficulty",
+ "condition": "__difficulty_min~*",
+ "render": " {__difficulty_min}
"
+ },
+ {
+ "id": "max difficulty",
+ "condition": "__difficulty_max~*",
+ "render": " {__difficulty_max}
"
+ },
+ {
+ "id": "difficulty",
+ "render": " {climbing:grade:french}
",
+ "condition": "__difficulty:char~*"
+ }
+ ],
+ "+calculatedTags": [
+ "_embedding_feature_properties=overlapWith(feat)('climbing_area').map(f => f.feat.properties).filter(p => p !== undefined).map(p => {return{access: p.access, id: p.id, name: p.name, climbing: p.climbing, 'access:description': p['access:description']}})",
+ "_embedding_features_with_access=get(feat)('_embedding_feature_properties')?.filter(p => p.access !== undefined)?.at(0)",
+ "_embedding_feature_with_rock=get(feat)('_embedding_feature_properties')?.filter(p => p.rock !== undefined)?.at(0)",
+ "_embedding_features_with_rock:rock=get(feat)('_embedding_feature_with_rock')?.rock",
+ "_embedding_features_with_rock:id=get(feat)('_embedding_feature_with_rock')?.id",
+ "_embedding_feature:access=get(feat)('_embedding_features_with_access')?.access",
+ "_embedding_feature:access:description=(get(feat)('_embedding_features_with_access')??{})['access:description']",
+ "_embedding_feature:id=get(feat)('_embedding_features_with_access')?.id",
+ "__difficulty_max= (feat.properties['climbing:grade:french:max'] ?? feat.properties['_difficulty_max'])?.substring(0,2)?.toUpperCase()",
+ "__difficulty_min= (feat.properties['climbing:grade:french:min'] ?? feat.properties['_difficulty_min'])?.substring(0,2)?.toUpperCase()",
+ "__difficulty_max:char= feat.properties['__difficulty_max']?.at(0)",
+ "__difficulty_min:char= feat.properties['__difficulty_min']?.at(0)",
+ "__difficulty:char= feat.properties['climbing:grade:french']?.at(0)",
+ "__bolts_max= get(feat)('climbing:bolts:max') ?? get(feat)('climbing:bolts') ?? get(feat)('_bolts_max')"
+ ],
+ "units+": [
+ {
+ "climbing:length": {
+ "quantity": "distance",
+ "canonical": "m",
+ "denominations": [
+ "ft"
+ ]
+ },
+ "climbing:length:min": {
+ "quantity": "distance",
+ "canonical": "m",
+ "denominations": [
+ "ft"
+ ]
+ },
+ "climbing:length:max": {
+ "quantity": "distance",
+ "canonical": "m",
+ "denominations": [
+ "ft"
+ ]
+ }
+ }
+ ],
+ "tagRenderings+": [
+ {
+ "id": "Access from containing feature",
+ "mappings": [
+ {
+ "if": "_embedding_feature:access=yes",
+ "then": {
+ "en": "The containing feature states that this is publicly accessible
{_embedding_feature:access:description}",
+ "nl": "Een omvattend element geeft aan dat dit publiek toegangkelijk is
{_embedding_feature:access:description}",
+ "fr": "L’élément englobant indique un accès libre
{_embedding_feature:access:description}",
+ "it": "L’ elemento in cui è contenuto indica che è pubblicamente accessibile
{_embedding_feature:access:description}",
+ "de": "Das enthaltende Objekt gibt an, dass es öffentlich zugänglich ist
{_embedding_feature:access:description}",
+ "da": "Den indeholdende funktion angiver, at denne er offentligt tilgængelig
{_embedding_feature:access:description}",
+ "es": "El elemento que lo contiene indica que es de acceso público
{_embedding_feature:access:description}",
+ "ca": "Lal'element que el contéindica que és d'accés públic
{_embedding_feature:access:description}",
+ "cs": "V obsahující funkci je uvedeno, že toto je veřejně dostupné
{_embedding_feature:access:description}",
+ "pl": "Obiekt zawarty stwierdza, że jest on publicznie dostępny
{_embedding_feature:access:description}",
+ "uk": "У що містить об'єкт зазначено, що це загальнодоступне
{_embedding_feature:access:description}",
+ "zh_Hant": "強調這邊包含 公共可及的圖徵
{_embedding_feature:access:description}",
+ "ko": "이포함된 요소따르면, 이는접근이 가능합니다
{_embedding_feature:access:description}"
+ }
+ },
+ {
+ "if": "_embedding_feature:access=permit",
+ "then": {
+ "en": "The containing feature states that a permit is needed to access
{_embedding_feature:access:description}",
+ "nl": "Een omvattend element geeft aan dat een toelating nodig is om hier te klimmen
{_embedding_feature:access:description}",
+ "fr": "L’élément englobant indique qu’ une autorisation d’accès est nécessaire
{_embedding_feature:access:description}",
+ "it": "L’elemento che lo contiene indica che è richiesto un’autorizzazione per accedervi
{_embedding_feature:access:description}",
+ "de": "Das enthaltende Objekt besagt, dass eine Genehmigung erforderlich ist für den Zugang zu
{_embedding_feature:access:description}",
+ "da": "Den indeholdende funktion angiver, at en tilladelse er nødvendig for at få adgang til
{_embedding_feature:access:description}",
+ "es": "El elemento que lo contiene indica que se necesita un permiso para acceder
{_embedding_feature:access:description}",
+ "ca": "Lal'element que el conté indica que es necessita un permís per a accedir-hi
{_embedding_feature:access:description}",
+ "cs": "V obsahující funkci je uvedeno, že je k přístupu potřeba povolení
{_embedding_feature:access:description}",
+ "pl": "Obiekt zawarty stwierdza, że potrzebne jest pozwolenie, aby do niego wejść
{_embedding_feature:access:description}",
+ "uk": "У функції зазначено, що потрібен дозвіл для доступу
{_embedding_feature:access:description}",
+ "zh_Hant": " 強調包含 需要獲得核准才能進入的圖徵
{_embedding_feature:access:description}",
+ "ko": "이 포함된 요소에 따르면,접근을 위한 허가가 필요합니다
{_embedding_feature:access:description}"
+ }
+ },
+ {
+ "if": "_embedding_feature:access=customers",
+ "then": {
+ "en": "The containing feature states that this is only accessible to customers
{_embedding_feature:access:description}",
+ "fr": "L’élément englobant indique que l’accès est réservés aux clients
{_embedding_feature:access:description}",
+ "it": "L’ elemento che lo contiene indica che è accessibile solo ai clienti
{_embedding_feature:access:description}",
+ "de": "Das enthaltende Objekt besagt, dass es nur für Kunden zugänglich ist
{_embedding_feature:access:description}",
+ "nl": "Het omsluitende kaart-object zegt dat het enkel toegankelijk is voor klanten
{_embedding_feature:access:description}",
+ "da": "Den indeholdende funktion angiver, at denne kun er tilgængelig for kunder
{_embedding_feature:access:description}",
+ "es": "El elemento que lo contiene indica que es solo accesible para clientes
{_embedding_feature:access:description}",
+ "cs": "V obsahující funkci je uvedeno, že toto je dostupné pouze zákazníkům
{_embedding_feature:access:description}",
+ "ca": "Lacaracterística que ho conté indica que sols és accessible per als clients
{_embedding_feature:access:description}",
+ "pl": "Obiekt zawarty stwierdza, że jest on dostępny tylko dla jego klientów
{_embedding_feature:access:description}",
+ "uk": "У що містить об'єкт зазначено, що вона доступна лише клієнтам
{_embedding_feature:access:description}",
+ "zh_Hant": "強調包含只有顧客才能進入的圖徵
{_embedding_feature:access:description}",
+ "ko": "아포함된 요소에 따르면, 이는오직 고객만 접근 가능합니다.
{_embedding_feature:access:description}"
+ }
+ },
+ {
+ "if": "_embedding_feature:access=members",
+ "then": {
+ "en": "The containing feature states that this is only accessible to club members
{_embedding_feature:access:description}",
+ "fr": "L’élément englobant indique que l’accès est réservé aux membres
{_embedding_feature:access:description}",
+ "it": "L’ elemento che lo contiene indica che è accessibile solamente ai membri del club
{_embedding_feature:access:description}",
+ "de": "Das enthaltende Objekt besagt, dass es nur für Mitglieder zugänglich ist
{_embedding_feature:access:description}",
+ "nl": "Het omsluitende kaart-object zegt dat het enkel toegankelijk is voor club leden
{_embedding_feature:access:description}",
+ "da": "Den indeholdende funktion angiver, at denne kun er tilgængelig for klubmedlemmer
{_embedding_feature:access:description}",
+ "es": "El elemento que lo contiene indica que es solo accesible para socios del club
{_embedding_feature:access:description}",
+ "cs": "V obsahující funkci je uvedeno, že toto je dostupné pouze členům klubu
{_embedding_feature:access:description}",
+ "ca": "Lacaracterística que ho conté indica que sols és accessible per als socis del club
{_embedding_feature:access:description}",
+ "pl": "Obiekt zawarty stwierdza, że jest on dostępny tylko dla członków klubu
{_embedding_feature:access:description}",
+ "uk": "У що містить функцію зазначено, що вона доступна лише для членів клубу
{_embedding_feature:access:description}",
+ "zh_Hant": "強調包含只有會員才能進入的圖徵
{_embedding_feature:access:description}",
+ "ko": "이포함된 요소에 따르면, 이는 클럽 회원만 접근 가능합니다.
{_embedding_feature:access:description}"
+ }
+ },
+ {
+ "if": "_embedding_feature:access=no",
+ "then": "Not accessible as stated by the containing feature"
+ }
+ ],
+ "condition": "_embedding_feature:access~*"
+ },
+ {
+ "id": "access",
+ "question": {
+ "en": "Who can access here?",
+ "fr": "Qui peut y accéder ?",
+ "de": "Wer hat hier Zugang?",
+ "it": "Chi può accedervi?",
+ "nl": "Wie heeft hier toegang toe?",
+ "es": "¿Quién puede acceder aquí?",
+ "ca": "Qui pot accedir aquí?",
+ "da": "Hvem kan få adgang her?",
+ "cs": "Kdo sem má přístup?",
+ "pl": "Kto ma tutaj dostęp?",
+ "uk": "Хто може сюди потрапити?",
+ "zh_Hant": "誰能進入這裡?",
+ "ko": "누가 이곳에 접근 가능합니까?",
+ "cy": "Pwy sy'n gallu mynd yma?"
+ },
+ "mappings": [
+ {
+ "if": "access=yes",
+ "then": {
+ "en": "Publicly accessible to anyone",
+ "fr": "Libre d’accès",
+ "de": "Öffentlich zugänglich für jedermann",
+ "it": "Pubblicamente accessibile a chiunque",
+ "nl": "Voor iedereen publiek toegankelijk",
+ "nb_NO": "Offentlig tilgjengelig for alle",
+ "es": "De acceso público para todos",
+ "da": "Offentligt tilgængelig for alle",
+ "cs": "Veřejně přístupné komukoli",
+ "ca": "Accessible públicament a qualsevol",
+ "pl": "Publicznie dostępne dla każdego",
+ "uk": "Загальнодоступний для всіх",
+ "zh_Hant": "開放給所有人",
+ "ko": "누구나 접근 가능합니다",
+ "cy": "Ar gael yn gyhoeddus i unrhyw un"
+ }
+ },
+ {
+ "if": "access=permit",
+ "then": {
+ "en": "You need a permit to access here",
+ "fr": "Une autorisation est nécessaire",
+ "de": "Zugang nur mit Genehmigung",
+ "it": "È necessario avere un’autorizzazione per entrare",
+ "nl": "Je hebt een vergunning nodig om hier toegang te kregen",
+ "es": "Necesitas un permiso para acceder aquí",
+ "da": "Du skal have en tilladelse for at få adgang her",
+ "ca": "Necesites un permís per a accedir ací",
+ "cs": "K přístupu je potřeba povolení",
+ "pl": "Potrzebujesz pozwolenia, żeby tu wejść",
+ "uk": "Для доступу сюди потрібен дозвіл",
+ "zh_Hant": "你需要獲得核准才能進入這裡",
+ "ko": "이곳에 접근하기 위한 허가가 필요합니다"
+ }
+ },
+ {
+ "if": "access=customers",
+ "then": {
+ "en": "Only customers",
+ "fr": "Réservé aux clients",
+ "de": "Nur für Kunden",
+ "it": "Riservato ai clienti",
+ "ca": "Només clients",
+ "nl": "Enkel klanten",
+ "nb_NO": "Kun for kunder",
+ "es": "Solo clientes",
+ "da": "Kun for kunder",
+ "pa_PK": "صرف گاہک",
+ "cs": "Pouze zákazníci",
+ "pl": "Tylko klienci",
+ "uk": "Тільки клієнти",
+ "zh_Hant": "只有顧客",
+ "ko": "오직 고객만",
+ "cy": "Dim ond cwsmeriaid"
+ }
+ },
+ {
+ "if": "access=members",
+ "then": {
+ "en": "Only club members",
+ "ru": "Только членам клуба",
+ "fr": "Réservé aux membres",
+ "de": "Nur für Vereinsmitglieder",
+ "it": "Riservato ai membri del club",
+ "ca": "Només membres del club",
+ "nl": "Enkel clubleden",
+ "nb_NO": "Kun klubbmedlemmer",
+ "es": "Solo socios del club",
+ "da": "Kun klubmedlemmer",
+ "pa_PK": "صرف کلب دے میمبر",
+ "cs": "Pouze členové klubu",
+ "pl": "Tylko członkowie klubu",
+ "uk": "Тільки члени клубу",
+ "zh_Hant": "只有會員",
+ "ko": "오직 클럽 회원만",
+ "cy": "Dim ond aelodau o'r clwb"
+ }
+ },
+ {
+ "if": "access=no",
+ "then": "Not accessible"
+ }
+ ],
+ "condition": {
+ "or": [
+ "access~*",
+ "_embedding_feature:access="
+ ]
+ }
+ },
+ {
+ "id": "Access description (without _embedding_feature:access:description)",
+ "render": "{access:description}",
+ "freeform": {
+ "key": "access:description"
+ }
+ }
+ ],
+ "minzoom": 6
+ }
+ },
+ {
+ "builtin": [
"climbing_route",
- "climbing_area",
"climbing_opportunity"
],
"override": {
@@ -549,4 +835,4 @@
],
"customCss": "./assets/themes/climbing/climbing.css",
"widenFactor": 1.5
-}
\ No newline at end of file
+}