var React = require('react'); var CategoryHeader = require('./category-header.js'); var AppList = require('./app-list.js'); var Nav = require('./nav.js'); var AnimateMixin = require('../mixins/animate'); var actions = require('../../store/actions'); var connect = require('react-redux').connect; var logger = require('../../util/logger'); var CrossfadeImage = require('../common/crossfade-image'); var path = require('path'); var DEFAULT_PROFILE = path.join(__dirname, '..', '..', '..', 'default-profile.json'); var DEFAULT_BACKGROUND = ''; var LauncherView = React.createClass({ mixins: [AnimateMixin], getInitialState: function() { return { currentItemPath: '', currentItem: null, lastClickTimestamp: 0 }; }, componentDidMount: function() { var profilePath = process.env.PITAYA_PROFILE || DEFAULT_PROFILE; this.props.dispatch(actions.common.loadProfile(profilePath)); }, componentWillReceiveProps: function(nextProps) { if( nextProps.profile && !this.state.currentItem ) { this.setState({ currentItem: nextProps.profile }); } }, render: function() { var currentItem = this.state.currentItem; var items = currentItem && currentItem.items ? currentItem.items : []; var currentItemPath = this.state.currentItemPath; var header = currentItemPath !== '' ? ( ) : null ; var nav = currentItemPath !== '' ? (