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

72 lines
2.0 KiB
JavaScript
Raw Normal View History

2020-05-20 12:37:29 +10:00
import React from "react";
import { Flex, Box, Input, Label } from "theme-ui";
2020-05-20 12:37:29 +10:00
import { isEmpty } from "../../helpers/shared";
2020-05-20 12:37:29 +10:00
import Select from "../Select";
2020-08-27 19:09:16 +10:00
const categorySettings = [
{ value: "character", label: "Character" },
{ value: "prop", label: "Prop" },
{ value: "vehicle", label: "Vehicle / Mount" },
2020-08-27 19:09:16 +10:00
];
function TokenSettings({ token, onSettingsChange }) {
const tokenEmpty = !token || isEmpty(token);
2020-05-20 12:37:29 +10:00
return (
<Flex sx={{ flexDirection: "column" }}>
2020-10-10 11:34:03 +11:00
<Box mt={2} sx={{ flexGrow: 1 }}>
<Label htmlFor="name">Name</Label>
<Input
name="name"
value={(token && token.name) || ""}
onChange={(e) => onSettingsChange("name", e.target.value)}
disabled={tokenEmpty}
2020-10-10 11:34:03 +11:00
my={1}
/>
</Box>
<Box mt={2}>
2021-06-09 09:47:39 +10:00
<Label>Default Category</Label>
2020-10-10 11:34:03 +11:00
<Select
options={categorySettings}
value={
!tokenEmpty &&
categorySettings.find((s) => s.value === token.defaultCategory)
2020-10-10 11:34:03 +11:00
}
isDisabled={tokenEmpty}
onChange={(option) =>
onSettingsChange("defaultCategory", option.value)
}
2020-10-10 11:34:03 +11:00
isSearchable={false}
/>
</Box>
2021-06-09 09:47:39 +10:00
<Box mt={2} sx={{ flexGrow: 1 }}>
<Label htmlFor="tokenSize">Default Size</Label>
<Input
type="number"
name="tokenSize"
value={`${(token && token.defaultSize) || 0}`}
onChange={(e) =>
onSettingsChange("defaultSize", parseFloat(e.target.value))
}
disabled={tokenEmpty}
min={1}
my={1}
/>
</Box>
2021-06-09 09:51:00 +10:00
<Box my={2} mb={3} sx={{ flexGrow: 1 }}>
<Label htmlFor="label">Default Label</Label>
<Input
name="label"
value={(token && token.defaultLabel) || ""}
onChange={(e) => onSettingsChange("defaultLabel", e.target.value)}
disabled={tokenEmpty}
my={1}
/>
</Box>
2020-05-20 12:37:29 +10:00
</Flex>
);
}
export default TokenSettings;