From: Stephen Smith Date: Wed, 20 Jul 2022 15:29:18 +0000 (-0400) Subject: 18965: Redirect to current url after login when doing password login X-Git-Tag: 2.5.0~46^2 X-Git-Url: https://git.arvados.org/arvados-workbench2.git/commitdiff_plain/bbc64c1641d37f8e793a901b93be439e7a8f229e 18965: Redirect to current url after login when doing password login Arvados-DCO-1.1-Signed-off-by: Stephen Smith --- diff --git a/src/views-components/login-form/login-form.tsx b/src/views-components/login-form/login-form.tsx index aac13642..3aa9e3f2 100644 --- a/src/views-components/login-form/login-form.tsx +++ b/src/views-components/login-form/login-form.tsx @@ -12,6 +12,7 @@ import { AxiosPromise } from 'axios'; import { DispatchProp } from 'react-redux'; import { saveApiToken } from 'store/auth/auth-action'; import { navigateToRootProject } from 'store/navigation/navigation-action'; +import { replace } from 'react-router-redux'; type CssRules = 'root' | 'loginBtn' | 'card' | 'wrapper' | 'progress'; @@ -87,8 +88,11 @@ export const LoginForm = withStyles(styles)( 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( - () => dispatch(navigateToRootProject)); + () => rdUrl === '/' ? dispatch(navigateToRootProject) : dispatch(replace(rdUrl)) + ); } else { setError(true); setHelperText(response.data.message || 'Please try again');