2015-09-02 15:08:58 -04:00
|
|
|
var React = require('react');
|
|
|
|
|
|
|
|
var Api = require('../../mixins/api.jsx');
|
2015-09-03 22:41:27 -04:00
|
|
|
var Session = require('../../mixins/session.jsx');
|
|
|
|
|
2015-09-08 22:54:55 -04:00
|
|
|
var Activity = require('../../components/activity/activity.jsx');
|
2015-09-08 18:15:02 -04:00
|
|
|
var Box = require('../../components/box/box.jsx');
|
|
|
|
var Carousel = require('../../components/carousel/carousel.jsx');
|
2015-09-09 22:16:03 -04:00
|
|
|
var Intro = require('../../components/intro/intro.jsx');
|
2015-09-02 15:08:58 -04:00
|
|
|
var News = require('../../components/news/news.jsx');
|
|
|
|
|
|
|
|
require('./splash.scss');
|
|
|
|
|
|
|
|
var View = React.createClass({
|
|
|
|
mixins: [
|
2015-09-03 22:41:27 -04:00
|
|
|
Api,
|
|
|
|
Session
|
2015-09-02 15:08:58 -04:00
|
|
|
],
|
|
|
|
getInitialState: function () {
|
|
|
|
return {
|
2015-09-09 22:16:03 -04:00
|
|
|
projectCount: 10569070,
|
2015-09-03 22:41:27 -04:00
|
|
|
activity: [],
|
|
|
|
news: [],
|
2015-09-08 18:15:02 -04:00
|
|
|
featured: require('./featured.json')
|
2015-09-02 15:08:58 -04:00
|
|
|
};
|
|
|
|
},
|
|
|
|
componentDidMount: function () {
|
2015-09-02 16:33:31 -04:00
|
|
|
// @todo API request for News
|
|
|
|
// @todo API request for Activity
|
|
|
|
// @todo API request for Featured
|
2015-09-02 15:08:58 -04:00
|
|
|
},
|
|
|
|
render: function () {
|
2015-09-16 14:44:26 -04:00
|
|
|
var loggedIn = !!this.state.session.token;
|
2015-09-02 15:08:58 -04:00
|
|
|
return (
|
2015-09-03 22:41:27 -04:00
|
|
|
<div className="inner">
|
2015-09-16 14:44:26 -04:00
|
|
|
{loggedIn ? [
|
2015-09-08 22:54:55 -04:00
|
|
|
<div className="splash-header">
|
|
|
|
<Activity />
|
|
|
|
<News />
|
|
|
|
</div>
|
2015-09-16 14:44:26 -04:00
|
|
|
] : [
|
|
|
|
<Intro projectCount={this.state.projectCount} key="intro"/>
|
|
|
|
]}
|
2015-09-10 15:00:07 -04:00
|
|
|
{this.state.featured.map(function (set) {
|
2015-09-08 18:15:02 -04:00
|
|
|
return (
|
|
|
|
<Box
|
2015-09-16 10:55:13 -04:00
|
|
|
key={set.title}
|
|
|
|
className="featured"
|
|
|
|
title={set.title}>
|
2015-09-08 18:15:02 -04:00
|
|
|
<Carousel items={set.items} />
|
|
|
|
</Box>
|
|
|
|
);
|
|
|
|
})}
|
2015-09-02 15:08:58 -04:00
|
|
|
</div>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
React.render(<View />, document.getElementById('view'));
|