X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=resources%2Fjs%2Fcomponents%2Fmap%2FItem.js;h=3fde3d1016ebcee6858d37e26fe1867545535f0d;hb=6bc8cf8ce3ddc1592c56d2d414a5b9b7215eff6d;hp=4bd209acbcb8e617605040d65e0a5dcb3589c060;hpb=e937f3f41b33ba94d36f898573df75a9cd10e5c0;p=alttp.git diff --git a/resources/js/components/map/Item.js b/resources/js/components/map/Item.js index 4bd209a..3fde3d1 100644 --- a/resources/js/components/map/Item.js +++ b/resources/js/components/map/Item.js @@ -1,9 +1,8 @@ -import OpenSeadragon from 'openseadragon'; import PropTypes from 'prop-types'; import React from 'react'; import { Button } from 'react-bootstrap'; import { useTranslation } from 'react-i18next'; -import { Link } from 'react-router-dom'; +import { Link, useSearchParams } from 'react-router-dom'; import { useOpenSeadragon } from './OpenSeadragon'; import Icon from '../common/Icon'; @@ -19,12 +18,12 @@ import i18n from '../../i18n'; const Item = ({ pin }) => { const { viewer } = useOpenSeadragon(); + const [, setSearchParams] = useSearchParams(); const { t } = useTranslation(); const goToLocation = React.useCallback(pin => { - if (viewer && viewer.viewport) { - viewer.viewport.panTo(new OpenSeadragon.Point(pin.x, pin.y)); - viewer.viewport.zoomTo(4); + setSearchParams({ x: pin.x, y: pin.y, z: 4 }); + if (viewer && viewer.element) { viewer.element.scrollIntoView(); } }, [viewer]);