diff --git a/assets/themes/climbing/climbing.json b/assets/themes/climbing/climbing.json index c1fd46306..d0bdd46f6 100644 --- a/assets/themes/climbing/climbing.json +++ b/assets/themes/climbing/climbing.json @@ -398,6 +398,54 @@ "key": "climbing:grade:french" } }, + { + "#": "Bolts", + "question": { + "en": "How much bolts does this route have before reaching the moulinette?" + }, + "render": { + "en": "This route has {climbing:bolts} bolts" + }, + "freeform": { + "key": "climbing:bolts", + "type": "pnat", + "addExtraTag": [ + "climbing:bolted=yes" + ] + }, + "mappings": [ + { + "if": "climbing:bolted=no", + "then": { + "en": "This route is not bolted" + }, + "hideInAnswer": true + }, + { + "if": "climbing:bolted=no&climbing:bolts=", + "then": { + "en": "This route is not bolted" + } + } + ] + }, + { + "#": "Description", + "question": "Is there other relevant info?", + "render": "

Description


{description}", + "freeform": { + "key": "description" + } + }, + {"#": "Rock type", + "render": { + "en": "The rock type is {_embedding_features_with_rock:rock} as stated on the surrounding crag" + }, + "freeform": { + "key": "_embedding_features_with_rock:rock" + } + + }, "reviews" ], "hideUnderlayingFeaturesMinPercentage": 0, @@ -515,14 +563,13 @@ "#": "Contained routes hist", "render": { "en": "

Difficulties overview

{histogram(_difficulty_hist, , , 3[a-zA-Z+-]*:#56bd56, 4[a-zA-Z+-]*:#ffff59,5[a-zA-Z+-]*:#ffad48, 6[a-zA-Z+-]*:#63a9ff, 7[a-zA-Z+-]*:#ff5858, 8[a-zA-Z+-]*:#000000, .*:#aaa )}" - }, "condition": "_difficulty_hist!~\\[\\]" }, { "#": "Containe {_contained_climbing_routes_count} routes", "render": { - "en": "

Contains {_contained_climbing_routes_count} routes

" + "en": "

Contains {_contained_climbing_routes_count} routes

" }, "condition": "_contained_climbing_routes~*" }, @@ -586,6 +633,30 @@ } ] }, + {"#": "Rock type (crag/rock/cliff only)", + "question": { + "en": "What is the rock type here?" + }, + "render": { + "en": "The rock type is {rock}" + }, + "freeform": { + "key": "rock" + }, + "mappings": [ + { + "if": "rock=limestone", + "then": { + "en": "Limestone", + "nl": "Kalksteen" + } + } + ], + + "condition": { + "or": ["climbing=crag","natural=cliff","natural=bare_rock"] + } + }, "reviews" ], "hideUnderlayingFeaturesMinPercentage": 0, @@ -1235,6 +1306,9 @@ "+calculatedTags": [ "_embedding_feature_properties=feat.overlapWith('climbing').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=JSON.parse(feat.properties._embedding_feature_properties ?? '[]').filter(p => p.access !== undefined)[0]", + "_embedding_feature_with_rock=JSON.parse(feat.properties._embedding_feature_properties ?? '[]').filter(p => p.rock !== undefined)[0]", + "_embedding_features_with_rock:rock=JSON.parse(_embedding_feature_with_rock).rock", + "_embedding_features_with_rock:id=JSON.parse(_embedding_feature_with_rock).id", "_embedding_feature:access=JSON.parse(feat.properties._embedding_features_with_access ?? '{}').access", "_embedding_feature:access:description=JSON.parse(feat.properties._embedding_features_with_access ?? '{}')['access:description']", "_embedding_feature:id=JSON.parse(feat.properties._embedding_features_with_access ?? '{}').id"