Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | import React, { ReactNode, useMemo } from 'react';
import { useDeviceInfo } from '../../utils';
import './styles.scss';
type MapContainerProps = {
containerId?: string;
drawer?: ReactNode;
drawerOpen?: boolean;
legend?: ReactNode;
map: ReactNode;
};
const MapContainer = (props: MapContainerProps) => {
const { containerId, drawer, drawerOpen, legend, map } = props;
const { isDesktop } = useDeviceInfo();
const drawerOnly = useMemo(() => !isDesktop && drawerOpen, [drawerOpen, isDesktop]);
return (
<div
id={containerId}
className={`map-container map-container${
isDesktop ? '--desktop' : `--mobile${drawerOpen ? '-drawer-open' : ''}`
}`}
>
<div className={`map-holder${drawerOnly ? ' map-holder--hidden' : ''}`}>{map}</div>
{drawerOpen && drawer}
{!drawerOnly && legend}
</div>
);
};
export default MapContainer;
|