mirror of
https://github.com/scratchfoundation/scratch-www.git
synced 2025-03-25 20:29:45 -04:00
Remove "blank" classroom, show spinner instead
It was broken due to a key error on `classroom.images` anyway
This commit is contained in:
parent
8038fbcdc1
commit
9aa7e828b7
2 changed files with 44 additions and 50 deletions
src
|
@ -718,16 +718,6 @@ module.exports = {
|
|||
ClassInviteStep: React.createClass({
|
||||
getDefaultProps: function () {
|
||||
return {
|
||||
classroom: {
|
||||
title: '',
|
||||
thumbnail: '',
|
||||
educator: {
|
||||
username: '',
|
||||
profile: {
|
||||
images: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
messages: {
|
||||
'general.getStarted': 'Get Started',
|
||||
'registration.classroomInviteStepDescription': 'has invited you to join the class:'
|
||||
|
@ -741,21 +731,26 @@ module.exports = {
|
|||
render: function () {
|
||||
return (
|
||||
<Slide className="registration-step class-invite-step">
|
||||
<Avatar className="invite-avatar" src={this.props.classroom.educator.profile.images['50x50']} />
|
||||
<h2>{this.props.classroom.educator.username}</h2>
|
||||
<p className="description">
|
||||
{this.props.messages['registration.classroomInviteStepDescription']}
|
||||
</p>
|
||||
<Card>
|
||||
<div className="contents">
|
||||
<h3>{this.props.classroom.title}</h3>
|
||||
<img className="class-image" src={this.props.classroom.images['250x150']} />
|
||||
</div>
|
||||
<NextStepButton onClick={this.onNextStep}
|
||||
waiting={this.props.waiting}
|
||||
text={this.props.messages['general.getStarted']} />
|
||||
</Card>
|
||||
<StepNavigation steps={this.props.totalSteps - 1} active={this.props.activeStep} />
|
||||
{this.props.waiting ? [
|
||||
<Spinner />
|
||||
] : [
|
||||
<Avatar className="invite-avatar"
|
||||
src={this.props.classroom.educator.profile.images['50x50']} />,
|
||||
<h2>{this.props.classroom.educator.username}</h2>,
|
||||
<p className="description">
|
||||
{this.props.messages['registration.classroomInviteStepDescription']}
|
||||
</p>,
|
||||
<Card>
|
||||
<div className="contents">
|
||||
<h3>{this.props.classroom.title}</h3>
|
||||
<img className="class-image" src={this.props.classroom.images['250x150']} />
|
||||
</div>
|
||||
<NextStepButton onClick={this.onNextStep}
|
||||
waiting={this.props.waiting}
|
||||
text={this.props.messages['general.getStarted']} />
|
||||
</Card>,
|
||||
<StepNavigation steps={this.props.totalSteps - 1} active={this.props.activeStep} />
|
||||
]}
|
||||
</Slide>
|
||||
);
|
||||
}
|
||||
|
@ -763,23 +758,14 @@ module.exports = {
|
|||
ClassWelcomeStep: React.createClass({
|
||||
getDefaultProps: function () {
|
||||
return {
|
||||
classroom: {
|
||||
title: '',
|
||||
thumbnail: '',
|
||||
educator: {
|
||||
username: '',
|
||||
profile: {
|
||||
images: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
messages: {
|
||||
'registration.goToClass': 'Go to Class',
|
||||
'registration.welcomeStepDescription': 'You have successfully set up a Scratch account! ' +
|
||||
'You are now a member of the class:',
|
||||
'registration.welcomeStepPrompt': 'To get started, click on the button below.',
|
||||
'registration.welcomeStepTitle': 'Hurray! Welcome to Scratch!'
|
||||
}
|
||||
},
|
||||
waiting: false
|
||||
};
|
||||
},
|
||||
onNextStep: function () {
|
||||
|
@ -788,18 +774,26 @@ module.exports = {
|
|||
render: function () {
|
||||
return (
|
||||
<Slide className="registration-step class-welcome-step">
|
||||
<h2>{this.props.messages['registration.welcomeStepTitle']}</h2>
|
||||
<p className="description">{this.props.messages['registration.welcomeStepDescription']}</p>
|
||||
<Card>
|
||||
<div className="contents">
|
||||
<h3>{this.props.classroom.title}</h3>
|
||||
<img className="class-image" src={this.props.classroom.images['250x150']} />
|
||||
<p>{this.props.messages['registration.welcomeStepPrompt']}</p>
|
||||
</div>
|
||||
<NextStepButton onClick={this.onNextStep}
|
||||
waiting={this.props.waiting}
|
||||
text={this.props.messages['registration.goToClass']} />
|
||||
</Card>
|
||||
{this.props.waiting ? [
|
||||
<Spinner />
|
||||
] : [
|
||||
<h2>{this.props.messages['registration.welcomeStepTitle']}</h2>,
|
||||
<p className="description">{this.props.messages['registration.welcomeStepDescription']}</p>,
|
||||
<Card>
|
||||
{this.props.classroom ? (
|
||||
<div className="contents">
|
||||
<h3>{this.props.classroom.title}</h3>
|
||||
<img className="class-image" src={this.props.classroom.images['250x150']} />
|
||||
<p>{this.props.messages['registration.welcomeStepPrompt']}</p>
|
||||
</div>
|
||||
) : (
|
||||
null
|
||||
)}
|
||||
<NextStepButton onClick={this.onNextStep}
|
||||
waiting={this.props.waiting}
|
||||
text={this.props.messages['registration.goToClass']} />
|
||||
</Card>
|
||||
]}
|
||||
</Slide>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -97,7 +97,7 @@ var StudentRegistration = intl.injectIntl(React.createClass({
|
|||
<Steps.ClassInviteStep classroom={this.state.classroom}
|
||||
messages={this.props.messages}
|
||||
onNextStep={this.advanceStep}
|
||||
waiting={this.state.waiting} />
|
||||
waiting={this.state.waiting || !this.state.classroom} />
|
||||
<Steps.UsernameStep onNextStep={this.advanceStep}
|
||||
waiting={this.state.waiting} />
|
||||
<Steps.DemographicsStep description={demographicsDescription}
|
||||
|
@ -106,7 +106,7 @@ var StudentRegistration = intl.injectIntl(React.createClass({
|
|||
<Steps.ClassWelcomeStep classroom={this.state.classroom}
|
||||
messages={this.props.messages}
|
||||
onNextStep={this.goToClass}
|
||||
waiting={this.state.waiting} />
|
||||
waiting={this.state.waiting || !this.state.classroom} />
|
||||
</Progression>
|
||||
}
|
||||
</Deck>
|
||||
|
|
Loading…
Add table
Reference in a new issue