| 
									
										
										
										
											2022-05-06 12:41:24 +02:00
										 |  |  | import { VariableUiElement } from "../Base/VariableUIElement" | 
					
						
							|  |  |  | import { UIEventSource } from "../../Logic/UIEventSource" | 
					
						
							|  |  |  | import Loc from "../../Models/Loc" | 
					
						
							|  |  |  | import Translations from "../i18n/Translations" | 
					
						
							|  |  |  | import { SubtleButton } from "../Base/SubtleButton" | 
					
						
							|  |  |  | import Svg from "../../Svg" | 
					
						
							|  |  |  | import Combine from "../Base/Combine" | 
					
						
							|  |  |  | import Title from "../Base/Title" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export class MapillaryLink extends VariableUiElement { | 
					
						
							|  |  |  |     constructor(state: { locationControl: UIEventSource<Loc> }, iconStyle?: string) { | 
					
						
							|  |  |  |         const t = Translations.t.general.attribution | 
					
						
							|  |  |  |         super( | 
					
						
							|  |  |  |             state.locationControl.map((location) => { | 
					
						
							|  |  |  |                 const mapillaryLink = `https://www.mapillary.com/app/?focus=map&lat=${ | 
					
						
							|  |  |  |                     location?.lat ?? 0 | 
					
						
							|  |  |  |                 }&lng=${location?.lon ?? 0}&z=${Math.max((location?.zoom ?? 2) - 1, 1)}`
 | 
					
						
							|  |  |  |                 return new SubtleButton( | 
					
						
							|  |  |  |                     Svg.mapillary_black_ui().SetStyle(iconStyle), | 
					
						
							| 
									
										
										
										
											2022-07-01 00:16:05 +02:00
										 |  |  |                     new Combine([t.openMapillary.SetClass("font-bold"), t.mapillaryHelp]), | 
					
						
							| 
									
										
										
										
											2022-05-06 12:41:24 +02:00
										 |  |  |                     { | 
					
						
							|  |  |  |                         url: mapillaryLink, | 
					
						
							|  |  |  |                         newTab: true, | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  |                 ).SetClass("flex flex-col link-no-underline") | 
					
						
							|  |  |  |             }) | 
					
						
							| 
									
										
										
										
											2022-09-08 21:40:48 +02:00
										 |  |  |         ) | 
					
						
							| 
									
										
										
										
											2022-05-06 12:41:24 +02:00
										 |  |  |     } | 
					
						
							|  |  |  | } |