diff --git a/src/components/auth.tsx b/src/components/auth.tsx index 408573d..1cd4f11 100644 --- a/src/components/auth.tsx +++ b/src/components/auth.tsx @@ -1,15 +1,26 @@ -import React from 'react'; -import { useSearchParams } from 'react-router-dom'; +import React, { useContext } from 'react'; +import { useNavigate, useSearchParams } from 'react-router-dom'; +import { AuthContext } from '../contexts'; import { Session } from '../services'; export const Auth: React.FC = () => { + const { reloadAuth } = useContext(AuthContext); const [searchParams] = useSearchParams(); const token = searchParams.get('token'); + const navigate = useNavigate(); const baseUrl = `${window.location.protocol}//${window.location.host}` if (token) { Session.setBearerToken(token); - window.location.replace(`${baseUrl}/overview`); + + const lastRoute = Session.lastShownComponent(); + if (lastRoute !== null) { + reloadAuth(); + Session.resetLastShownComponent(); + navigate(lastRoute); + } else { + window.location.replace(`${baseUrl}/overview`); + } } else { Session.resetLastShownComponent(); Session.resetBearerToken();