import React from 'react'; import lbryio from '../lbryio.js'; import ModalPage from './modal-page.js'; import {Link} from '../component/link.js'; import FormField from '../component/form.js'; import Notice from '../component/notice.js' const SubmitEmailStage = React.createClass({ getInitialState: function() { return { rewardType: null, email: '', submitting: false, errorMessage: null, }; }, handleEmailChanged: function(event) { this.setState({ email: event.target.value, }); }, handleSubmit: function(event) { event.preventDefault(); this.setState({ submitting: true, }); lbryio.call('user_email', 'new', {email: this.state.email}, 'post').then(() => { this.props.onDone(); }, (error) => { this.setState({ submitting: false, errorMessage: error.message, }); }); }, render: function() { return (

Welcome to LBRY

{this.state.errorMessage ? {this.state.errorMessage} : null}

Copy here explaining what we do with your email, and the reward.

Email
); } }); const ConfirmEmailStage = React.createClass({ getInitialState: function() { return { rewardType: null, code: '', submitting: false, errorMessage: null, }; }, handleCodeChanged: function(event) { this.setState({ code: event.target.value, }); }, handleSubmit: function(event) { event.preventDefault(); this.setState({ submitting: true, }); lbryio.call('user_email', 'confirm', {verification_token: this.state.code}, 'post').then(() => { rewards.claimReward('confirm_email').then(() => { console.log('succeeded'); this.props.onDone(); }, (err) => { console.log('failed'); this.props.onDone(); }); }, (error) => { this.setState({ submitting: false, errorMessage: error.message, }); }); }, render: function() { return (

Confirm Your Email Address

{this.state.errorMessage ? {this.state.errorMessage} : null}

Please enter your verification code to confirm your email address.

); } }); const FinalMessageStage = React.createClass({ render: function() { return (

Email verified

Text here about what happens next

); } }); export const Welcome = React.createClass({ _stages: [ SubmitEmailStage, ConfirmEmailStage, FinalMessageStage, ], propTypes: { onDone: React.PropTypes.func.isRequired, }, getInitialState: function() { return { stageNum: 0, }; }, handleStageDone: function() { if (this.state.stageNum >= this._stages.length - 1) { this.props.onDone(); } else { this.setState({ stageNum: this.state.stageNum + 1, }); } }, render: function() { const Content = this._stages[this.state.stageNum]; return ( ); } });