GrassClipper/resources/js/authAlert.js
2022-04-27 14:02:43 -07:00

45 lines
1.0 KiB
JavaScript

let alertTimeout, alertCooldown = 3000
async function displayLoginAlert(message, type, cooldown = null) {
displayAlert(message, type, cooldown, 'login')
}
async function displayRegisterAlert(message, type, cooldown = null) {
displayAlert(message, type, cooldown, 'register')
}
function displayAlert(message, type, cooldown, name) {
const elm = document.getElementById(`${name}Alert`);
const text = document.getElementById(`${name}AlertText`);
elm.style.removeProperty('display');
// Remove classification classes
elm.classList.remove('error');
elm.classList.remove('success');
elm.classList.remove('warn');
switch(type) {
case 'error':
elm.classList.add('error');
break;
case 'success':
elm.classList.add('success');
break;
case 'warn':
default:
elm.classList.add('warn');
break;
}
text.innerText = message;
clearTimeout(alertTimeout)
// Disappear after cooldown
alertTimeout = setTimeout(() => {
elm.style.display = 'none';
}, cooldown || alertCooldown)
}