2020-03-19 17:33:57 +11:00
|
|
|
import React from "react";
|
2020-03-20 11:05:40 +11:00
|
|
|
import { Flex } from "theme-ui";
|
|
|
|
|
import shortid from "shortid";
|
2020-03-19 21:40:29 +11:00
|
|
|
|
|
|
|
|
import * as tokens from "../tokens";
|
|
|
|
|
|
2020-03-20 11:05:40 +11:00
|
|
|
import Token from "./Token";
|
|
|
|
|
import ProxyToken from "./ProxyToken";
|
|
|
|
|
|
|
|
|
|
function Tokens({ onCreateMapToken }) {
|
|
|
|
|
const tokenClassName = "list-token";
|
|
|
|
|
|
|
|
|
|
function handleProxyDragEnd(isOnMap, token) {
|
|
|
|
|
if (isOnMap && onCreateMapToken) {
|
|
|
|
|
// Give the token an id
|
|
|
|
|
onCreateMapToken({ id: shortid.generate(), ...token });
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-03-19 17:33:57 +11:00
|
|
|
|
2020-03-19 21:40:29 +11:00
|
|
|
return (
|
2020-03-20 11:05:40 +11:00
|
|
|
<>
|
|
|
|
|
<Flex
|
|
|
|
|
bg="background"
|
|
|
|
|
sx={{
|
|
|
|
|
width: "80px",
|
|
|
|
|
minWidth: "80px",
|
|
|
|
|
flexDirection: "column",
|
|
|
|
|
overflow: "auto"
|
|
|
|
|
}}
|
|
|
|
|
px={2}
|
|
|
|
|
>
|
|
|
|
|
{Object.entries(tokens).map(([id, image]) => (
|
|
|
|
|
<Token key={id} image={image} className={tokenClassName} />
|
|
|
|
|
))}
|
|
|
|
|
</Flex>
|
|
|
|
|
<ProxyToken
|
|
|
|
|
tokenClassName={tokenClassName}
|
|
|
|
|
onProxyDragEnd={handleProxyDragEnd}
|
|
|
|
|
/>
|
|
|
|
|
</>
|
2020-03-19 21:40:29 +11:00
|
|
|
);
|
2020-03-19 17:33:57 +11:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default Tokens;
|