'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 (