23 lines
590 B
JavaScript
23 lines
590 B
JavaScript
const toastEl = document.getElementById('statusMessage');
|
|
|
|
export function showToast(message, type = 'info', duration = null) {
|
|
if (!toastEl) return;
|
|
|
|
toastEl.textContent = message;
|
|
toastEl.className = `status-message-toast ${type}`;
|
|
|
|
requestAnimationFrame(() => {
|
|
toastEl.classList.add('show');
|
|
});
|
|
|
|
const timeout = duration !== null ? duration : type === 'info' ? 4000 : 3000;
|
|
|
|
setTimeout(() => {
|
|
toastEl.classList.remove('show');
|
|
setTimeout(() => {
|
|
toastEl.textContent = '';
|
|
toastEl.className = 'status-message-toast';
|
|
}, 300);
|
|
}, timeout);
|
|
}
|