diff --git a/src/js/components/Login.js b/src/js/components/Login.js index c3d22f71..17a6dc97 100644 --- a/src/js/components/Login.js +++ b/src/js/components/Login.js @@ -1,3 +1,4 @@ +import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import { connect } from 'react-redux'; import ImmutablePropTypes from 'react-immutable-proptypes'; import Formsy from 'formsy-react'; @@ -12,6 +13,38 @@ import NotificationsToaster from './notifications/NotificationsToaster'; import LogoSvg from '../../img/logo.svg'; import TripleoOwlSvg from '../../img/tripleo-owl.svg'; +const messages = defineMessages({ + username: { + id: 'Login.username', + defaultMessage: 'Username' + }, + usernameRequired: { + id: 'Login.usernameRequired', + defaultMessage: 'Username is required' + }, + password: { + id: 'Login.password', + defaultMessage: 'Password' + }, + passwordRequired: { + id: 'Login.passwordRequired', + defaultMessage: 'Password is required' + }, + login: { + id: 'Login.login', + defaultMessage: 'Log In' + }, + welcome: { + id: 'Login.welcome', + defaultMessage: 'Welcome to TripleO!' + }, + description: { + id: 'Login.description', + defaultMessage: 'TripleO will help you manage your OpenStack deployments. It\'s the best ' + + 'thing since sliced bread. We think you will really enjoy it!' + } +}); + class Login extends React.Component { constructor() { super(); @@ -52,6 +85,8 @@ class Login extends React.Component { } render() { + const { formatMessage } = this.props.intl; + return (
@@ -73,24 +108,25 @@ class Login extends React.Component { onValid={this._enableButton.bind(this)} onInvalid={this._disableButton.bind(this)}> + autoFocus/>
@@ -98,9 +134,8 @@ class Login extends React.Component {

- Welcome to TripleO!
- TripleO will help you manage your OpenStack deployments. It's the best - thing since sliced bread. We think you will really enjoy it! +
+

@@ -114,6 +149,7 @@ Login.propTypes = { dispatch: React.PropTypes.func.isRequired, formErrors: ImmutablePropTypes.list.isRequired, formFieldErrors: ImmutablePropTypes.map.isRequired, + intl: React.PropTypes.object, isAuthenticating: React.PropTypes.bool.isRequired, location: React.PropTypes.object, userLoggedIn: React.PropTypes.bool.isRequired @@ -128,4 +164,4 @@ function mapStateToProps(state) { }; } -export default connect(mapStateToProps)(Login); +export default connect(mapStateToProps)(injectIntl(Login));