Cockatrice/webclient/src/components/InputAction/InputAction.tsx
Brent Clark 513fcb0908
Webclient: Handle firing an event once (#4499)
* draft: handle firing an event once

* lint

* Prevent rapid double-click on sending messages

* no rest spread on single primative when sibling components exist

* clear message instead of using a fireOnce handler.

* fix tests

* remove unnecessary validate mock
2022-01-30 12:14:28 -05:00

27 lines
716 B
TypeScript

import React from 'react';
import { Field } from 'react-final-form'
import Button from '@material-ui/core/Button';
import { InputField } from 'components';
import './InputAction.css';
const InputAction = ({ action, label, name, validate, disabled }) => (
<div className="input-action">
<div className="input-action__item">
<Field label={label} name={name} component={InputField} validate={validate} />
</div>
<div className="input-action__submit">
<Button color="primary" variant="contained" type="submit" disabled={disabled}>
{action}
</Button>
</div>
</div>
);
InputAction.defaultProps = {
disabled: false,
validate: () => true,
}
export default InputAction;