forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			32 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Svelte
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Svelte
		
	
	
	
	
	
| <script lang="ts">
 | |
|   import { Store } from "../../Logic/UIEventSource"
 | |
|   import { PencilIcon } from "@babeard/svelte-heroicons/solid"
 | |
|   import Translations from "../i18n/Translations"
 | |
|   import Tr from "../Base/Tr.svelte"
 | |
| 
 | |
|   export let mapProperties: { location: Store<{ lon: number; lat: number }>; zoom: Store<number> }
 | |
|   let location = mapProperties.location
 | |
|   let zoom = mapProperties.zoom
 | |
|   export let objectId: undefined | string = undefined
 | |
| 
 | |
|   let elementSelect = ""
 | |
|   if (objectId !== undefined) {
 | |
|     const parts = objectId?.split("/")
 | |
|     const tp = parts[0]
 | |
|     if (
 | |
|       parts.length === 2 &&
 | |
|       !isNaN(Number(parts[1])) &&
 | |
|       (tp === "node" || tp === "way" || tp === "relation")
 | |
|     ) {
 | |
|       elementSelect = "&" + tp + "=" + parts[1]
 | |
|     }
 | |
|   }
 | |
|   const idLink = `https://www.openstreetmap.org/edit?editor=id${elementSelect}#map=${$zoom ?? 0}/${
 | |
|     $location?.lat ?? 0
 | |
|   }/${$location?.lon ?? 0}`
 | |
| </script>
 | |
| 
 | |
| <a class="button flex items-center" target="_blank" href={idLink}>
 | |
|   <PencilIcon class="h-12 w-12 p-2 pr-4" />
 | |
|   <Tr t={Translations.t.general.attribution.editId} />
 | |
| </a>
 |