Marianielx/supplysync-pro-dashboard
0
1// Shared functions across all pages2document.addEventListener('DOMContentLoaded', () => {3 // Initialize tooltips4 const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));5 tooltipTriggerList.map(function (tooltipTriggerEl) {6 return new bootstrap.Tooltip(tooltipTriggerEl);7 });8 9 // Toast notification function10 window.showToast = (message, type = 'success') => {11 const toast = document.createElement('div');12 toast.className = `toast bg-${type === 'success' ? 'green' : 'red'}-500 text-white`;13 toast.textContent = message;14 document.body.appendChild(toast);15 toast.style.display = 'block';16 setTimeout(() => {17 toast.style.opacity = '0';18 setTimeout(() => toast.remove(), 300);19 }, 3000);20 };21});22 23// Form validation helper24function validateForm(form) {25 let isValid = true;26 const inputs = form.querySelectorAll('input[required], select[required], textarea[required]');27 28 inputs.forEach(input => {29 if (!input.value.trim()) {30 input.classList.add('border-red-500');31 isValid = false;32 } else {33 input.classList.remove('border-red-500');34 }35 });36 37 return isValid;38}39 40// Toggle mobile menu41function toggleMobileMenu() {42 const sidebar = document.querySelector('#mobile-sidebar');43 sidebar.classList.toggle('hidden');44}