UNPKG

create-empirica-app

Version:
74 lines (66 loc) 1.96 kB
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> ); } }