Merge pull request #4400 from FreeCodeCamp/fix/update-labs
Update labs and improve jobs
This commit is contained in:
@ -495,6 +495,12 @@ thead {
|
|||||||
color: #009900
|
color: #009900
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.testimonial-image-jobs {
|
||||||
|
border-radius: 5px;
|
||||||
|
color: #009900
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.default-border-radius {
|
.default-border-radius {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
}
|
}
|
||||||
|
@ -42,14 +42,15 @@ export default React.createClass({
|
|||||||
},
|
},
|
||||||
|
|
||||||
renderLinks() {
|
renderLinks() {
|
||||||
return navLinks.map(({ content, link, react }, index) => {
|
return navLinks.map(({ content, link, react, target }, index) => {
|
||||||
if (react) {
|
if (react) {
|
||||||
return (
|
return (
|
||||||
<LinkContainer
|
<LinkContainer
|
||||||
eventKey={ index + 1 }
|
eventKey={ index + 1 }
|
||||||
key={ content }
|
key={ content }
|
||||||
to={ link }>
|
to={ link }>
|
||||||
<NavItem>
|
<NavItem
|
||||||
|
target={ target || null } >
|
||||||
{ content }
|
{ content }
|
||||||
</NavItem>
|
</NavItem>
|
||||||
</LinkContainer>
|
</LinkContainer>
|
||||||
@ -59,7 +60,8 @@ export default React.createClass({
|
|||||||
<NavItem
|
<NavItem
|
||||||
eventKey={ index + 1 }
|
eventKey={ index + 1 }
|
||||||
href={ link }
|
href={ link }
|
||||||
key={ content }>
|
key={ content }
|
||||||
|
target={ target || null }>
|
||||||
{ content }
|
{ content }
|
||||||
</NavItem>
|
</NavItem>
|
||||||
);
|
);
|
||||||
|
@ -3,10 +3,16 @@
|
|||||||
"link": "/map"
|
"link": "/map"
|
||||||
}, {
|
}, {
|
||||||
"content": "Chat",
|
"content": "Chat",
|
||||||
"link": "//gitter.im/FreeCodeCamp/FreeCodeCamp"
|
"link": "//gitter.im/FreeCodeCamp/FreeCodeCamp",
|
||||||
|
"target": "_blank"
|
||||||
|
},{
|
||||||
|
"content": "Wiki",
|
||||||
|
"link": "https://github.com/freecodecamp/freecodecamp/wiki/",
|
||||||
|
"target": "_blank"
|
||||||
},{
|
},{
|
||||||
"content": "News",
|
"content": "News",
|
||||||
"link": "/news"
|
"link": "/news",
|
||||||
|
"target": "_blank"
|
||||||
},{
|
},{
|
||||||
"content": "Jobs",
|
"content": "Jobs",
|
||||||
"link": "/jobs",
|
"link": "/jobs",
|
||||||
|
@ -3,7 +3,6 @@ import { contain } from 'thundercats-react';
|
|||||||
import { Button, Panel, Row, Col } from 'react-bootstrap';
|
import { Button, Panel, Row, Col } from 'react-bootstrap';
|
||||||
|
|
||||||
import ListJobs from './List.jsx';
|
import ListJobs from './List.jsx';
|
||||||
import TwitterBtn from './TwitterBtn.jsx';
|
|
||||||
|
|
||||||
export default contain(
|
export default contain(
|
||||||
{
|
{
|
||||||
@ -61,7 +60,6 @@ export default contain(
|
|||||||
render() {
|
render() {
|
||||||
const {
|
const {
|
||||||
children,
|
children,
|
||||||
numOfFollowers,
|
|
||||||
jobs,
|
jobs,
|
||||||
appActions
|
appActions
|
||||||
} = this.props;
|
} = this.props;
|
||||||
@ -74,27 +72,55 @@ export default contain(
|
|||||||
mdOffset= { 1 }
|
mdOffset= { 1 }
|
||||||
xs={ 12 }>
|
xs={ 12 }>
|
||||||
<h1 className='text-center'>
|
<h1 className='text-center'>
|
||||||
Hire JavaScript engineers experienced in
|
Hire a JavaScript engineer who's experienced in HTML5,
|
||||||
HTML5, Node.js, MongoDB, and Agile Development
|
Node.js, MongoDB, and Agile Development.
|
||||||
</h1>
|
</h1>
|
||||||
|
<div className='spacer' />
|
||||||
<Row className='text-center'>
|
<Row className='text-center'>
|
||||||
<Col
|
<Col
|
||||||
sm={ 8 }
|
sm={ 8 }
|
||||||
smOffset={ 2 }
|
smOffset={ 2 }
|
||||||
xs={ 12 }>
|
xs={ 12 }>
|
||||||
<Button
|
<Button
|
||||||
bsSize='large'
|
className='signup-btn btn-block btn-cta'
|
||||||
className='signup-btn btn-block'
|
|
||||||
onClick={ ()=> {
|
onClick={ ()=> {
|
||||||
appActions.updateRoute('/jobs/new');
|
appActions.updateRoute('/jobs/new');
|
||||||
}}>
|
}}>
|
||||||
Post a job: $200 for 30 days + weekly tweets
|
Post a job: $200 for 30 days
|
||||||
</Button>
|
</Button>
|
||||||
<div className='button-spacer' />
|
|
||||||
<TwitterBtn count={ numOfFollowers || 0 } />
|
|
||||||
<div className='spacer' />
|
<div className='spacer' />
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
|
<div className='spacer' />
|
||||||
|
<Row>
|
||||||
|
<Col
|
||||||
|
md={ 2 }
|
||||||
|
xs={ 4 }>
|
||||||
|
<img
|
||||||
|
alt={`
|
||||||
|
a photo of Michael Gai, who recently hired a software
|
||||||
|
engineer through Free Code Camp
|
||||||
|
`}
|
||||||
|
className='img-responsive testimonial-image-jobs img-center'
|
||||||
|
src='http://i.imgur.com/tGcAA8H.jpg' />
|
||||||
|
</Col>
|
||||||
|
<Col
|
||||||
|
md={ 10 }
|
||||||
|
xs={ 8 }>
|
||||||
|
<blockquote>
|
||||||
|
<p>
|
||||||
|
We hired our last developer out of Free Code Camp
|
||||||
|
and couldn't be happier. Free Code Camp is now
|
||||||
|
our go-to way to bring on pre-screened candidates
|
||||||
|
who are enthusiastic about learning quickly and
|
||||||
|
becoming immediately productive in their new career.
|
||||||
|
</p>
|
||||||
|
<footer>
|
||||||
|
Michael Gai, <cite>CEO at CoNarrative</cite>
|
||||||
|
</footer>
|
||||||
|
</blockquote>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
<Row>
|
<Row>
|
||||||
{ this.renderChild(children, jobs) ||
|
{ this.renderChild(children, jobs) ||
|
||||||
this.renderList(this.handleJobClick, jobs) }
|
this.renderList(this.handleJobClick, jobs) }
|
||||||
|
@ -101,8 +101,8 @@
|
|||||||
"react": "~0.14.2",
|
"react": "~0.14.2",
|
||||||
"react-bootstrap": "~0.27.3",
|
"react-bootstrap": "~0.27.3",
|
||||||
"react-motion": "~0.3.1",
|
"react-motion": "~0.3.1",
|
||||||
"react-router": "^1.0.0-rc4",
|
"react-router": "^1.0.0",
|
||||||
"react-router-bootstrap": "~0.19.2",
|
"react-router-bootstrap": "https://github.com/FreeCodeCamp/react-router-bootstrap.git#freecodecamp",
|
||||||
"react-vimeo": "~0.0.3",
|
"react-vimeo": "~0.0.3",
|
||||||
"request": "^2.65.0",
|
"request": "^2.65.0",
|
||||||
"rev-del": "^1.0.5",
|
"rev-del": "^1.0.5",
|
||||||
|
@ -20,6 +20,20 @@
|
|||||||
"description": "A path to a free education in Computer Science.",
|
"description": "A path to a free education in Computer Science.",
|
||||||
"image": "https://camo.githubusercontent.com/c42438055d3fee26b29e6d046fd8d06ebff3db20/687474703a2f2f692e696d6775722e636f6d2f6838786a72726a2e706e67"
|
"image": "https://camo.githubusercontent.com/c42438055d3fee26b29e6d046fd8d06ebff3db20/687474703a2f2f692e696d6775722e636f6d2f6838786a72726a2e706e67"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"camper": "akiralaine",
|
||||||
|
"name": "Musare",
|
||||||
|
"url": "http://musare.com/",
|
||||||
|
"description": "Musare is a modern, collaborative, open-source Music App.",
|
||||||
|
"image": "http://i.imgur.com/Y4D4MPL.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"camper": "storbeck",
|
||||||
|
"name": "Free Code Camp Event Zipline: Recipe Box",
|
||||||
|
"url": "http://codepen.io/GeoffStorbeck/full/bVKyzd/",
|
||||||
|
"description": "Try to reverse engineer this Recipe Box as an optional Zipline challenge.",
|
||||||
|
"image": "http://i.imgur.com/5o0bwVQ.png"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"camper": "akiralaine",
|
"camper": "akiralaine",
|
||||||
"name": "Camper News Bot",
|
"name": "Camper News Bot",
|
||||||
|
Reference in New Issue
Block a user