'use strict'; import React from 'react'; import Router from 'react-router'; 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 Alt from '../alt'; 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 { mergeOptions } from '../utils/general_utils'; import { getLangText } from '../utils/lang_utils'; let Link = Router.Link; let Header = React.createClass({ mixins: [Router.Navigation], 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); }, handleLogout(){ UserActions.logoutCurrentUser(); Alt.flush(); this.transitionTo('login'); }, getLogo(){ let logo = ( ascribe ); if (this.state.whitelabel.logo){ logo = ; } return logo; }, getPoweredBy(){ if (this.state.whitelabel.logo) { return (
powered by ascribe
); } return null; }, onChange(state) { this.setState(state); }, render() { let account = null; let signup = null; let collection = null; if (this.state.currentUser.username){ account = ( {getLangText('Account Settings')}
  • {getLangText('FAQ')} {getLangText('Terms of Service')} {getLangText('Log out')}
    ); collection = COLLECTION; } else { account = {getLangText('LOGIN')}; signup = {getLangText('SIGNUP')}; } return (
    {this.getLogo()} } toggleNavKey={0}> {this.getPoweredBy()}
    ); } }); export default Header;