Files
Unimarket/assets/js/notifications.js
T
2025-06-23 21:41:03 +08:00

45 lines
1.3 KiB
JavaScript

// Create toast container if it doesn't exist
function ensureToastContainer() {
let container = document.querySelector('.toast-container');
if (!container) {
container = document.createElement('div');
container.className = 'toast-container';
document.body.appendChild(container);
}
return container;
}
// Show a toast notification
function showToast(message, type = 'success') {
const container = ensureToastContainer();
// Create toast element
const toast = document.createElement('div');
toast.className = `toast ${type}`;
// Add icon based on type
const icon = document.createElement('i');
icon.className = type === 'success' ? 'fas fa-check-circle' : 'fas fa-exclamation-circle';
toast.appendChild(icon);
// Add message
const messageText = document.createElement('span');
messageText.textContent = message;
toast.appendChild(messageText);
// Add to container
container.appendChild(toast);
// Trigger animation
setTimeout(() => {
toast.classList.add('show');
}, 10);
// Remove after 3 seconds
setTimeout(() => {
toast.classList.remove('show');
setTimeout(() => {
container.removeChild(toast);
}, 300);
}, 3000);
}