fix: add full stack cert section UI
This commit is contained in:
committed by
Mrugesh Mohapatra
parent
08e968079c
commit
57a0930e88
@ -129,7 +129,7 @@ export class CertificationSettings extends Component {
|
|||||||
super(props);
|
super(props);
|
||||||
|
|
||||||
this.state = { ...initialState };
|
this.state = { ...initialState };
|
||||||
this.handleSubmit = this.handleSubmit.bind(this);
|
this.handleSubmitLegacy = this.handleSubmitLegacy.bind(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
createHandleLinkButtonClick = to => e => {
|
createHandleLinkButtonClick = to => e => {
|
||||||
@ -287,7 +287,7 @@ export class CertificationSettings extends Component {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// legacy projects rendering
|
// legacy projects rendering
|
||||||
handleSubmit(formChalObj) {
|
handleSubmitLegacy(formChalObj) {
|
||||||
const {
|
const {
|
||||||
isHonest,
|
isHonest,
|
||||||
createFlashMessage,
|
createFlashMessage,
|
||||||
@ -415,7 +415,7 @@ export class CertificationSettings extends Component {
|
|||||||
...initialObject
|
...initialObject
|
||||||
}}
|
}}
|
||||||
options={options}
|
options={options}
|
||||||
submit={this.handleSubmit}
|
submit={this.handleSubmitLegacy}
|
||||||
/>
|
/>
|
||||||
{isCertClaimed ? (
|
{isCertClaimed ? (
|
||||||
<div className={'col-xs-12'}>
|
<div className={'col-xs-12'}>
|
||||||
@ -437,6 +437,100 @@ export class CertificationSettings extends Component {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
renderFullStack = () => {
|
||||||
|
const {
|
||||||
|
isFullStackCert,
|
||||||
|
username,
|
||||||
|
isHonest,
|
||||||
|
createFlashMessage,
|
||||||
|
verifyCert,
|
||||||
|
is2018DataVisCert,
|
||||||
|
isApisMicroservicesCert,
|
||||||
|
isFrontEndLibsCert,
|
||||||
|
isInfosecQaCert,
|
||||||
|
isJsAlgoDataStructCert,
|
||||||
|
isRespWebDesignCert
|
||||||
|
} = this.props;
|
||||||
|
|
||||||
|
const fullStackClaimable =
|
||||||
|
is2018DataVisCert &&
|
||||||
|
isApisMicroservicesCert &&
|
||||||
|
isFrontEndLibsCert &&
|
||||||
|
isInfosecQaCert &&
|
||||||
|
isJsAlgoDataStructCert &&
|
||||||
|
isRespWebDesignCert;
|
||||||
|
|
||||||
|
const superBlock = 'full-stack-certificate';
|
||||||
|
const certLocation = `/certification/${username}/${superBlock}`;
|
||||||
|
|
||||||
|
const buttonStyle = {
|
||||||
|
marginBottom: '30px',
|
||||||
|
padding: '6px 12px',
|
||||||
|
fontSize: '18px'
|
||||||
|
};
|
||||||
|
|
||||||
|
const createClickHandler = superBlock => e => {
|
||||||
|
e.preventDefault();
|
||||||
|
if (isFullStackCert) {
|
||||||
|
return navigate(certLocation);
|
||||||
|
}
|
||||||
|
return isHonest
|
||||||
|
? verifyCert(superBlock)
|
||||||
|
: createFlashMessage(honestyInfoMessage);
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<FullWidthRow key={superBlock}>
|
||||||
|
<Spacer />
|
||||||
|
<h3>Full Stack Certification</h3>
|
||||||
|
<div>
|
||||||
|
<p>
|
||||||
|
Once you've earned the following freeCodeCamp certifications, you'll
|
||||||
|
be able to claim The Full Stack Developer Certification:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>Responsive Web Design</li>
|
||||||
|
<li>Algorithms and Data Structures</li>
|
||||||
|
<li>Front End Libraries</li>
|
||||||
|
<li>Data Visualization</li>
|
||||||
|
<li>APIs and Microservices</li>
|
||||||
|
<li>Information Security and Quality Assurance</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={'col-xs-12'}>
|
||||||
|
{fullStackClaimable ? (
|
||||||
|
<Button
|
||||||
|
bsSize='sm'
|
||||||
|
bsStyle='primary'
|
||||||
|
className={'col-xs-12'}
|
||||||
|
href={certLocation}
|
||||||
|
id={'button-' + superBlock}
|
||||||
|
onClick={createClickHandler(certLocation)}
|
||||||
|
style={buttonStyle}
|
||||||
|
target='_blank'
|
||||||
|
>
|
||||||
|
{isFullStackCert ? 'Show Certification' : 'Claim Certification'}
|
||||||
|
</Button>
|
||||||
|
) : (
|
||||||
|
<Button
|
||||||
|
bsSize='sm'
|
||||||
|
bsStyle='primary'
|
||||||
|
className={'col-xs-12'}
|
||||||
|
disabled={true}
|
||||||
|
id={'button-' + superBlock}
|
||||||
|
style={buttonStyle}
|
||||||
|
target='_blank'
|
||||||
|
>
|
||||||
|
Claim Certification
|
||||||
|
</Button>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
<Spacer />
|
||||||
|
</FullWidthRow>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const {
|
const {
|
||||||
solutionViewer: { files, solution, isOpen, projectTitle }
|
solutionViewer: { files, solution, isOpen, projectTitle }
|
||||||
@ -445,6 +539,7 @@ export class CertificationSettings extends Component {
|
|||||||
<section id='certifcation-settings'>
|
<section id='certifcation-settings'>
|
||||||
<SectionHeader>Certifications</SectionHeader>
|
<SectionHeader>Certifications</SectionHeader>
|
||||||
{certifications.map(this.renderCertifications)}
|
{certifications.map(this.renderCertifications)}
|
||||||
|
{this.renderFullStack()}
|
||||||
<SectionHeader>Legacy Certifications</SectionHeader>
|
<SectionHeader>Legacy Certifications</SectionHeader>
|
||||||
{legacyCertifications.map(this.renderLegacyCertifications)}
|
{legacyCertifications.map(this.renderLegacyCertifications)}
|
||||||
{isOpen ? (
|
{isOpen ? (
|
||||||
|
Reference in New Issue
Block a user