logout function added
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
import React, { useEffect, useState } from 'react'
|
||||
import { useDispatch, useSelector } from "react-redux";
|
||||
import { Outlet, useNavigate } from 'react-router-dom'
|
||||
import { updateUserDetails } from "../../store/UserDetails";
|
||||
import MainLoaderBS from '../loaders/MainLoaderBS'
|
||||
import Layout from '../layout/Layout'
|
||||
import siteLinks from '../../links/siteLinks'
|
||||
@@ -12,8 +14,15 @@ export default function UserExist() {
|
||||
const navigate = useNavigate()
|
||||
|
||||
const [loading, setLoading] = useState(true)
|
||||
|
||||
const dispatch = useDispatch()
|
||||
|
||||
const [lastActivityTime, setLastActivityTime] = useState(Date.now()); // HOLDS THE INITIAL TIME USER LOGS IN
|
||||
|
||||
const { userDetails: { token }} = useSelector((state) => state?.userDetails); // CHECKS IF USER Details are avaliable, to determine if user is active
|
||||
|
||||
let loggedIn = token ? true : false; // variable to determine if user is logged in
|
||||
// console.log('loggedIn', loggedIn)
|
||||
|
||||
// Function to log the user out
|
||||
const logoutUser = () => {
|
||||
@@ -49,34 +58,20 @@ export default function UserExist() {
|
||||
}
|
||||
},[lastActivityTime])
|
||||
|
||||
// Setting up event listeners for user activity
|
||||
// useEffect(() => {
|
||||
// // Listen for activity events
|
||||
// const events = ['mousemove', 'keydown', 'click', 'scroll', 'touchstart'];
|
||||
|
||||
// // Adding event listeners
|
||||
// events.forEach(event => {
|
||||
// window.addEventListener(event, resetTimer);
|
||||
// });
|
||||
|
||||
// // Start the timer initially
|
||||
// // resetTimer();
|
||||
|
||||
// // Cleanup event listeners when the component unmounts
|
||||
// return () => {
|
||||
// events.forEach(event => {
|
||||
// window.removeEventListener(event, resetTimer);
|
||||
// });
|
||||
// // if (timer) {
|
||||
// // clearTimeout(timer);
|
||||
// // setTimer(null);
|
||||
// // }
|
||||
// };
|
||||
// }, []);
|
||||
|
||||
useEffect(()=>{
|
||||
let token = localStorage.getItem('token')
|
||||
const timer = setTimeout(()=>{
|
||||
if(token && loggedIn){
|
||||
setLoading(false)
|
||||
}else if(token && !loggedIn){
|
||||
const data = {token}
|
||||
dispatch(updateUserDetails({ ...data }));
|
||||
setLoading(false)
|
||||
// dispatch(updateUserDetails({ ...res.data }));
|
||||
}else{
|
||||
navigate('auth/login')
|
||||
}
|
||||
},1000)
|
||||
|
||||
return () => clearTimeout(timer)
|
||||
|
||||
Reference in New Issue
Block a user