import React from 'react'; import { connect } from 'react-redux' import i18n from 'lib-app/i18n'; import SessionActions from 'actions/session-actions'; import ConfigActions from 'actions/config-actions'; import Button from 'core-components/button'; import DropDown from 'core-components/drop-down'; let codeLanguages = { 'English': 'us', 'Spanish': 'es', 'German': 'de', 'French': 'fr', 'Chinese': 'cn', 'Turkish': 'tr', 'Indian': 'in' }; class MainLayoutHeader extends React.Component { render() { return (
{this.renderAccessLinks()}
); } renderAccessLinks() { let result; if (this.props.session.logged) { result = (
{i18n('WELCOME')}, {this.props.session.userName}
); } else { result = (
); } return result; } getLanguageSelectorProps() { return { className: 'main-layout-header__languages', items: this.getLanguageList(), selectedIndex: Object.keys(codeLanguages).map((key) => codeLanguages[key]).indexOf(this.getPropLanguage()), onChange: this.changeLanguage.bind(this) }; } getLanguageList() { return Object.keys(codeLanguages).map((language) => { return { content: language, icon: codeLanguages[language] }; }); } getPropLanguage() { let language = this.props.config.language; if (language === 'en') { language = 'us'; } return language; } changeLanguage(event) { let language = codeLanguages[Object.keys(codeLanguages)[event.index]]; if (language === 'us') { language = 'en'; } this.props.dispatch(ConfigActions.changeLanguage(language)); } } export default connect((store) => { return { session: store.session, config: store.config }; })(MainLayoutHeader);