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 +}