JSFiddle - React, Tailwind, and code Playground
by Trisox
JavaScript
window.vars = {
timeoutVar: null
};
window.firstTimeoutMillis = 1000 * 10;
window.secondTimeoutMillis = 1000 * 15;
window.startTimer = function() {
console.log('startTimer')
if (window.firstTimeoutMillis !== null) {
window.stopTimer();
window.vars.timeoutVar = setTimeout(window._firstWarningAfterUnusedWhichTriggersSecondWarning, window.firstTimeoutMillis);
}
};
window.stopTimer = function() {
clearTimeout(window.vars.timeoutVar);
};
window.resetTimer = function() {
window.startTimer();
};
window.disableTimer = function() {
window.stopTimer();
window.firstTimeoutMillis = null;
};
window._firstWarningAfterUnusedWhichTriggersSecondWarning = function() {
console.log('first');
if (confirm("first") === true) {
window.stopTimer();
window.resetTimer();
} else {
window.vars.timeoutVar = setTimeout(window._secondWarningWhichTriggersSessionClean, window.secondTimeoutMillis);
}
};
window._secondWarningWhichTriggersSessionClean = function() {
console.log('second');
if (confirm("second") === true) {
window.stopTimer();
}
};
function _clearSession() {
clearTimeout(window.vars.timeoutVar);
};
window.startTimer();