UNPKG

rap-react

Version:

To make it easy for you to get started with GitLab, here's a list of recommended next steps.

50 lines (42 loc) 1.07 kB
import { useEffect, useContext } from "react"; import { UserContext } from "../context/user/userContext"; export const AutoLogout = ({ brandCode, children }) => { const {logout} = useContext(UserContext); let timer; const handleLogoutTimer = events => { timer = setTimeout(() => { resetTimer(); Object.values(events).forEach((item) => { window.removeEventListener(item, resetTimer); }); logoutAction(); }, 900000); }; const resetTimer = () => { if (timer) clearTimeout(timer); }; useEffect(() => { const events = [ "load", "mousemove", "mousedown", "click", "scroll", "keypress", ]; const fn = () =>{ Object.values(events).forEach((item) => { window.addEventListener(item, () => { resetTimer(); handleLogoutTimer(events); }); }); } fn(); }); const logoutAction = () => { logout(); }; return children; }; export default AutoLogout;