Polished previous session checker

This commit is contained in:
Keannu Christian Bernasol 2023-03-06 20:41:45 +08:00
parent c3ae196b6c
commit 9065274a18
5 changed files with 35 additions and 6 deletions

View file

@ -1,14 +1,17 @@
import * as React from "react";
import { Navigate } from "react-router-dom";
import { useDispatch, useSelector } from "react-redux";
import { LoginState } from "../../Interfaces/Interfaces";
import { useSelector } from "react-redux";
import { LoginState, OldSessionState } from "../../Interfaces/Interfaces";
export interface props {}
export default function LoginChecker() {
const logged_in = useSelector((state: LoginState) => state.logged_in.value);
if (!logged_in) {
const old_session_checked = useSelector(
(state: OldSessionState) => state.old_session_checked.value
);
if (!logged_in && old_session_checked) {
console.log("Not logged in. Redirecting to login page");
return <Navigate to="/Login" replace />;
}

View file

@ -1,11 +1,11 @@
import * as React from "react";
import { useNavigate } from "react-router-dom";
import { useEffect, useState } from "react";
import { useEffect } from "react";
import { useDispatch, useSelector } from "react-redux";
import { CheckSavedSession, UserInfo } from "../Api/Api";
import { UserInfo } from "../Api/Api";
import { toggle_login } from "../../Features/Redux/Slices/Login/LoginSlice";
import { SetUser } from "../../Features/Redux/Slices/LoggedInUserSlice/LoggedInUserSlice";
import { LoginState } from "../../Interfaces/Interfaces";
import { set_checked } from "../../Features/Redux/Slices/OldSession/OldSessionSlice";
export default function PreviousSessionChecker() {
const dispatch = useDispatch();
const logged_in = useSelector((state: LoginState) => state.logged_in.value);
@ -22,6 +22,7 @@ export default function PreviousSessionChecker() {
console.log("No old session found");
localStorage.removeItem("token");
}
await dispatch(set_checked());
}
check();
}, []);