28 lines
644 B
JavaScript
28 lines
644 B
JavaScript
|
||
document.addEventListener('DOMContentLoaded', () => {
|
||
const toast = document.getElementById('flashToast');
|
||
if (!toast) return;
|
||
|
||
// Show it
|
||
requestAnimationFrame(() => {
|
||
toast.classList.add('show');
|
||
});
|
||
|
||
// Close on [×]
|
||
toast.querySelector('.toast__close').addEventListener('click', () => {
|
||
hideToast();
|
||
});
|
||
|
||
// Auto-hide after 3s
|
||
const hideTimeout = setTimeout(hideToast, 3000);
|
||
|
||
function hideToast(){
|
||
clearTimeout(hideTimeout);
|
||
toast.classList.add('hide');
|
||
// Remove from DOM after transition
|
||
toast.addEventListener('transitionend', () => {
|
||
toast.remove();
|
||
}, { once: true });
|
||
}
|
||
});
|