|
@@ -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';
|
|
import { Session } from '../services';
|
|
|
|
|
|
export const Auth: React.FC = () => {
|
|
export const Auth: React.FC = () => {
|
|
|
|
+ const { reloadAuth } = useContext(AuthContext);
|
|
const [searchParams] = useSearchParams();
|
|
const [searchParams] = useSearchParams();
|
|
const token = searchParams.get('token');
|
|
const token = searchParams.get('token');
|
|
|
|
+ const navigate = useNavigate();
|
|
|
|
|
|
const baseUrl = `${window.location.protocol}//${window.location.host}`
|
|
const baseUrl = `${window.location.protocol}//${window.location.host}`
|
|
if (token) {
|
|
if (token) {
|
|
Session.setBearerToken(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 {
|
|
} else {
|
|
Session.resetLastShownComponent();
|
|
Session.resetLastShownComponent();
|
|
Session.resetBearerToken();
|
|
Session.resetBearerToken();
|