import React from 'react'; import { defineMessages, injectIntl } from 'react-intl'; import SideNavbar from '../widgets/side-navbar.jsx'; import ErrorPanel from '../widgets/error-panel.jsx'; import ContactsView from './contacts-view.jsx'; import CreateAccountView from './create-account-view.jsx'; import EditAccountView from './edit-account-view.jsx'; import LoginView from './login-view.jsx'; import NewTopicView from './new-topic-view.jsx'; import PasswordResetView from './password-reset-view.jsx'; import SettingsView from './settings-view.jsx'; import ValidationView from './validation-view.jsx'; // Panel titles for translation. const messages = defineMessages({ 'login': { id: 'sidepanel_title_login', description: 'Sidepanel title for LoginView.', defaultMessage: 'Sign In' }, 'register': { id: 'sidepanel_title_register', description: 'Sidepanel title for CreateAccountView.', defaultMessage: 'Create Account' }, 'settings': { id: 'sidepanel_title_settings', description: 'Sidepanel title for SettingsView.', defaultMessage: 'Settings' }, 'edit': { id: 'sidepanel_title_edit_account', description: 'Sidepanel title for EditAccountView.', defaultMessage: 'Edit Account' }, 'newtpk': { id: 'sidepanel_title_newtpk', description: 'Sidepanel title for NewTopicView.', defaultMessage: 'Start New Chat' }, 'cred': { id: 'sidepanel_title_cred', description: 'Sidepanel title for ValidationView.', defaultMessage: 'Confirm Credentials' }, 'reset': { id: 'sidepanel_title_reset', description: 'Sidepanel title for PasswordResetView.', defaultMessage: 'Reset Password' } }); class SidepanelView extends React.Component { constructor(props) { super(props); this.handleLoginRequested = this.handleLoginRequested.bind(this); } handleLoginRequested(login, password) { this.props.onLoginRequest(login, password); } render() { const {formatMessage} = this.props.intl; const view = this.props.state || (this.props.myUserId ? 'contacts' : 'login'); let title, avatar; if (view == 'contacts') { title = this.props.title; avatar = this.props.avatar ? this.props.avatar : true; } else { title = formatMessage(messages[view]); avatar = false; } let onCancel; if (['login', 'contacts'].indexOf(view) == -1) { onCancel = this.props.onCancel; } return (
{view === 'login' ? : view === 'register' ? : view === 'settings' ? : view === 'edit' ? : view === 'contacts' ? : view === 'newtpk' ? : view === 'cred' ? : view === 'reset' ? : null}
); } }; export default injectIntl(SidepanelView);