var React = require('react'); var ReactBootstrap = require('react-bootstrap'); var Jumbotron = ReactBootstrap.Jumbotron; var Tabs = ReactBootstrap.Tabs; var Tab = ReactBootstrap.Tab; var Modal = ReactBootstrap.Modal; var TopBarContainer = require('../containers/TopBarContainer'); var RecordLunchContainer = require('../containers/RecordLunchContainer'); var AccountSettingsModalContainer = require('../containers/AccountSettingsModalContainer'); var LunchStatsContainer = require('../containers/LunchStatsContainer'); var NewUserForm = require('./NewUserForm'); module.exports = React.createClass({ displayName: "LunchApp", getInitialState: function() { return { hash: "home", showAccountSettingsModal: false }; }, componentDidMount: function() { this.props.tryResumingSession(); this.handleHashChange(); if ("onhashchange" in window) { window.onhashchange = this.handleHashChange; } }, handleHashChange: function() { var hash = location.hash.replace(/^#/, ''); if (hash.length == 0) hash = "home"; if (hash != this.state.hash) this.setHash(hash); }, setHash: function(hash) { location.hash = hash; if (this.state.hash != hash) this.setState({hash: hash}); }, handleAccountSettings: function() { this.setState({showAccountSettingsModal: true}); }, handleSettingsSubmitted: function(user) { this.setState({ showAccountSettingsModal: false }); }, handleSettingsCanceled: function() { this.setState({showAccountSettingsModal: false}); }, handleCreateNewUser: function() { this.setHash("new_user"); }, handleGoHome: function() { this.setHash("home"); }, render: function() { var mainContent; if (this.state.hash == "new_user") { mainContent = } else { if (this.props.user.isUser()) mainContent = ( ); else mainContent = (

Lunch App

); } return (
{mainContent}
); } });