forked from MapComplete/MapComplete
		
	Improvements to the climbing theme
This commit is contained in:
		
							parent
							
								
									a9aff5e16e
								
							
						
					
					
						commit
						5a94e9d239
					
				
					 6 changed files with 65 additions and 47 deletions
				
			
		|  | @ -73,12 +73,25 @@ export class Denomination { | ||||||
|      *                   en: "meter" |      *                   en: "meter" | ||||||
|      *               } |      *               } | ||||||
|      *           }, "test") |      *           }, "test") | ||||||
|      *  unit.canonicalValue("42m") // =>"42 m"
 |      * unit.canonicalValue("42m") // =>"42 m"
 | ||||||
|      * unit.canonicalValue("42") // =>"42 m"
 |      * unit.canonicalValue("42") // =>"42 m"
 | ||||||
|      * unit.canonicalValue("42 m") // =>"42 m"
 |      * unit.canonicalValue("42 m") // =>"42 m"
 | ||||||
|      * unit.canonicalValue("42 meter") // =>"42 m"
 |      * unit.canonicalValue("42 meter") // =>"42 m"
 | ||||||
|      *  |      *  | ||||||
|      *  |      *  | ||||||
|  |      * // Should be trimmed if canonical is empty
 | ||||||
|  |      * const unit = new Denomination({ | ||||||
|  |      *               canonicalDenomination: "", | ||||||
|  |      *               alternativeDenomination: ["meter","m], | ||||||
|  |      *               'default': true, | ||||||
|  |      *               human: { | ||||||
|  |      *                   en: "meter" | ||||||
|  |      *               } | ||||||
|  |      *           }, "test") | ||||||
|  |      * unit.canonicalValue("42m") // =>"42"
 | ||||||
|  |      * unit.canonicalValue("42") // =>"42"
 | ||||||
|  |      * unit.canonicalValue("42 m") // =>"42"
 | ||||||
|  |      * unit.canonicalValue("42 meter") // =>"42"
 | ||||||
|      */ |      */ | ||||||
|     public canonicalValue(value: string, actAsDefault?: boolean) : string { |     public canonicalValue(value: string, actAsDefault?: boolean) : string { | ||||||
|         if (value === undefined) { |         if (value === undefined) { | ||||||
|  | @ -89,9 +102,9 @@ export class Denomination { | ||||||
|             return null; |             return null; | ||||||
|         } |         } | ||||||
|         if (stripped === "1" && this._canonicalSingular !== undefined) { |         if (stripped === "1" && this._canonicalSingular !== undefined) { | ||||||
|             return "1 " + this._canonicalSingular |             return ("1 " + this._canonicalSingular).trim() | ||||||
|         } |         } | ||||||
|         return stripped + " " + this.canonical; |         return (stripped + " " + this.canonical).trim(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|  |  | ||||||
|  | @ -64,8 +64,10 @@ export default class FeatureInfoBox extends ScrollableFullScreen { | ||||||
|         const title = new TagRenderingAnswer(tags, layerConfig.title ?? new TagRenderingConfig("POI"), state) |         const title = new TagRenderingAnswer(tags, layerConfig.title ?? new TagRenderingConfig("POI"), state) | ||||||
|             .SetClass("break-words font-bold sm:p-0.5 md:p-1 sm:p-1.5 md:p-2 text-2xl"); |             .SetClass("break-words font-bold sm:p-0.5 md:p-1 sm:p-1.5 md:p-2 text-2xl"); | ||||||
|         const titleIcons = new Combine( |         const titleIcons = new Combine( | ||||||
|             layerConfig.titleIcons.map(icon => new TagRenderingAnswer(tags, icon, state, |             layerConfig.titleIcons.map(icon => { | ||||||
|                 "block w-8 h-8 max-h-8 align-baseline box-content sm:p-0.5 w-10",) |                     return new TagRenderingAnswer(tags, icon, state, | ||||||
|  |                         "block h-8 max-h-8 align-baseline box-content sm:p-0.5").SetClass("flex"); | ||||||
|  |                 } | ||||||
|             )) |             )) | ||||||
|             .SetClass("flex flex-row flex-wrap pt-0.5 sm:pt-1 items-center mr-2") |             .SetClass("flex flex-row flex-wrap pt-0.5 sm:pt-1 items-center mr-2") | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -35,7 +35,7 @@ export class SubstitutedTranslation extends VariableUiElement { | ||||||
|             ) |             ) | ||||||
|         }) |         }) | ||||||
| 
 | 
 | ||||||
|         const linkToWeblate = new LinkToWeblate(translation.context, translation.translations) |         const linkToWeblate = translation !== undefined ? new LinkToWeblate(translation.context, translation.translations) : undefined; | ||||||
|          |          | ||||||
|         super( |         super( | ||||||
|             Locale.language.map(language => { |             Locale.language.map(language => { | ||||||
|  |  | ||||||
|  | @ -131,7 +131,6 @@ export class Translation extends BaseUIElement { | ||||||
| 
 | 
 | ||||||
|         const wrapper = document.createElement("span") |         const wrapper = document.createElement("span") | ||||||
|         wrapper.appendChild(el) |         wrapper.appendChild(el) | ||||||
|         wrapper.classList.add("flex") |  | ||||||
|         Locale.showLinkToWeblate.addCallbackAndRun(doShow => { |         Locale.showLinkToWeblate.addCallbackAndRun(doShow => { | ||||||
| 
 | 
 | ||||||
|             if (!doShow) { |             if (!doShow) { | ||||||
|  |  | ||||||
|  | @ -143,10 +143,6 @@ | ||||||
|           }, |           }, | ||||||
|           "id": "climbing_club-name" |           "id": "climbing_club-name" | ||||||
|         }, |         }, | ||||||
|         { |  | ||||||
|           "id": "minimap", |  | ||||||
|           "render": "{minimap(18): height: 5rem; overflow: hidden; border-radius:3rem; }" |  | ||||||
|         }, |  | ||||||
|         "website", |         "website", | ||||||
|         "email", |         "email", | ||||||
|         "phone", |         "phone", | ||||||
|  | @ -287,11 +283,6 @@ | ||||||
|       }, |       }, | ||||||
|       "tagRenderings": [ |       "tagRenderings": [ | ||||||
|         "images", |         "images", | ||||||
|         "questions", |  | ||||||
|         { |  | ||||||
|           "id": "minimap", |  | ||||||
|           "render": "{minimap(18): height: 5rem; overflow: hidden; border-radius:3rem; }" |  | ||||||
|         }, |  | ||||||
|         { |         { | ||||||
|           "render": { |           "render": { | ||||||
|             "en": "<strong>{name}</strong>", |             "en": "<strong>{name}</strong>", | ||||||
|  | @ -320,8 +311,7 @@ | ||||||
|         "website", |         "website", | ||||||
|         "phone", |         "phone", | ||||||
|         "email", |         "email", | ||||||
|         "opening_hours", |         "opening_hours" | ||||||
|         "reviews" |  | ||||||
|       ], |       ], | ||||||
|       "mapRendering": [ |       "mapRendering": [ | ||||||
|         { |         { | ||||||
|  | @ -397,11 +387,6 @@ | ||||||
|       }, |       }, | ||||||
|       "tagRenderings": [ |       "tagRenderings": [ | ||||||
|         "images", |         "images", | ||||||
|         "questions", |  | ||||||
|         { |  | ||||||
|           "id": "minimap", |  | ||||||
|           "render": "{minimap(18): height: 5rem; overflow: hidden; border-radius:3rem; }" |  | ||||||
|         }, |  | ||||||
|         { |         { | ||||||
|           "render": { |           "render": { | ||||||
|             "en": "<strong>{name}</strong>", |             "en": "<strong>{name}</strong>", | ||||||
|  | @ -555,8 +540,7 @@ | ||||||
|             "key": "_embedding_features_with_rock:rock" |             "key": "_embedding_features_with_rock:rock" | ||||||
|           }, |           }, | ||||||
|           "id": "Rock type" |           "id": "Rock type" | ||||||
|         }, |         } | ||||||
|         "reviews" |  | ||||||
|       ], |       ], | ||||||
|       "presets": [ |       "presets": [ | ||||||
|         { |         { | ||||||
|  | @ -704,7 +688,6 @@ | ||||||
|       }, |       }, | ||||||
|       "tagRenderings": [ |       "tagRenderings": [ | ||||||
|         "images", |         "images", | ||||||
|         "questions", |  | ||||||
|         { |         { | ||||||
|           "id": "minimap", |           "id": "minimap", | ||||||
|           "render": "{minimap(18, id, _contained_climbing_route_ids): height: 9rem; overflow: hidden; border-radius:3rem; }" |           "render": "{minimap(18, id, _contained_climbing_route_ids): height: 9rem; overflow: hidden; border-radius:3rem; }" | ||||||
|  | @ -846,8 +829,7 @@ | ||||||
|             ] |             ] | ||||||
|           }, |           }, | ||||||
|           "id": "Rock type (crag/rock/cliff only)" |           "id": "Rock type (crag/rock/cliff only)" | ||||||
|         }, |         } | ||||||
|         "reviews" |  | ||||||
|       ], |       ], | ||||||
|       "presets": [ |       "presets": [ | ||||||
|         { |         { | ||||||
|  | @ -955,10 +937,6 @@ | ||||||
|         "it": "Un’opportunità di arrampicata?" |         "it": "Un’opportunità di arrampicata?" | ||||||
|       }, |       }, | ||||||
|       "tagRenderings": [ |       "tagRenderings": [ | ||||||
|         { |  | ||||||
|           "id": "minimap", |  | ||||||
|           "render": "{minimap(18): height: 5rem; overflow: hidden; border-radius:3rem; }" |  | ||||||
|         }, |  | ||||||
|         { |         { | ||||||
|           "id": "climbing-opportunity-name", |           "id": "climbing-opportunity-name", | ||||||
|           "render": { |           "render": { | ||||||
|  | @ -1053,26 +1031,50 @@ | ||||||
|     } |     } | ||||||
|   ], |   ], | ||||||
|   "overrideAll": { |   "overrideAll": { | ||||||
|     "titleIcons": [ |     "+titleIcons": [ | ||||||
|       { |       { | ||||||
|         "render": "<div style='display:block ruby;' class='m-1 '><img src='./assets/themes/climbing/height.svg' style='width:2rem; height:2rem'/>{climbing:length}m</div>", |         "render": "<div class='flex' style='word-wrap: normal; padding-right: 0.25rem;'><img src='./assets/themes/climbing/height.svg' style='height: 1.75rem;'/>{climbing:length}m</div>", | ||||||
|         "freeform": { |         "condition": "climbing:length~*" | ||||||
|           "key": "climbing:length" |  | ||||||
|         } |  | ||||||
|       }, |       }, | ||||||
|       { |       { | ||||||
|         "render": "<div style='display:block ruby;' class='m-1 '><img src='./assets/themes/climbing/carabiner.svg' style='width:2rem; height:2rem'/>{climbing:bolted}</div>", |  | ||||||
|         "freeform": { |  | ||||||
|           "key": "climbing:bolted" |  | ||||||
|         }, |  | ||||||
|         "mappings": [ |         "mappings": [ | ||||||
|  |           { | ||||||
|  |             "if": "climbing:bolts~*", | ||||||
|  |             "then": "<div class='flex' style='padding-right: 0.25rem;'><img src='./assets/themes/climbing/carabiner.svg' style='width: 1rem;'/>{climbing:bolts}</div>" | ||||||
|  |           }, | ||||||
|           { |           { | ||||||
|             "if": "climbing:bolted=yes", |             "if": "climbing:bolted=yes", | ||||||
|             "then": "<img src='./assets/themes/climbing/carabiner.svg' style='width:2rem; height:2rem'/>" |             "then": "<img src='./assets/themes/climbing/carabiner.svg' style='width:2rem; height:2rem'/>" | ||||||
|           } |           } | ||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "defaults" |       { | ||||||
|  |             "mappings": [ | ||||||
|  |               { | ||||||
|  |                 "if": "climbing:grade:french~3.*", | ||||||
|  |                 "then": "<div class='rounded-full px-1' style='background-color:#ebf224'> {climbing:grade:french}</div>" | ||||||
|  |               }, | ||||||
|  |               { | ||||||
|  |                 "if": "climbing:grade:french~4.*", | ||||||
|  |                 "then": "<div class='rounded-full pl-2 pr-2' style='background-color:#7af224'> {climbing:grade:french}</div>" | ||||||
|  |               },{ | ||||||
|  |                 "if": "climbing:grade:french~5.*", | ||||||
|  |                 "then": "<div class='rounded-full pl-2 pr-2' style='background-color:#f24a24'> {climbing:grade:french}</div>" | ||||||
|  |               }, | ||||||
|  |               { | ||||||
|  |                 "if": "climbing:grade:french~6.*", | ||||||
|  |                 "then": "<div class='text-white rounded-full pl-2 pr-2' style='background-color:#244af2'> {climbing:grade:french}</div>" | ||||||
|  |               }, | ||||||
|  |               { | ||||||
|  |                 "if": "climbing:grade:french~7.*", | ||||||
|  |                 "then": "<div class='text-white rounded-full pl-2 pr-2' style='background-color:#e904ed'> {climbing:grade:french}</div>" | ||||||
|  |               }, | ||||||
|  |               { | ||||||
|  |                 "if": "climbing:grade:french~*", | ||||||
|  |                 "then": "<div class='text-white rounded-full px-2' style='background-colour:black'> {climbing:grade:french}</div>" | ||||||
|  |               } | ||||||
|  |         ] | ||||||
|  |       } | ||||||
|     ], |     ], | ||||||
|     "+calculatedTags": [ |     "+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_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']}})", | ||||||
|  | @ -1690,7 +1692,9 @@ | ||||||
|             "hideInAnswer": true |             "hideInAnswer": true | ||||||
|           } |           } | ||||||
|         ] |         ] | ||||||
|       } |       }, | ||||||
|  |       "questions", | ||||||
|  |       "reviews" | ||||||
|     ] |     ] | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | @ -1523,10 +1523,6 @@ video { | ||||||
|   padding-left: 1rem; |   padding-left: 1rem; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .pl-1 { |  | ||||||
|   padding-left: 0.25rem; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .pl-2 { | .pl-2 { | ||||||
|   padding-left: 0.5rem; |   padding-left: 0.5rem; | ||||||
| } | } | ||||||
|  | @ -1543,6 +1539,10 @@ video { | ||||||
|   padding-bottom: 0.25rem; |   padding-bottom: 0.25rem; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | .pl-1 { | ||||||
|  |   padding-left: 0.25rem; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| .pr-1 { | .pr-1 { | ||||||
|   padding-right: 0.25rem; |   padding-right: 0.25rem; | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue