var React = require('react'); var render = require('../../lib/render.jsx'); var Api = require('../../mixins/api.jsx'); var Session = require('../../mixins/session.jsx'); var Activity = require('../../components/activity/activity.jsx'); var Box = require('../../components/box/box.jsx'); var Carousel = require('../../components/carousel/carousel.jsx'); var Intro = require('../../components/intro/intro.jsx'); var News = require('../../components/news/news.jsx'); require('./splash.scss'); var Splash = React.createClass({ type: 'Splash', mixins: [ Api, Session ], getInitialState: function () { return { projectCount: 10569070, activity: [], news: [], featured: require('./featured.json') }; }, getNews: function () { this.api({ uri: '/news?limit=3' }, function (err, body) { if (!err) this.setState({'news': body}); }.bind(this)); }, componentDidUpdate: function (prevProps, prevState) { if (this.state.session.user != prevState.session.user && this.state.session.user) { this.getNews(); } }, componentDidMount: function () { if (this.state.session.user) { this.getNews(); } // @todo API request for Activity // @todo API request for Featured }, render: function () { return (