Skip to content

Instantly share code, notes, and snippets.

@sadewole
Last active January 5, 2021 13:09
Show Gist options
  • Save sadewole/8d63c6bd6f405060c808468a14a612c1 to your computer and use it in GitHub Desktop.
Save sadewole/8d63c6bd6f405060c808468a14a612c1 to your computer and use it in GitHub Desktop.
Running timeChecker func.
let timeStamp;
let warningInactiveInterval = useRef();
let startTimerInterval = useRef();
// start inactive check
let timeChecker = () => {
startTimerInterval.current = setTimeout(() => {
let storedTimeStamp = sessionStorage.getItem('lastTimeStamp');
warningInactive(storedTimeStamp);
}, 60000);
};
// reset interval timer
let resetTimer = useCallback(() => {
clearTimeout(startTimerInterval.current);
if (isAuthenticated) {
timeStamp = moment();
sessionStorage.setItem('lastTimeStamp', timeStamp);
} else {
sessionStorage.removeItem('lastTimeStamp');
}
timeChecker();
}, [isAuthenticated]);
// Life cycle hook
useEffect(() => {
events.forEach((event) => {
window.addEventListener(event, resetTimer);
});
// Run the timeChecker
timeChecker();
}, [resetTimer]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment