Files
grungnet/src/components/token/TokenTileGroup.js

49 lines
1.1 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 TokenImage from "./TokenImage";
2021-05-14 18:02:50 +10:00
import useResponsiveLayout from "../../hooks/useResponsiveLayout";
2021-05-14 18:02:50 +10:00
function TokenTileGroup({
group,
tokens,
isSelected,
2021-05-20 12:22:07 +10:00
onSelect,
onDoubleClick,
2021-05-14 18:02:50 +10:00
}) {
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}
2021-06-14 17:07:15 +10:00
gap={2}
sx={{
height: "100%",
gridTemplateRows: `repeat(${layout.groupGridColumns}, 1fr)`,
}}
2021-05-25 15:47:52 +10:00
>
{tokens
.slice(0, layout.groupGridColumns * layout.groupGridColumns)
.map((token) => (
<TokenImage
sx={{ borderRadius: "8px" }}
token={token}
key={`${token.id}-group-tile`}
/>
))}
</Grid>
2021-05-14 18:02:50 +10:00
</Tile>
);
}
export default TokenTileGroup;