create-empirica-app
Version:
Create Empirica apps easily.
74 lines (66 loc) • 1.96 kB
JSX
import React from "react";
import { Centered } from "meteor/empirica:core";
export default class Quiz extends React.Component {
state = { sum: "", horse: "" };
handleChange = event => {
const el = event.currentTarget;
this.setState({ [el.name]: el.value.trim().toLowerCase() });
};
handleSubmit = event => {
event.preventDefault();
if (this.state.sum !== "4" || this.state.horse !== "white") {
alert("Incorrect! Read the instructions, and please try again.");
} else {
this.props.onNext();
}
};
render() {
const { hasPrev, hasNext, onNext, onPrev } = this.props;
const { sum, horse } = this.state;
return (
<Centered>
<div className="quiz">
<h1> Quiz </h1>
<form onSubmit={this.handleSubmit}>
<p>
<label htmlFor="sum">What is 2+2?</label>
<input
type="text"
dir="auto"
id="sum"
name="sum"
placeholder="e.g. 3"
value={sum}
onChange={this.handleChange}
autoComplete="off"
required
/>
</p>
<p>
<label htmlFor="horse">
What color was Napoleon's white horse?
</label>
<input
type="text"
dir="auto"
id="horse"
name="horse"
placeholder="e.g. brown"
value={horse}
onChange={this.handleChange}
autoComplete="off"
required
/>
</p>
<p>
<button type="button" onClick={onPrev} disabled={!hasPrev}>
Back to instructions
</button>
<button type="submit">Submit</button>
</p>
</form>
</div>
</Centered>
);
}
}