MapComplete/src/UI/Image/ImagePreview.svelte

29 lines
713 B
Svelte
Raw Normal View History

<script lang="ts">
/**
* The image preview allows to drag and zoom in to the image
*/
2023-12-06 13:19:45 +01:00
import panzoom from "panzoom"
import type { ProvidedImage } from "../../Logic/ImageProviders/ImageProvider"
export let image : ProvidedImage
let panzoomInstance = undefined
let panzoomEl: HTMLElement
$: {
if (panzoomEl) {
panzoomInstance = panzoom(panzoomEl, { bounds: true,
boundsPadding: 0.49,
minZoom: 1,
2023-12-06 13:47:20 +01:00
maxZoom: 25,
initialZoom: 1.2
})
} else {
panzoomInstance?.dispose()
}
}
</script>
2023-12-06 13:47:20 +01:00
<img bind:this={panzoomEl} src={image.url} class="w-fit h-fit"/>