2024-03-04 15:31:09 +01:00
|
|
|
<script lang="ts">
|
2024-04-13 02:40:21 +02:00
|
|
|
import Translations from "../i18n/Translations.js"
|
|
|
|
import Min from "../../assets/svg/Min.svelte"
|
|
|
|
import MapControlButton from "../Base/MapControlButton.svelte"
|
|
|
|
import Plus from "../../assets/svg/Plus.svelte"
|
|
|
|
import type { MapProperties } from "../../Models/MapProperties"
|
2024-03-04 15:31:09 +01:00
|
|
|
|
2024-04-13 02:40:21 +02:00
|
|
|
export let adaptor: MapProperties
|
|
|
|
let canZoomIn = adaptor.maxzoom.map((mz) => adaptor.zoom.data < mz, [adaptor.zoom])
|
|
|
|
let canZoomOut = adaptor.minzoom.map((mz) => adaptor.zoom.data > mz, [adaptor.zoom])
|
2024-03-04 15:31:09 +01:00
|
|
|
</script>
|
2024-04-13 02:40:21 +02:00
|
|
|
|
|
|
|
<div class="pointer-events-none absolute bottom-0 right-0 flex flex-col">
|
2024-03-04 15:31:09 +01:00
|
|
|
<MapControlButton
|
|
|
|
enabled={canZoomIn}
|
|
|
|
cls="m-0.5 p-1"
|
|
|
|
arialabel={Translations.t.general.labels.zoomIn}
|
|
|
|
on:click={() => adaptor.zoom.update((z) => z + 1)}
|
|
|
|
>
|
|
|
|
<Plus class="h-5 w-5" />
|
|
|
|
</MapControlButton>
|
|
|
|
<MapControlButton
|
|
|
|
enabled={canZoomOut}
|
|
|
|
cls={"m-0.5 p-1"}
|
|
|
|
arialabel={Translations.t.general.labels.zoomOut}
|
|
|
|
on:click={() => adaptor.zoom.update((z) => z - 1)}
|
|
|
|
>
|
|
|
|
<Min class="h-5 w-5" />
|
|
|
|
</MapControlButton>
|
|
|
|
</div>
|