X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/bfaee40696c3c15556ef089e69da47bb832b08db..62c3ba8319265118432f33ea98df116253b3e785:/services/workbench2/src/views-components/login-form/login-form.tsx diff --git a/services/workbench2/src/views-components/login-form/login-form.tsx b/services/workbench2/src/views-components/login-form/login-form.tsx index 3aa9e3f25a..6c5902653b 100644 --- a/services/workbench2/src/views-components/login-form/login-form.tsx +++ b/services/workbench2/src/views-components/login-form/login-form.tsx @@ -84,27 +84,31 @@ export const LoginForm = withStyles(styles)( setHelperText(''); setSubmitting(true); handleSubmit(username, password) - .then((response) => { - setSubmitting(false); - if (response.data.uuid && response.data.api_token) { - const apiToken = `v2/${response.data.uuid}/${response.data.api_token}`; - const rd = new URL(window.location.href); - const rdUrl = rd.pathname + rd.search; - dispatch(saveApiToken(apiToken)).finally( - () => rdUrl === '/' ? dispatch(navigateToRootProject) : dispatch(replace(rdUrl)) - ); - } else { + .then((response) => { + setSubmitting(false); + if (response.data.uuid && response.data.api_token) { + const apiToken = `v2/${response.data.uuid}/${response.data.api_token}`; + const rd = new URL(window.location.href); + const rdUrl = rd.pathname + rd.search; + dispatch(saveApiToken(apiToken)).finally( + () => { + if ((new URL(window.location.href).pathname) !== '/my-account') { + rdUrl === '/' ? dispatch(navigateToRootProject) : dispatch(replace(rdUrl)) + } + } + ); + } else { + setError(true); + setHelperText(response.data.message || 'Please try again'); + setFocus(); + } + }) + .catch((err) => { setError(true); - setHelperText(response.data.message || 'Please try again'); + setSubmitting(false); + setHelperText(`${(err.response && err.response.data && err.response.data.errors[0]) || 'Error logging in: ' + err}`); setFocus(); - } - }) - .catch((err) => { - setError(true); - setSubmitting(false); - setHelperText(`${(err.response && err.response.data && err.response.data.errors[0]) || 'Error logging in: '+err}`); - setFocus(); - }); + }); }; const handleKeyPress = (e: any) => { @@ -117,38 +121,38 @@ export const LoginForm = withStyles(styles)( return ( -
- -
- - setUsername(e.target.value)} - onKeyPress={(e) => handleKeyPress(e)} - /> - setPassword(e.target.value)} - onKeyPress={(e) => handleKeyPress(e)} - /> - - - - - { isSubmitting && } -
-
-
+
+ +
+ + setUsername(e.target.value)} + onKeyPress={(e) => handleKeyPress(e)} + /> + setPassword(e.target.value)} + onKeyPress={(e) => handleKeyPress(e)} + /> + + + + + {isSubmitting && } +
+
+
); });