2021-05-14 18:02:50 +10:00
|
|
|
import React from "react";
|
2021-05-20 13:50:19 +10:00
|
|
|
import { Grid } from "theme-ui";
|
2021-05-14 18:02:50 +10:00
|
|
|
|
2021-05-24 13:34:21 +10:00
|
|
|
import Tile from "../tile/Tile";
|
2021-05-14 18:02:50 +10:00
|
|
|
import TokenTileImage from "./TokenTileImage";
|
|
|
|
|
|
2021-05-24 13:34:21 +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,
|
2021-05-24 13:34:21 +10:00
|
|
|
onDoubleClick,
|
2021-05-14 18:02:50 +10:00
|
|
|
}) {
|
2021-05-24 13:34:21 +10:00
|
|
|
const layout = useResponsiveLayout();
|
|
|
|
|
|
2021-05-14 18:02:50 +10:00
|
|
|
return (
|
|
|
|
|
<Tile
|
|
|
|
|
title={group.name}
|
|
|
|
|
isSelected={isSelected}
|
2021-05-24 13:34:21 +10:00
|
|
|
onSelect={() => onSelect(group.id)}
|
|
|
|
|
onDoubleClick={onDoubleClick}
|
2021-05-14 18:02:50 +10:00
|
|
|
columns="1fr 1fr"
|
|
|
|
|
>
|
2021-05-25 15:47:52 +10:00
|
|
|
<Grid
|
|
|
|
|
columns={`repeat(${layout.groupGridColumns}, 1fr)`}
|
|
|
|
|
p={2}
|
|
|
|
|
sx={{ gridGap: 2 }}
|
|
|
|
|
>
|
|
|
|
|
{tokens.slice(0, 9).map((token) => (
|
2021-05-20 13:50:19 +10:00
|
|
|
<TokenTileImage
|
2021-05-24 13:34:21 +10:00
|
|
|
sx={{ borderRadius: "8px" }}
|
2021-05-20 13:50:19 +10:00
|
|
|
token={token}
|
2021-05-24 17:11:46 +10:00
|
|
|
key={`${token.id}-group-tile`}
|
2021-05-20 13:50:19 +10:00
|
|
|
/>
|
|
|
|
|
))}
|
|
|
|
|
</Grid>
|
2021-05-14 18:02:50 +10:00
|
|
|
</Tile>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default TokenTileGroup;
|