var React = require('react');
var countryData = require('../../lib/country-data');
var Button = require('../../components/forms/button.jsx');
var Checkbox = require('../../components/forms/checkbox.jsx');
var CheckboxGroup = require('../../components/forms/checkbox-group.jsx');
var Form = require('../../components/forms/form.jsx');
var FormStep = require('../../components/forms/formset.jsx').FormStep;
var Input = require('../../components/forms/input.jsx');
var PhoneInput = require('../../components/forms/phone-input.jsx');
var RadioGroup = require('../../components/forms/radio-group.jsx');
var Select = require('../../components/forms/select.jsx');
var TextArea = require('../../components/forms/textarea.jsx');
var DEFAULT_COUNTRY = 'us';
module.exports = {
UsernameStep: React.createClass({
render: function () {
return (
Creating a Teacher Account requires additional information
for review.
The approval process can take up to 24 hours
}>
);
}
}),
DemographicsStep: React.createClass({
getDefaultProps: function () {
return {defaultCountry: DEFAULT_COUNTRY};
},
getInitialState: function () {
return {otherDisabled: true};
},
onChooseGender: function (name, gender) {
this.setState({otherDisabled: gender !== 'other'});
},
render: function () {
var monthOptions = [
'January', 'February', 'March', 'April', 'May', 'June', 'July',
'August', 'September', 'October', 'November', 'December'
].map(function (label, id) {
return {value: id+1, label: label};
});
var yearOptions = Array.apply(null, Array(100)).map(function (v, id) {
var year = 2016 - id;
return {value: year, label: year};
});
return (
Your responses to these questions will be kept private.
Why do we ask for this information ?
}>
);
}
}),
NameStep: React.createClass({
render: function () {
return (
Your responses to these questions will be kept private.
Why do we ask for this information ?
}>
);
}
}),
PhoneNumberStep: React.createClass({
getDefaultProps: function () {
return {defaultCountry: DEFAULT_COUNTRY};
},
render: function () {
return (
Your responses to these questions will be kept private.
Why do we ask for this information ?
}>
);
}
}),
OrganizationStep: React.createClass({
getInitialState: function () {
return {
otherDisabled: true
};
},
onChooseOrganization: function (name, values) {
this.setState({otherDisabled: values.indexOf('Other') === -1});
},
render: function () {
var organizationOptions = [
'Elementary School', 'Middle School', 'High School', 'University / College',
'Museum', 'Library', 'Camp', 'Other'
].map(function (type) { return {value: type, label: type}; });
return (
Your responses to these questions will be kept private.
Why do we ask for this information ?
}>
);
}
}),
AddressStep: React.createClass({
getDefaultProps: function () {
return {defaultCountry: DEFAULT_COUNTRY};
},
getInitialState: function () {
return {
countryChoice: (
(this.props.formData.user && this.props.formData.user.country) ||
this.props.defaultCountry
)
};
},
onChangeCountry: function (field, choice) {
this.setState({countryChoice: choice});
},
render: function () {
var stateOptions = countryData.subdivisionOptions[this.state.countryChoice];
var stateDefault = 'Please select...';
stateOptions = [{label: stateDefault}].concat(stateOptions);
return (
Your responses to these questions will be kept private.
Why do we ask for this information ?
}>
);
}
}),
UseScratchStep: React.createClass({
render: function () {
return (
Tell us a little how you plan to use Scratch.
Why do we ask for this information ?
}>
);
}
}),
EmailStep: React.createClass({
render: function () {
return (
We will send you a confirmation email that will
allow you to access your Scratch Teacher Account.
}>
);
}
}),
LastStep: React.createClass({
render: function () {
return (
Lorem ipsum dolor sit amet
}>
Confirm Your Email
Click the link in the confirmation email that we
sent to the following address: {this.props.formData.user.email}