import React, { useState } from "react"; import { Flex, Image as UIImage, IconButton, Box, Text } from "theme-ui"; import EditMapIcon from "../../icons/EditMapIcon"; import useDataSource from "../../helpers/useDataSource"; import { mapSources as defaultMapSources, unknownSource } from "../../maps"; function MapTile({ map, isSelected, onMapSelect, onMapEdit, onDone, large }) { const [isMapTileMenuOpen, setIsTileMenuOpen] = useState(false); const isDefault = map.type === "default"; const mapSource = useDataSource( isDefault ? map : map.resolutions && map.resolutions.low ? map.resolutions.low : map, defaultMapSources, unknownSource ); return ( { e.stopPropagation(); setIsTileMenuOpen(false); if (!isSelected) { onMapSelect(map); } }} onDoubleClick={(e) => { if (!isMapTileMenuOpen) { onDone(e); } }} > {map.name} {/* Show expand button only if both reset and remove is available */} {isSelected && ( { e.preventDefault(); e.stopPropagation(); onMapEdit(map.id); }} bg="overlay" sx={{ borderRadius: "50%" }} m={2} > )} ); } export default MapTile;