JSFiddle - React, Tailwind, and code Playground

JavaScript

idleTimer = null;
idleState = false;
idleWait = 2000; // задаём время ожидания бездействия

(function ($) {
	$(document).ready(function () {
		$('*').bind('mousemove keydown scroll', function () {
			clearTimeout(idleTimer);
			if (idleState == true) {

				// Что делаем, когда пользователь активировался
				$("body").append("<p>С возвращением дружище!.</p>");
				// Что делаем, когда пользователь активировался

			}

			idleState = false;
			idleTimer = setTimeout(function () {

				// Что делаем при бездействии юзера больше указанного времени
				$("body").append("<p>Уже " + idleWait / 1000 + " сек. отдыхаешь! Хватит халявить!</p>");
				// Что делаем при бездействии юзера больше указанного времени

				idleState = true;
			}, idleWait);
		});

		// Инициализация
		$("body").trigger("mousemove");

	});
})(jQuery)