mirror of
https://github.com/Grasscutters/GrassClipper.git
synced 2024-11-23 00:01:36 +00:00
45 lines
1.0 KiB
JavaScript
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)
|
|
} |