import { Modal, ModalOverlay, ModalContent, ModalBody, Box, } from '@chakra-ui/react' import decadesManifest from '../../../../static_data/decadesManifest.json' import { useRouter } from 'next/router' import { useEffect, useRef, useState } from 'react' import ImageMapper from 'react-img-mapper' import Image from 'next/image' export default function MarkerCardModal(props: { isOpen: boolean onModalClose: () => void decade: string }) { const { locale } = useRouter() const containerRef = useRef() const decadeColor = decadesManifest[props.decade as keyof typeof decadesManifest].color const [width, setWidth] = useState(200) const [mapDefinition, setMapDefinition] = useState() const [isTransitionCompleted, setIsTransitionComplited] = useState(false) const getContainerSize = () => { if (containerRef.current != undefined) { setWidth(containerRef.current.clientWidth) } } const getMapDefinition = async () => { const tempMapDefinition = await import( '../../../../static_data/regions/abruzzo/' + props.decade + '/plan/manifest.json' ) tempMapDefinition.areas.forEach((area: any) => { area.href = '/' + locale + area.href }) setMapDefinition(tempMapDefinition) } useEffect(() => { getMapDefinition() return window.addEventListener('resize', getContainerSize) }, []) return ( <> {!isTransitionCompleted ? ( setInterval(() => { setIsTransitionComplited(true) }, 2500) } priority > ) : ( setInterval(() => getContainerSize(), 10)} responsive={true} parentWidth={width} map={mapDefinition} src={'/regions/abruzzo/' + props.decade + '/plan/plan.jpeg'} /> )} ) }