| 
									
										
										
										
											2023-04-06 01:33:08 +02:00
										 |  |  | <script lang="ts"> | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |   import { TagsFilter } from "../../Logic/Tags/TagsFilter" | 
					
						
							|  |  |  |   import FromHtml from "../Base/FromHtml.svelte" | 
					
						
							|  |  |  |   import { Translation } from "../i18n/Translation" | 
					
						
							|  |  |  |   import Tr from "../Base/Tr.svelte" | 
					
						
							|  |  |  |   import type { SpecialVisualizationState } from "../SpecialVisualization" | 
					
						
							| 
									
										
										
										
											2023-04-06 01:33:08 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |   /** | 
					
						
							|  |  |  |    * A 'TagHint' will show the given tags in a human readable form. | 
					
						
							|  |  |  |    * Depending on the options, it'll link through to the wiki or might be completely hidden | 
					
						
							|  |  |  |    */ | 
					
						
							|  |  |  |   export let tags: TagsFilter | 
					
						
							|  |  |  |   export let state: SpecialVisualizationState | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   export let currentProperties: Record<string, string | any> = {} | 
					
						
							|  |  |  |   /** | 
					
						
							|  |  |  |    * If given, this function will be called to embed the given tags hint into this translation | 
					
						
							|  |  |  |    */ | 
					
						
							|  |  |  |   export let embedIn: ((string: string) => Translation) | undefined = undefined | 
					
						
							|  |  |  |   const userDetails = state.osmConnection.userDetails | 
					
						
							|  |  |  |   let tagsExplanation = "" | 
					
						
							|  |  |  |   $: tagsExplanation = tags?.asHumanString(true, false, currentProperties) | 
					
						
							| 
									
										
										
										
											2023-04-06 01:33:08 +02:00
										 |  |  | </script> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | {#if $userDetails.loggedIn} | 
					
						
							| 
									
										
										
										
											2023-06-14 20:39:36 +02:00
										 |  |  |   <div> | 
					
						
							|  |  |  |     {#if tags === undefined} | 
					
						
							|  |  |  |       <slot name="no-tags">No tags</slot> | 
					
						
							|  |  |  |     {:else if embedIn === undefined} | 
					
						
							|  |  |  |       <FromHtml src={tagsExplanation} /> | 
					
						
							|  |  |  |     {:else} | 
					
						
							|  |  |  |       <Tr t={embedIn(tagsExplanation)} /> | 
					
						
							|  |  |  |     {/if} | 
					
						
							|  |  |  |   </div> | 
					
						
							| 
									
										
										
										
											2023-04-06 01:33:08 +02:00
										 |  |  | {/if} |