diff --git a/lib/src/Components/Map/Subcomponents/AddButton.tsx b/lib/src/Components/Map/Subcomponents/AddButton.tsx index 8f7854a1..888d3ed9 100644 --- a/lib/src/Components/Map/Subcomponents/AddButton.tsx +++ b/lib/src/Components/Map/Subcomponents/AddButton.tsx @@ -1,7 +1,5 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/no-non-null-assertion */ -import { DomEvent } from 'leaflet' -import { useEffect, useRef, useState } from 'react' import SVG from 'react-inlinesvg' import PlusSVG from '#assets/plus.svg' @@ -10,8 +8,6 @@ import { useLayers } from '#components/Map/hooks/useLayers' import { useHasUserPermission } from '#components/Map/hooks/usePermissions' import useWindowDimensions from '#components/Map/hooks/useWindowDimension' -import type { MouseEvent as ReactMouseEvent, TouchEvent as ReactTouchEvent } from 'react' - export default function AddButton({ triggerAction, }: { @@ -22,27 +18,6 @@ export default function AddButton({ const appState = useAppState() const { width } = useWindowDimensions() const isMobile = width < 768 - const [isOpen, setIsOpen] = useState(false) - const containerRef = useRef(null) - - useEffect(() => { - const container = containerRef.current - if (!container) return - - DomEvent.disableClickPropagation(container) - DomEvent.disableScrollPropagation(container) - - const handlePointerDown = (event: PointerEvent) => { - event.stopPropagation() - event.preventDefault() - } - - DomEvent.on(container, 'pointerdown', handlePointerDown) - - return () => { - DomEvent.off(container, 'pointerdown', handlePointerDown) - } - }, []) const canAddItems = () => { let canAdd = false @@ -58,54 +33,16 @@ export default function AddButton({ return canAdd } - const stopPropagation = ( - event: ReactMouseEvent | ReactTouchEvent, - ): void => { - const shouldPreventDefault = event.type === 'mousedown' || event.type === 'touchstart' - if (shouldPreventDefault) { - event.preventDefault() - } - event.stopPropagation() - if ( - 'nativeEvent' in event && - typeof event.nativeEvent.stopImmediatePropagation === 'function' - ) { - event.nativeEvent.stopImmediatePropagation() - } - } - - const handleLayerSelect = ( - event: ReactMouseEvent | ReactTouchEvent, - layer: (typeof layers)[number], - ) => { - stopPropagation(event) - triggerAction(layer) - setIsOpen(false) - } - return ( <> {canAddItems() ? ( -
- +
    { - stopPropagation(event) + onClick={() => { + triggerAction(layer) }} - onClick={(event) => { - handleLayerSelect(event, layer) - }} - onTouchStart={(event) => { - stopPropagation(event) + onTouchEnd={(e) => { + triggerAction(layer) + e.preventDefault() }} >