JSFiddle - React, Tailwind, and code Playground

by Dmitry

JavaScript

var timeout = 1, // minutes
    last_activity = new Date(),
    stop_check = false;

function updateActivity(){
    last_activity = new Date();
    console.log('Activity updated');
}

function checkActivity(){
    var date = new Date();
    if ( date.getTime() - last_activity.getTime() > timeout * 60 * 1000 ) {
        console.log('logout');
        stop_check = true;
    }
    if ( !stop_check ) {
        setTimeout(checkActivity,500);
    }
}

$(document).blur(function () {
    console.log('logout on blur if you need');
}).focus(function () {
    updateActivity();
}).mousemove(function () {
    updateActivity();
});

checkActivity();