google callback error handling

This commit is contained in:
Gustavo Fuhr 2022-12-01 16:09:13 -03:00
parent a26499431f
commit da5dea533e
13 changed files with 89 additions and 7 deletions

View File

@ -539,5 +539,8 @@
},
"registration.callback.waiting.description": {
"defaultMessage": "Bitte warten Sie, während wir Ihre Identität überprüfen"
},
"registation.callback.error.message": {
"defaultMessage": "Beim Überprüfen Ihrer Identität bei Google ist ein Fehler aufgetreten. Sie können es auf der Anmeldeseite erneut versuchen"
}
}

View File

@ -535,6 +535,9 @@
},
"registration.callback.waiting.description": {
"defaultMessage": "Please wait while we validate your identity"
},
"registation.callback.error.message": {
"defaultMessage": "An error occurred validating your identity with Google, you can try again from the login page"
}
}

View File

@ -515,5 +515,8 @@
},
"registration.callback.waiting.description": {
"defaultMessage": "Por favor espera mientras validamos tu identidad"
},
"registation.callback.error.message": {
"defaultMessage": "Ocurrió un error al validar tu identidad con Google, puedes volver a intentarlo desde la página de inicio de sesión"
}
}

View File

@ -542,5 +542,8 @@
},
"registration.callback.waiting.description": {
"defaultMessage": "Veuillez patienter pendant que nous validons votre identité"
},
"registation.callback.error.message": {
"defaultMessage": "Une erreur s'est produite lors de la validation de votre identité auprès de Google, vous pouvez réessayer depuis la page de connexion"
}
}

View File

@ -509,5 +509,8 @@
},
"registration.callback.waiting.description": {
"defaultMessage": "Подождите, пока мы подтвердим вашу личность"
},
"registation.callback.error.message": {
"defaultMessage": "Произошла ошибка при подтверждении вашей личности в Google. Повторите попытку со страницы входа."
}
}

View File

@ -536,5 +536,8 @@
},
"registration.callback.waiting.description": {
"defaultMessage": "我们正在验证您的身份,请稍候"
},
"registation.callback.error.message": {
"defaultMessage": "使用 Google 验证您的身份时出错,您可以从登录页面重试"
}
}

View File

@ -915,6 +915,12 @@
"value": "Veröffentlichen"
}
],
"registation.callback.error.message": [
{
"type": 0,
"value": "Beim Überprüfen Ihrer Identität bei Google ist ein Fehler aufgetreten. Sie können es auf der Anmeldeseite erneut versuchen"
}
],
"registation.success-title": [
{
"type": 0,

View File

@ -907,6 +907,12 @@
"value": "Publish"
}
],
"registation.callback.error.message": [
{
"type": 0,
"value": "An error occurred validating your identity with Google, you can try again from the login page"
}
],
"registation.success-title": [
{
"type": 0,

View File

@ -861,6 +861,12 @@
"value": "Publicar"
}
],
"registation.callback.error.message": [
{
"type": 0,
"value": "Ocurrió un error al validar tu identidad con Google, puedes volver a intentarlo desde la página de inicio de sesión"
}
],
"registation.success-title": [
{
"type": 0,

View File

@ -907,6 +907,12 @@
"value": "Publier"
}
],
"registation.callback.error.message": [
{
"type": 0,
"value": "Une erreur s'est produite lors de la validation de votre identité auprès de Google, vous pouvez réessayer depuis la page de connexion"
}
],
"registation.success-title": [
{
"type": 0,

View File

@ -855,6 +855,12 @@
"value": "Опубликовать"
}
],
"registation.callback.error.message": [
{
"type": 0,
"value": "Произошла ошибка при подтверждении вашей личности в Google. Повторите попытку со страницы входа."
}
],
"registation.success-title": [
{
"type": 0,

View File

@ -903,6 +903,12 @@
"value": "发布"
}
],
"registation.callback.error.message": [
{
"type": 0,
"value": "使用 Google 验证您的身份时出错,您可以从登录页面重试"
}
],
"registation.success-title": [
{
"type": 0,

View File

@ -13,6 +13,7 @@ import { activeInstance } from '../../redux/clientSlice';
import { useNavigate } from 'react-router-dom';
import { css } from '@emotion/react';
import { CircularProgress } from '@mui/material';
import GlobalError from '../form/global-error';
const RegistrationCallbackPage = (): React.ReactElement => {
const intl = useIntl();
@ -21,6 +22,7 @@ const RegistrationCallbackPage = (): React.ReactElement => {
const [email, setEmail] = useState(undefined);
const [syncCode, setSyncCode] = useState(undefined);
const [googleSync, setGoogleSync] = useState(undefined);
const [callbackError, setCallbackError] = useState(false);
const navigate = useNavigate();
useEffect(() => {
@ -50,14 +52,10 @@ const RegistrationCallbackPage = (): React.ReactElement => {
})
.catch((error) => {
console.log('ERROR', error);
setCallbackError(true);
});
}, []);
const buttonsStyle = css({
marginLeft: '10px',
marginRight: '10px',
});
const confirmAccountSynching = () => {
client
.confirmAccountSync(email, syncCode)
@ -69,8 +67,13 @@ const RegistrationCallbackPage = (): React.ReactElement => {
});
};
const buttonsStyle = css({
marginLeft: '10px',
marginRight: '10px',
});
// if service reports that user doesnt sync accounts yet, we need to show the options
const needConfirmLinking = email && !googleSync;
const needConfirmLinking = !callbackError && email && !googleSync;
const titleKey = needConfirmLinking
? 'registration.callback.confirm.title'
: 'registration.callback.waiting.title';
@ -93,7 +96,32 @@ const RegistrationCallbackPage = (): React.ReactElement => {
<FormattedMessage id={descriptionKey} defaultMessage={descriptionDefaultValue} />
</Typography>
{!needConfirmLinking && <CircularProgress />}
{callbackError && (
<>
<GlobalError
error={{
msg: intl.formatMessage({
id: 'registation.callback.error.message',
defaultMessage:
'An error occurred validating your identity with Google, you can try again from the login page',
}),
}}
/>
<Button
color="primary"
size="medium"
variant="contained"
component={RouterLink}
to="/c/login"
disableElevation={true}
css={buttonsStyle}
>
<FormattedMessage id="registration.callback.back" defaultMessage="Back to login" />
</Button>
</>
)}
{!needConfirmLinking && !callbackError && <CircularProgress />}
{needConfirmLinking && (
<>