/* eslint-disable @typescript-eslint/no-explicit-any */ /* eslint-disable @typescript-eslint/no-non-null-assertion */ import { MapPinIcon } from '@heroicons/react/24/solid' import { useState } from 'react' import SVG from 'react-inlinesvg' import PlusSVG from '#assets/plus.svg' import { useAppState } from '#components/AppShell/hooks/useAppState' import { useLayers } from '#components/Map/hooks/useLayers' import { useHasUserPermission } from '#components/Map/hooks/usePermissions' import useWindowDimensions from '#components/Map/hooks/useWindowDimension' export default function AddButton({ triggerAction, }: { triggerAction: React.Dispatch> }) { const layers = useLayers() const hasUserPermission = useHasUserPermission() const appState = useAppState() const { width } = useWindowDimensions() const isMobile = width < 768 const [hideTooltips, setHideTooltips] = useState(false) const canAddItems = () => { let canAdd = false layers.map((layer) => { if ( layer.api?.createItem && hasUserPermission(layer.api.collectionName!, 'create', undefined, layer) && layer.listed ) canAdd = true return null }) return canAdd } const handleLayerClick = (layer: any) => { triggerAction(layer) // Verstecke Tooltips auf Mobile nach Layer-Auswahl if (isMobile) { setHideTooltips(true) } } return ( <> {canAddItems() ? (
) : ( '' )} ) }