import * as React from "react"; import { Input, InputGroup, Label } from "reactstrap"; import { IInternalPromptProps, IPromptProps } from "./Prompt"; import { TrueFalsePromptData } from "./QuizData"; export interface ITrueFalsePromptProps extends IPromptProps { answer: boolean; true: React.ReactChild; false: React.ReactChild; } export class TrueFalsePrompt extends React.PureComponent< ITrueFalsePromptProps > { static is(value: any): value is TrueFalsePrompt { return React.isValidElement(value) && value.type === TrueFalsePrompt; } } export interface IInternalTrueFalsePromptProps extends IInternalPromptProps { prompt: TrueFalsePromptData; input: [boolean]; update(fn: (input: [boolean]) => [boolean]): [boolean]; } export class InternalTrueFalsePrompt extends React.PureComponent< IInternalTrueFalsePromptProps > { onTrue = () => { this.props.update(() => [true]); }; onFalse = () => { this.props.update(() => [false]); }; render() { return (