diff --git a/src/Components/Map/Subcomponents/SelectPosition.tsx b/src/Components/Map/Subcomponents/SelectPosition.tsx index 05a5959b..6f4eccbe 100644 --- a/src/Components/Map/Subcomponents/SelectPosition.tsx +++ b/src/Components/Map/Subcomponents/SelectPosition.tsx @@ -1,5 +1,13 @@ -/* eslint-disable @typescript-eslint/no-unsafe-call */ -export const SelectPosition = ({ setSelectNewItemPosition }: { setSelectNewItemPosition }) => { +import type { Item } from '#types/Item' +import type { LayerProps } from '#types/LayerProps' + +export const SelectPosition = ({ + setSelectNewItemPosition, + selectNewItemPosition, +}: { + setSelectNewItemPosition: React.Dispatch> + selectNewItemPosition?: Item | LayerProps | null +}) => { return (
diff --git a/src/Components/Map/UtopiaMapInner.tsx b/src/Components/Map/UtopiaMapInner.tsx index c099915d..ba7f02cc 100644 --- a/src/Components/Map/UtopiaMapInner.tsx +++ b/src/Components/Map/UtopiaMapInner.tsx @@ -307,7 +307,10 @@ export function UtopiaMapInner({ {selectNewItemPosition != null && ( - + )} ) diff --git a/src/Components/Templates/ItemCard.tsx b/src/Components/Templates/ItemCard.tsx index 6e07688e..e8b5b1f3 100644 --- a/src/Components/Templates/ItemCard.tsx +++ b/src/Components/Templates/ItemCard.tsx @@ -1,5 +1,7 @@ +import { useMap } from 'react-leaflet' import { useNavigate } from 'react-router-dom' +import { useSetSelectPosition } from '#components/Map/hooks/useSelectPosition' import useWindowDimensions from '#components/Map/hooks/useWindowDimension' import { StartEndView, TextView } from '#components/Map/Subcomponents/ItemPopupComponents' import { HeaderView } from '#components/Map/Subcomponents/ItemPopupComponents/HeaderView' @@ -21,6 +23,8 @@ export const ItemCard = ({ }) => { const navigate = useNavigate() const windowDimensions = useWindowDimensions() + const map = useMap() + const setSelectPosition = useSetSelectPosition() return (
navigate('/edit-item/' + i.id)} + setPositionCallback={() => { + map.closePopup() + setSelectPosition(i) + navigate('/') + }} deleteCallback={() => deleteCallback(i)} >