Files
grungnet/src/components/map/MapTileGroup.js

42 lines
1.0 KiB
JavaScript
Raw Normal View History

2021-05-14 18:02:50 +10:00
import React from "react";
import { Grid } from "theme-ui";
2021-05-14 18:02:50 +10:00
import Tile from "../tile/Tile";
2021-05-25 16:56:37 +10:00
import MapImage from "./MapImage";
2021-05-14 18:02:50 +10:00
import useResponsiveLayout from "../../hooks/useResponsiveLayout";
function MapTileGroup({ group, maps, isSelected, onSelect, onDoubleClick }) {
const layout = useResponsiveLayout();
2021-05-14 18:02:50 +10:00
return (
<Tile
title={group.name}
isSelected={isSelected}
onSelect={() => onSelect(group.id)}
onDoubleClick={onDoubleClick}
2021-05-14 18:02:50 +10:00
>
2021-05-25 15:47:52 +10:00
<Grid
columns={`repeat(${layout.groupGridColumns}, 1fr)`}
p={2}
sx={{
gridGap: 2,
gridTemplateRows: `repeat(${layout.groupGridColumns}, 1fr)`,
}}
2021-05-25 15:47:52 +10:00
>
{maps
.slice(0, layout.groupGridColumns * layout.groupGridColumns)
.map((map) => (
<MapImage
sx={{ borderRadius: "8px" }}
map={map}
key={`${map.id}-group-tile`}
/>
))}
</Grid>
2021-05-14 18:02:50 +10:00
</Tile>
);
}
export default MapTileGroup;