mirror of
https://github.com/Grasscutters/GrassClipper.git
synced 2024-11-29 10:36:32 +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) {
|
|
displayAuthAlert(message, type, cooldown, 'login')
|
|
}
|
|
|
|
async function displayRegisterAlert(message, type, cooldown = null) {
|
|
displayAuthAlert(message, type, cooldown, 'register')
|
|
}
|
|
|
|
function displayAuthAlert(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)
|
|
} |