From 537697a6e9757f118d09d9e76362ba1ff617e2c6 Mon Sep 17 00:00:00 2001 From: Markus Hatvan Date: Mon, 13 Sep 2021 14:45:46 +0200 Subject: chore: upgrade intl dependencies (#1920) --- src/components/auth/Login.js | 132 ++++++++++++++++++++++++------------------- 1 file changed, 74 insertions(+), 58 deletions(-) (limited to 'src/components/auth/Login.js') diff --git a/src/components/auth/Login.js b/src/components/auth/Login.js index 9e6a8d046..a47834e19 100644 --- a/src/components/auth/Login.js +++ b/src/components/auth/Login.js @@ -2,7 +2,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { observer, inject } from 'mobx-react'; -import { defineMessages, intlShape } from 'react-intl'; +import { defineMessages, injectIntl } from 'react-intl'; import { LIVE_FRANZ_API } from '../../config'; import { API_VERSION, isDevMode, useLiveAPI } from '../../environment'; @@ -19,59 +19,61 @@ import { globalError as globalErrorPropType } from '../../prop-types'; const messages = defineMessages({ headline: { id: 'login.headline', - defaultMessage: '!!!Sign in', + defaultMessage: 'Sign in', }, emailLabel: { id: 'login.email.label', - defaultMessage: '!!!Email address', + defaultMessage: 'Email address', }, passwordLabel: { id: 'login.password.label', - defaultMessage: '!!!Password', + defaultMessage: 'Password', }, submitButtonLabel: { id: 'login.submit.label', - defaultMessage: '!!!Sign in', + defaultMessage: 'Sign in', }, invalidCredentials: { id: 'login.invalidCredentials', - defaultMessage: '!!!Email or password not valid', + defaultMessage: 'Email or password not valid', }, customServerQuestion: { id: 'login.customServerQuestion', - defaultMessage: '!!!Using a Franz account to log in?', + defaultMessage: 'Using a Franz account to log in?', }, customServerSuggestion: { id: 'login.customServerSuggestion', - defaultMessage: '!!!Try importing your Franz account into Ferdi', + defaultMessage: 'Try importing your Franz account into Ferdi', }, tokenExpired: { id: 'login.tokenExpired', - defaultMessage: '!!!Your session expired, please login again.', + defaultMessage: 'Your session expired, please login again.', }, serverLogout: { id: 'login.serverLogout', - defaultMessage: '!!!Your session expired, please login again.', + defaultMessage: 'Your session expired, please login again.', }, signupLink: { id: 'login.link.signup', - defaultMessage: '!!!Create a free account', + defaultMessage: 'Create a free account', }, changeServer: { id: 'login.changeServer', - defaultMessage: '!!!Change server', + defaultMessage: 'Change server', }, serverless: { id: 'services.serverless', - defaultMessage: '!!!Use Ferdi without an Account', + defaultMessage: 'Use Ferdi without an Account', }, passwordLink: { id: 'login.link.password', - defaultMessage: '!!!Forgot password', + defaultMessage: 'Forgot password', }, }); -export default @inject('actions') @observer class Login extends Component { +@inject('actions') +@observer +class Login extends Component { static propTypes = { onSubmit: PropTypes.func.isRequired, isSubmitting: PropTypes.bool.isRequired, @@ -84,35 +86,34 @@ export default @inject('actions') @observer class Login extends Component { actions: PropTypes.object.isRequired, }; - static contextTypes = { - intl: intlShape, - }; - - form = new Form({ - fields: { - email: { - label: this.context.intl.formatMessage(messages.emailLabel), - value: '', - validators: [required, email], - }, - password: { - label: this.context.intl.formatMessage(messages.passwordLabel), - value: '', - validators: [required], - type: 'password', + form = new Form( + { + fields: { + email: { + label: this.props.intl.formatMessage(messages.emailLabel), + value: '', + validators: [required, email], + }, + password: { + label: this.props.intl.formatMessage(messages.passwordLabel), + value: '', + validators: [required], + type: 'password', + }, }, }, - }, this.context.intl); + this.props.intl, + ); emailField = null; submit(e) { e.preventDefault(); this.form.submit({ - onSuccess: (form) => { + onSuccess: form => { this.props.onSubmit(form.values()); }, - onError: () => { }, + onError: () => {}, }); } @@ -122,7 +123,7 @@ export default @inject('actions') @observer class Login extends Component { render() { const { form } = this; - const { intl } = this.context; + const { intl } = this.props; const { isSubmitting, isTokenExpired, @@ -135,42 +136,47 @@ export default @inject('actions') @observer class Login extends Component { return (
-
this.submit(e)}> - + this.submit(e)}> +

{intl.formatMessage(messages.headline)}

{isDevMode && !useLiveAPI && ( - In Dev Mode your data is not persistent. Please use the live app for accessing the production API. + In Dev Mode your data is not persistent. Please use the live app + for accessing the production API. )} {isTokenExpired && ( -

{intl.formatMessage(messages.tokenExpired)}

+

+ {intl.formatMessage(messages.tokenExpired)} +

)} {isServerLogout && ( -

{intl.formatMessage(messages.serverLogout)}

+

+ {intl.formatMessage(messages.serverLogout)} +

)} { this.emailField = element; }} + ref={element => { + this.emailField = element; + }} focus /> - + {error.code === 'invalid-credentials' && ( <> -

{intl.formatMessage(messages.invalidCredentials)}

- { window.ferdi.stores.settings.all.app.server !== LIVE_FRANZ_API && ( +

+ {intl.formatMessage(messages.invalidCredentials)} +

+ {window.ferdi.stores.settings.all.app.server !== + LIVE_FRANZ_API && (

- {intl.formatMessage(messages.customServerQuestion)} - {' '} + {intl.formatMessage(messages.customServerQuestion)}{' '} @@ -197,12 +203,22 @@ export default @inject('actions') @observer class Login extends Component { )}

- {intl.formatMessage(messages.changeServer)} - {intl.formatMessage(messages.serverless)} - {intl.formatMessage(messages.signupLink)} - {intl.formatMessage(messages.passwordLink)} + + {intl.formatMessage(messages.changeServer)} + + + {intl.formatMessage(messages.serverless)} + + + {intl.formatMessage(messages.signupLink)} + + + {intl.formatMessage(messages.passwordLink)} +
); } } + +export default injectIntl(Login); -- cgit v1.2.3-54-g00ecf