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>
 |