mnml/client/src/components/spawn.button.jsx
2019-07-26 14:00:01 +10:00

52 lines
1.4 KiB
JavaScript

const preact = require('preact');
const { Component } = require('preact');
class SpawnButton extends Component {
constructor(props) {
super(props);
this.state = { value: null, enabled: false };
this.handleInput = this.handleInput.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
this.enable = this.enable.bind(this);
}
handleInput(event) {
console.log(event.target.value);
this.setState({ value: event.target.value });
}
handleSubmit(event) {
event.preventDefault();
this.props.spawn(this.state.value);
this.setState({ value: null, enabled: false });
}
enable() {
this.setState({ enabled: !this.state.enabled });
}
render() {
const selected = this.state.enabled ? 'selected' : '';
return (
<div
key={this.props.i}
class={`menu-construct spawn-btn ${selected}`}
onClick={() => this.enable()} >
<h1>+</h1>
<br />
<button
class="login-btn"
disabled={!this.state.enabled}
onClick={this.handleSubmit}
type="submit">
spawn
</button>
<h1>¤50</h1>
</div>
);
}
}
module.exports = SpawnButton;