'use strict'; import React from 'react'; import Router from 'react-router'; import Nav from 'react-bootstrap/lib/Nav'; import Navbar from 'react-bootstrap/lib/Navbar'; import CollapsibleNav from 'react-bootstrap/lib/CollapsibleNav'; import DropdownButton from 'react-bootstrap/lib/DropdownButton'; import MenuItem from 'react-bootstrap/lib/MenuItem'; import MenuItemLink from 'react-router-bootstrap/lib/MenuItemLink'; import NavItemLink from 'react-router-bootstrap/lib/NavItemLink'; import UserActions from '../actions/user_actions'; import UserStore from '../stores/user_store'; import WhitelabelActions from '../actions/whitelabel_actions'; import WhitelabelStore from '../stores/whitelabel_store'; import EventActions from '../actions/event_actions'; import HeaderNotifications from './header_notification'; import HeaderNotificationDebug from './header_notification_debug'; import NavRoutesLinks from './nav_routes_links'; import { mergeOptions } from '../utils/general_utils'; import { getLangText } from '../utils/lang_utils'; let Header = React.createClass({ propTypes: { showAddWork: React.PropTypes.bool, routes: React.PropTypes.element }, mixins: [Router.State], getDefaultProps() { return { showAddWork: true }; }, getInitialState() { return mergeOptions( WhitelabelStore.getState(), UserStore.getState() ); }, componentDidMount() { UserActions.fetchCurrentUser(); UserStore.listen(this.onChange); WhitelabelActions.fetchWhitelabel(); WhitelabelStore.listen(this.onChange); }, componentWillUnmount() { UserStore.unlisten(this.onChange); WhitelabelStore.unlisten(this.onChange); }, getLogo(){ let logo = ( ascribe ); if (this.state.whitelabel && this.state.whitelabel.logo){ logo = ; } return logo; }, getPoweredBy(){ if (this.state.whitelabel && this.state.whitelabel.logo) { return (
  • {getLangText('powered by')} ascribe
  • ); } return null; }, onChange(state) { this.setState(state); if(this.state.currentUser && this.state.currentUser.email) { EventActions.profileDidLoad.defer(this.state.currentUser); } }, render() { let account; let signup; let navRoutesLinks; if (this.state.currentUser.username){ account = ( {getLangText('Account Settings')} {getLangText('Log out')} ); navRoutesLinks = ; } else { account = {getLangText('LOGIN')}; signup = {getLangText('SIGNUP')}; } return (
    {navRoutesLinks}
    ); } }); export default Header;