From 03919f7b9718d660404f551f36b2750a2789f439 Mon Sep 17 00:00:00 2001 From: Sven Czarnian Date: Sat, 5 Nov 2022 02:28:04 +0100 Subject: [PATCH] check if the login was automatically triggered --- src/components/auth.tsx | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) 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();