@@ -3,13 +3,14 @@ import Layout from '@theme/Layout';
3
3
import { Login } from '../features/Login/Login' ;
4
4
import useAuthParams from '../hooks/useAuthParams' ;
5
5
import { useEffect } from 'react' ;
6
- import { useLocation } from '@docusaurus/router' ;
6
+ import { Redirect , useLocation } from '@docusaurus/router' ;
7
7
import useAuthContext from '../hooks/useAuthContext' ;
8
8
9
9
export default function Auth ( ) : JSX . Element {
10
10
const { search } = useLocation ( ) ; // to get the search params
11
11
const { is_logged_in } = useAuthContext ( ) ;
12
12
const { checkUrlParams } = useAuthParams ( ) ;
13
+ const [ redirect_route , setRedirectRoute ] = React . useState < string | null > ( null ) ;
13
14
14
15
useEffect ( ( ) => {
15
16
checkUrlParams ( search ) ;
@@ -18,11 +19,15 @@ export default function Auth(): JSX.Element {
18
19
useEffect ( ( ) => {
19
20
if ( is_logged_in ) {
20
21
const params = new URLSearchParams ( search ) ;
21
- const redirect_route = params . get ( 'route' ) ?. replace ( / % 2 F / g, '/' ) || '/' ;
22
- window . location . assign ( window . location . origin + redirect_route ) ;
22
+ const redirect_route = params . get ( 'route' ) ?. replace ( / % 2 F / g, '/' ) || '/' ;
23
+ setRedirectRoute ( redirect_route ) ;
23
24
}
24
25
} , [ is_logged_in , search ] ) ;
25
26
27
+ if ( redirect_route ) {
28
+ return < Redirect to = { redirect_route } /> ;
29
+ }
30
+
26
31
return (
27
32
< Layout title = 'Auth' description = 'Deriv API documentation' >
28
33
< main >
0 commit comments