@hypernetlabs/web-ui
Version:
Web ui react components for hypernet protocol
58 lines • 3.89 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const objects_1 = require("@hypernetlabs/objects");
const core_1 = require("@material-ui/core");
const contexts_1 = require("../../contexts");
const formik_1 = require("formik");
const react_1 = __importDefault(require("react"));
const components_1 = require("../../components");
const CreateRegistryWidget_style_1 = require("../../widgets/CreateRegistryWidget/CreateRegistryWidget.style");
const CreateRegistryWidget = ({ onCloseCallback, currentAccountAddress, }) => {
const classes = (0, CreateRegistryWidget_style_1.useStyles)();
const { coreProxy } = (0, contexts_1.useStoreContext)();
const { setLoading, handleCoreError } = (0, contexts_1.useLayoutContext)();
const handleCreateRegistry = ({ name, symbol, registrar, enumerable, }) => {
setLoading(true);
coreProxy.registries
.createRegistryByToken(name, symbol, (0, objects_1.EthereumAccountAddress)(registrar), enumerable)
.map(() => {
setLoading(false);
onCloseCallback();
})
.mapErr(handleCoreError);
};
return (react_1.default.createElement(components_1.GovernanceDialog, { title: "Create a New Registry", isOpen: true, onClose: onCloseCallback, content: react_1.default.createElement(core_1.Box, { className: classes.wrapper },
react_1.default.createElement(formik_1.Formik, { initialValues: {
name: "",
symbol: "",
registrar: currentAccountAddress,
enumerable: true,
}, onSubmit: handleCreateRegistry }, ({ handleSubmit, values }) => {
return (react_1.default.createElement(formik_1.Form, { onSubmit: handleSubmit },
react_1.default.createElement(components_1.GovernanceField, { title: "Registry Name", name: "name", type: "input", placeholder: "Enter a name" }),
react_1.default.createElement(components_1.GovernanceField, { title: "Registry Symbol", required: true, name: "symbol", type: "input", placeholder: "Enter a Symbol" }),
react_1.default.createElement(components_1.GovernanceField, { title: "Registrar Address", required: true, name: "registrar", type: "input", placeholder: "Enter Registrar address" }),
react_1.default.createElement(components_1.GovernanceDialogSelectLargeField, { name: "enumerable", title: "Enumerable Tokens", type: "select", placeholder: "select action", required: true, options: [
{
primaryText: "Enabled",
secondaryText: undefined,
action: null,
value: true,
},
{
primaryText: "Disabled",
secondaryText: undefined,
action: null,
value: false,
},
] }),
react_1.default.createElement(core_1.Box, { className: classes.actionContainer },
react_1.default.createElement(components_1.GovernanceButton, { variant: "outlined", color: "primary", onClick: onCloseCallback }, "Cancel"),
react_1.default.createElement(components_1.GovernanceButton, { className: classes.button, variant: "contained", color: "primary", onClick: handleSubmit, disabled: !values.registrar || !values.name }, "Submit"))));
})) }));
};
exports.default = CreateRegistryWidget;
//# sourceMappingURL=CreateRegistryWidget.js.map