X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=resources%2Fjs%2Fcomponents%2Fmap%2FUWSuperTiles.js;h=83404ac89564ef7f832032e9735a815996b9a901;hb=e0925d5b97ab0804222195eb4231c63b33703942;hp=2d7afda8b53f544d80581c7ef84d60db3f6504f4;hpb=939bf6d3ab44e3ce08116c2e9fdab160c35e894b;p=alttp.git diff --git a/resources/js/components/map/UWSuperTiles.js b/resources/js/components/map/UWSuperTiles.js index 2d7afda..83404ac 100644 --- a/resources/js/components/map/UWSuperTiles.js +++ b/resources/js/components/map/UWSuperTiles.js @@ -1,6 +1,6 @@ -import OpenSeadragon from 'openseadragon'; import PropTypes from 'prop-types'; import React from 'react'; +import { useSearchParams } from 'react-router-dom'; import Overlay from './Overlay'; import { useOpenSeadragon } from './OpenSeadragon'; @@ -460,7 +460,8 @@ const getClassName = key => { }; const UWSuperTiles = ({ show }) => { - const { viewer } = useOpenSeadragon(); + const { storePosition, viewer } = useOpenSeadragon(); + const [, setSearchParams] = useSearchParams(); const onClick = React.useCallback(e => { if (e.originalTarget.tagName !== 'A') return; @@ -470,11 +471,11 @@ const UWSuperTiles = ({ show }) => { const x = (parseInt(key[1], 16) + 0.5) / 16; const y = (parseInt(key[0], 16) + 0.5) / 16; if (viewer && viewer.viewport) { - viewer.viewport.panTo(new OpenSeadragon.Point(x, y)); - viewer.viewport.zoomTo(4); + storePosition(); + setSearchParams({ x, y, z: 4 }); viewer.element.scrollIntoView(); } - }, [viewer]); + }, [storePosition, viewer]); return